From fbca82117119127e84db95a2a209d58147be7c69 Mon Sep 17 00:00:00 2001 From: Dennis Decoene Date: Thu, 9 Jul 2026 22:10:05 +0200 Subject: [PATCH] release: finalize CHANGELOG and roadmap for v1.2.0 Date the v1.2.0 heading, drop the "in progress" marker from the roadmap, and record the screenshot/GIF refresh. --- CHANGELOG.md | 10 ++++++---- CLAUDE.md | 5 ++--- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 954259e..204ffe4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,7 +7,7 @@ Versions follow [Semantic Versioning](https://semver.org/) — minor bump per su --- -## [Unreleased] — v1.2.0 — TIME columns, WEEK(), grid validation, test hardening, Overtime demo +## [1.2.0] — 2026-07-09 — TIME columns, WEEK()/DATEADD(), BROWSE cell validation, Overtime demo ### Added - `TIME` column type — `CREATE TABLE ... (col TIME)` / `TIME(n)` for a minute-granularity @@ -34,13 +34,12 @@ Versions follow [Semantic Versioning](https://semver.org/) — minor bump per su to SQLite with no check at all). (#45) - `NUM(p,s)` is now a genuinely supported qualifier — the precision and scale are parsed, recorded, and enforced on grid edits (`NUM(8,2)` accepts `123456.78`, rejects `1.234`). - Previously the scale silently corrupted the schema; see Fixed. (#45) The Assistant's - **New table** wizard accepts a width (`8`) or a precision,scale pair (`8,2`). (#50) + Previously the scale silently corrupted the schema; see Fixed. The Assistant's **New table** + wizard accepts a width (`8`) or a precision,scale pair (`8,2`). (#45, #50) - `LIST STRUCTURE` prints the **declared** type of every column (`CHAR(10)`, `NUM(8,2)`, `DATE`, `TIME(15)`, `LOGICAL`, `INT`) rather than SQLite's storage class (`TEXT`/`REAL`/ `INTEGER`). Declared types are recorded per `(database, table, column)` in `server/ColumnMetaStore.ts`. (#45) - - `demos/overtime.prg` — an Overtime Tracker example app, and the showcase for this release's engine work: `TIME(15)` columns validated per-cell as you type in `BROWSE`, `WEEK()` for the ISO week number, and `DATEADD()` to walk a week's Monday through Friday. @@ -88,6 +87,9 @@ Versions follow [Semantic Versioning](https://semver.org/) — minor bump per su `form-open` / `form-submit`. (#50) - New `npm run coverage` (vitest + v8, reporting only, no thresholds), so modules no test ever executes stop hiding. (#50) +- Regenerated every `docs/screenshots/*.png` and the README `demo.gif` against v1.2.0, and + added `screenshot-grid-validation.png` showing `BROWSE` rejecting an off-quarter + `TIME(15)` edit. (#46) --- diff --git a/CLAUDE.md b/CLAUDE.md index ca37288..841a324 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -296,8 +296,7 @@ Dates/times: `DATE()`, `TIME()`, `DTOC`, `CTOD`, `YEAR`, `MONTH`, `DAY`, `WEEK`, **v1.0.0 — dBASE III parity: complete ✅.** All sub-projects below shipped, plus the closing parity commands: `?`/`??` print (#2), `SUM`/`AVERAGE` (#3), the extra built-ins (#4), `SORT ON … TO` (#8), and `COPY TO`/`APPEND FROM` CSV (#5). -Beyond-parity work (e.g. live multiuser propagation, #11) lands on the `release/v1.1.0` -line. +Beyond-parity work lands on the milestone's own `release/vX.Y.Z` line. 1. ~~Indexing & Search~~ — `INDEX ON`, `SET INDEX TO`, `SEEK`, `FIND`, `REINDEX`, `LIST INDEXES` ✅ 2. ~~Language Completeness~~ — `DO CASE/ENDCASE`, built-in functions (`EOF()`, `BOF()`, `FOUND()`, `RECNO()`, `RECCOUNT()`, `SUBSTR()`, `STR()`, `AT()`, `UPPER()`, `LOWER()`, `ROUND()`, `MOD()`, `MAX()`, `MIN()`, `TIME()`, `YEAR()`, `MONTH()`, `DAY()`, and more) ✅ @@ -315,7 +314,7 @@ line. so other sessions BROWSE-ing that table refresh automatically (#11) ✅ - ~~JOIN to materialize a combined table~~ — `JOIN WITH TO FOR [FIELDS ]`, snapshot table via SQLite join (#10) ✅ -### Beyond parity (v1.2.0 — in progress) +### Beyond parity (v1.2.0) - ~~`TIME` column type~~ — `TIME`/`TIME(n)` columns storing `HH:MM`, with a minute-granularity qualifier validated on write; declared types tracked in `server/ColumnMetaStore.ts` (#43) ✅