From 7362ec8abd1e545ecf71a4060bd4ec730f254e4f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 28 Oct 2026 19:03:07 +0000 Subject: [PATCH 1/2] Version Packages --- .changeset/compiled-module-value-plans.md | 5 --- .../compiler-javascript-line-endings.md | 5 --- .../compiler-runtime-plan-provenance.md | 5 --- .changeset/explicit-json-inputs.md | 5 --- .changeset/fix-fragment-list-plan-evidence.md | 8 ---- .changeset/immutable-json-plan-shapes.md | 5 --- .changeset/json-document-parameters.md | 6 --- .changeset/json-native-policy-evidence.md | 7 ---- .changeset/json-schema-declarations.md | 5 --- .changeset/json-validation-allocations.md | 5 --- .changeset/legacy-query-value-plans.md | 7 ---- .changeset/mysql-owned-json-wire.md | 5 --- .changeset/mysql-structured-json.md | 5 --- .changeset/native-json-output-guards.md | 7 ---- .changeset/portable-buffered-adapters.md | 11 ----- .changeset/portable-query-byte-limits.md | 5 --- .changeset/portable-vite-factories.md | 5 --- .changeset/postgres-array-null-elements.md | 5 --- .changeset/postgres-nested-json-shapes.md | 5 --- .changeset/postgres-planned-json-wire.md | 5 --- .../postgres-structured-json-operations.md | 5 --- .changeset/pre.json | 4 ++ .changeset/query-validation-ownership.md | 5 --- .changeset/query-value-plans.md | 6 --- .changeset/raw-json-runtime-validation.md | 6 --- .changeset/sql-content-mapper.md | 13 ------ .changeset/sql-factory-static-fragments.md | 5 --- .changeset/sql-loader-node-patch.md | 5 --- .changeset/sqlite-planned-values.md | 5 --- .changeset/sqlite-row-allocation.md | 7 ---- .changeset/sqlite-structured-json.md | 5 --- .changeset/structured-json-contract.md | 5 --- .../verified-structural-runtime-plans.md | 10 ----- packages/adapters/CHANGELOG.md | 26 ++++++++++++ packages/adapters/package.json | 2 +- packages/ast/CHANGELOG.md | 6 +++ packages/ast/package.json | 2 +- packages/cli/CHANGELOG.md | 27 ++++++++++++ packages/cli/package.json | 2 +- packages/compiler/CHANGELOG.md | 34 +++++++++++++++ packages/compiler/package.json | 2 +- packages/config/CHANGELOG.md | 19 +++++++++ packages/config/package.json | 2 +- packages/conformance/CHANGELOG.md | 24 +++++++++++ packages/conformance/package.json | 2 +- packages/core/CHANGELOG.md | 25 +++++++++++ packages/core/package.json | 2 +- packages/language-server/CHANGELOG.md | 26 ++++++++++++ packages/language-server/package.json | 2 +- packages/mysql/CHANGELOG.md | 40 ++++++++++++++++++ packages/mysql/package.json | 2 +- packages/opentelemetry/CHANGELOG.md | 19 +++++++++ packages/opentelemetry/package.json | 2 +- packages/postgres/CHANGELOG.md | 42 +++++++++++++++++++ packages/postgres/package.json | 2 +- packages/schema/CHANGELOG.md | 23 ++++++++++ packages/schema/package.json | 2 +- packages/sqlite/CHANGELOG.md | 39 +++++++++++++++++ packages/sqlite/package.json | 2 +- packages/ts-bridge/CHANGELOG.md | 39 +++++++++++++++++ packages/ts-bridge/package.json | 2 +- release-manifest.json | 11 ++--- 62 files changed, 413 insertions(+), 212 deletions(-) delete mode 100644 .changeset/compiled-module-value-plans.md delete mode 100644 .changeset/compiler-javascript-line-endings.md delete mode 100644 .changeset/compiler-runtime-plan-provenance.md delete mode 100644 .changeset/explicit-json-inputs.md delete mode 100644 .changeset/fix-fragment-list-plan-evidence.md delete mode 100644 .changeset/immutable-json-plan-shapes.md delete mode 100644 .changeset/json-document-parameters.md delete mode 100644 .changeset/json-native-policy-evidence.md delete mode 100644 .changeset/json-schema-declarations.md delete mode 100644 .changeset/json-validation-allocations.md delete mode 100644 .changeset/legacy-query-value-plans.md delete mode 100644 .changeset/mysql-owned-json-wire.md delete mode 100644 .changeset/mysql-structured-json.md delete mode 100644 .changeset/native-json-output-guards.md delete mode 100644 .changeset/portable-buffered-adapters.md delete mode 100644 .changeset/portable-query-byte-limits.md delete mode 100644 .changeset/portable-vite-factories.md delete mode 100644 .changeset/postgres-array-null-elements.md delete mode 100644 .changeset/postgres-nested-json-shapes.md delete mode 100644 .changeset/postgres-planned-json-wire.md delete mode 100644 .changeset/postgres-structured-json-operations.md create mode 100644 .changeset/pre.json delete mode 100644 .changeset/query-validation-ownership.md delete mode 100644 .changeset/query-value-plans.md delete mode 100644 .changeset/raw-json-runtime-validation.md delete mode 100644 .changeset/sql-content-mapper.md delete mode 100644 .changeset/sql-factory-static-fragments.md delete mode 100644 .changeset/sql-loader-node-patch.md delete mode 100644 .changeset/sqlite-planned-values.md delete mode 100644 .changeset/sqlite-row-allocation.md delete mode 100644 .changeset/sqlite-structured-json.md delete mode 100644 .changeset/structured-json-contract.md delete mode 100644 .changeset/verified-structural-runtime-plans.md diff --git a/.changeset/compiled-module-value-plans.md b/.changeset/compiled-module-value-plans.md deleted file mode 100644 index aa6d804e..00000000 --- a/.changeset/compiled-module-value-plans.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@typed-sql/compiler": patch ---- - -Prepare executable query value plans once per module and reuse them across inline query factory calls while preserving directive prologues, original diagnostic locations, and per-call parameter values. diff --git a/.changeset/compiler-javascript-line-endings.md b/.changeset/compiler-javascript-line-endings.md deleted file mode 100644 index 69ec4877..00000000 --- a/.changeset/compiler-javascript-line-endings.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@typed-sql/compiler": patch ---- - -Preserve hashbangs terminated by any JavaScript line terminator when hoisting runtime plans, and analyze CR/CRLF template content using JavaScript's cooked newline semantics. diff --git a/.changeset/compiler-runtime-plan-provenance.md b/.changeset/compiler-runtime-plan-provenance.md deleted file mode 100644 index 29e7cbd8..00000000 --- a/.changeset/compiler-runtime-plan-provenance.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@typed-sql/compiler": patch ---- - -Reject executable metadata transforms when the query structure cannot receive a runtime value plan, preventing unvalidated application JSON declarations from producing optimistic build output. diff --git a/.changeset/explicit-json-inputs.md b/.changeset/explicit-json-inputs.md deleted file mode 100644 index 4dbc124d..00000000 --- a/.changeset/explicit-json-inputs.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@typed-sql/core": minor ---- - -Add sql.json() and jsonValue() for validated JSON snapshots and explicit JSON null bindings. Preserve JSON parameter contracts through inference and check logical JSON input shapes independently of the selected text/parsed output representation. diff --git a/.changeset/fix-fragment-list-plan-evidence.md b/.changeset/fix-fragment-list-plan-evidence.md deleted file mode 100644 index 58d6c129..00000000 --- a/.changeset/fix-fragment-list-plan-evidence.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -"@typed-sql/compiler": patch ---- - -Skip optimizer-plan capture for runtime-sized mapped fragment-list queries with an explicit -`repeated-fragment-cardinality` reason. Their compiler SQL represents a list shape for analysis, -not a measured runtime cardinality, so its plan must not satisfy budgets for arbitrary list sizes. -Plan review reports these queries as unavailable and honors uncertainty failure policy. diff --git a/.changeset/immutable-json-plan-shapes.md b/.changeset/immutable-json-plan-shapes.md deleted file mode 100644 index 9c863a03..00000000 --- a/.changeset/immutable-json-plan-shapes.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@typed-sql/core": patch ---- - -Reuse core-normalized immutable JSON shapes across derived value plans, preserving caller-input snapshots and logical expansion limits while reducing retained metadata for repeated queries. diff --git a/.changeset/json-document-parameters.md b/.changeset/json-document-parameters.md deleted file mode 100644 index 2c263ad8..00000000 --- a/.changeset/json-document-parameters.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"@typed-sql/postgres": patch -"@typed-sql/mysql": patch ---- - -Preserve JSON declaration metadata on input parameters under every JSON result policy and recognize explicit JSON bindings in supported document arguments. Constructor value arguments retain ordinary SQL scalar semantics. diff --git a/.changeset/json-native-policy-evidence.md b/.changeset/json-native-policy-evidence.md deleted file mode 100644 index 415067db..00000000 --- a/.changeset/json-native-policy-evidence.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@typed-sql/core": patch -"@typed-sql/compiler": patch -"@typed-sql/postgres": patch ---- - -Verify PostgreSQL decoded JSON using native wire types without claiming independent nested shape evidence. Bind fresh and cached native proofs to the effective decoding policy, and consistently include dialect factory defaults in manifest and repeated-fragment identities. Regenerate manifests and verification proofs created with the previous default-policy identity. diff --git a/.changeset/json-schema-declarations.md b/.changeset/json-schema-declarations.md deleted file mode 100644 index 50af6233..00000000 --- a/.changeset/json-schema-declarations.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@typed-sql/schema": minor ---- - -Persist bounded structural JSON declarations and their database/application provenance through schema loading, upgrading and hashing. Add conservative JSON Schema shape projection with bounded local references and explicit rejection of unsupported composition. diff --git a/.changeset/json-validation-allocations.md b/.changeset/json-validation-allocations.md deleted file mode 100644 index fd952fc2..00000000 --- a/.changeset/json-validation-allocations.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@typed-sql/core": patch ---- - -Reduce temporary allocations while validating JSON shapes, retaining own-property, finite-value and resource checks and the existing order of reading JSON member values. diff --git a/.changeset/legacy-query-value-plans.md b/.changeset/legacy-query-value-plans.md deleted file mode 100644 index 44dbb5b2..00000000 --- a/.changeset/legacy-query-value-plans.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@typed-sql/core": patch -"@typed-sql/postgres": patch -"@typed-sql/mysql": patch ---- - -Enforce attached compiled value plans across buffered, prepared, batch, transaction, and streaming execution, including PostgreSQL pipelines. Encode JSON parameters as JSON text before driver binding, reject incompatible policies before dispatch, and validate planned results before application result schemas. Preserve MySQL JSON numeric text when the string policy is selected. diff --git a/.changeset/mysql-owned-json-wire.md b/.changeset/mysql-owned-json-wire.md deleted file mode 100644 index 2c3fd65b..00000000 --- a/.changeset/mysql-owned-json-wire.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@typed-sql/mysql": patch ---- - -Read JSON text from mysql2 and decode it once using the selected JSON policy, preventing BIGINT-safe driver settings from changing JSON numbers into strings. Preserve exact ordinary BIGINT values and add an explicit optional JSON wire fact for custom pools. diff --git a/.changeset/mysql-structured-json.md b/.changeset/mysql-structured-json.md deleted file mode 100644 index 2a34cf19..00000000 --- a/.changeset/mysql-structured-json.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@typed-sql/mysql": minor ---- - -Infer bounded nested JSON constructors, aggregates, literal paths and static mutations using the shared JSON shape model. Preserve MySQL-specific JSON conversion, nullability and array autowrap semantics, and retain runtime validation metadata for application declarations. diff --git a/.changeset/native-json-output-guards.md b/.changeset/native-json-output-guards.md deleted file mode 100644 index d23eabc1..00000000 --- a/.changeset/native-json-output-guards.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@typed-sql/core": patch -"@typed-sql/postgres": patch -"@typed-sql/mysql": patch ---- - -Preserve structured JSON validation within native PostgreSQL array results and through projections, conditional expressions and aggregates. Mark opaque JSON output columns for policy-correct decoding, and include SQL-null elements in inferred array constructor types. Preserve null-only native element guards without accepting non-null values. diff --git a/.changeset/portable-buffered-adapters.md b/.changeset/portable-buffered-adapters.md deleted file mode 100644 index ef17a02e..00000000 --- a/.changeset/portable-buffered-adapters.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -"@typed-sql/adapters": minor -"@typed-sql/postgres": minor -"@typed-sql/mysql": minor -"@typed-sql/sqlite": minor ---- - -Add explicit buffered adapters for D1, libSQL/Turso, Neon HTTP, Neon WebSocket, and Postgres.js. -Adapters enforce compiled value plans, transport precision, and truthful batch/transaction -capabilities while leaving drivers application-owned. Add portable grammar query entrypoints and -logical value descriptors without changing existing runtime entrypoint exports. diff --git a/.changeset/portable-query-byte-limits.md b/.changeset/portable-query-byte-limits.md deleted file mode 100644 index 1d36f4c9..00000000 --- a/.changeset/portable-query-byte-limits.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@typed-sql/core": patch ---- - -Preserve exact UTF-8 query size limits in runtimes without Node's Buffer global, while retaining the Node fast path. diff --git a/.changeset/portable-vite-factories.md b/.changeset/portable-vite-factories.md deleted file mode 100644 index 3db75f52..00000000 --- a/.changeset/portable-vite-factories.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@typed-sql/ts-bridge": patch ---- - -Compile SQL files and static inline queries into portable runtime factories with checked value plans through the optional Vite build plugin. SQL modules export their value plan and use the selected grammar's portable runtime entrypoint. diff --git a/.changeset/postgres-array-null-elements.md b/.changeset/postgres-array-null-elements.md deleted file mode 100644 index 1bf141dd..00000000 --- a/.changeset/postgres-array-null-elements.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@typed-sql/postgres": patch ---- - -Include null elements in catalog-backed PostgreSQL array types. PostgreSQL permits null elements independently of column nullability; literal array expressions can retain more precise element evidence. diff --git a/.changeset/postgres-nested-json-shapes.md b/.changeset/postgres-nested-json-shapes.md deleted file mode 100644 index 59e09812..00000000 --- a/.changeset/postgres-nested-json-shapes.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@typed-sql/postgres": minor ---- - -Infer nested PostgreSQL JSON object and aggregate result shapes from literal constructor keys and database JSON serialization rules. Preserve shape provenance through projections and empty-array aggregate fallbacks while keeping dynamic structures and unsupported conversions conservative. diff --git a/.changeset/postgres-planned-json-wire.md b/.changeset/postgres-planned-json-wire.md deleted file mode 100644 index 6e92880b..00000000 --- a/.changeset/postgres-planned-json-wire.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@typed-sql/postgres": patch ---- - -Preserve raw JSON text for planned node-postgres queries so application JSON validation distinguishes JSON null from SQL NULL, including native JSON arrays and streaming results. diff --git a/.changeset/postgres-structured-json-operations.md b/.changeset/postgres-structured-json-operations.md deleted file mode 100644 index d952975c..00000000 --- a/.changeset/postgres-structured-json-operations.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@typed-sql/postgres": minor ---- - -Carry bounded structured JSON descriptors through PostgreSQL constructors, aggregates and projections. Infer arrays, row/scalar conversions, literal path extraction and JSONB updates while keeping SQL nullability distinct from JSON null and preserving declared payload contracts. diff --git a/.changeset/pre.json b/.changeset/pre.json new file mode 100644 index 00000000..d1deaa4c --- /dev/null +++ b/.changeset/pre.json @@ -0,0 +1,4 @@ +{ + "mode": "pre", + "tag": "rc" +} diff --git a/.changeset/query-validation-ownership.md b/.changeset/query-validation-ownership.md deleted file mode 100644 index 2bb1f38b..00000000 --- a/.changeset/query-validation-ownership.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@typed-sql/core": patch ---- - -Reject copied query objects that would otherwise lose value plans or result validators. Keep query composition and validator wrappers owned, and reject compiled plans in the legacy generic executor when no transport decoding contract is available. diff --git a/.changeset/query-value-plans.md b/.changeset/query-value-plans.md deleted file mode 100644 index e7e3e529..00000000 --- a/.changeset/query-value-plans.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"@typed-sql/core": minor -"@typed-sql/compiler": minor ---- - -Carry immutable grammar-owned value plans into portable execution, validate JSON representations and reject incompatible transport policies before dispatch. Build transforms can request executable metadata while typechecking overlays retain their existing behavior. diff --git a/.changeset/raw-json-runtime-validation.md b/.changeset/raw-json-runtime-validation.md deleted file mode 100644 index 8b9084cb..00000000 --- a/.changeset/raw-json-runtime-validation.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"@typed-sql/core": patch -"@typed-sql/mysql": patch ---- - -Validate application-declared JSON before driver decoding can conflate JSON null with SQL NULL. Preserve JSON text through planned MySQL queries and validate structured JSON elements inside native SQL arrays. Reject parsed transports that cannot establish the declared contract. diff --git a/.changeset/sql-content-mapper.md b/.changeset/sql-content-mapper.md deleted file mode 100644 index d8dc82b3..00000000 --- a/.changeset/sql-content-mapper.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -"@typed-sql/core": minor -"@typed-sql/postgres": minor -"@typed-sql/mysql": minor -"@typed-sql/sqlite": minor -"@typed-sql/ts-bridge": minor ---- - -Add an optional grammar-owned parameter occurrence contract and an experimental TypeScript 7.1 -content mapper for SQL-file query factories. The mapper checks positional parameters and result -rows against the configured offline snapshot, reports original SQL diagnostics, and refreshes -configuration dependencies in native watch mode. An optional Node.js 24 preload executes the same -SQL files through the existing branded query and database APIs. diff --git a/.changeset/sql-factory-static-fragments.md b/.changeset/sql-factory-static-fragments.md deleted file mode 100644 index d3d2264d..00000000 --- a/.changeset/sql-factory-static-fragments.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@typed-sql/ts-bridge": patch ---- - -Reuse immutable SQL-file text fragments across factory calls while allocating fresh parameter values for each invocation. diff --git a/.changeset/sql-loader-node-patch.md b/.changeset/sql-loader-node-patch.md deleted file mode 100644 index c8497e05..00000000 --- a/.changeset/sql-loader-node-patch.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@typed-sql/ts-bridge": patch ---- - -Require Node.js 24.11.1 or newer for the optional SQL runtime preload (25.1.0 or newer on Node.js 25) so configuration loading remains compatible with CommonJS database drivers. diff --git a/.changeset/sqlite-planned-values.md b/.changeset/sqlite-planned-values.md deleted file mode 100644 index 78401a5b..00000000 --- a/.changeset/sqlite-planned-values.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@typed-sql/sqlite": minor ---- - -Honor attached query value plans for SQLite parameters, buffered results, batches and streams before application validators. Carry the configured type policy into execution and reject mismatches before dispatch while preserving unplanned-query behavior. diff --git a/.changeset/sqlite-row-allocation.md b/.changeset/sqlite-row-allocation.md deleted file mode 100644 index 88d982b5..00000000 --- a/.changeset/sqlite-row-allocation.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@typed-sql/sqlite": patch ---- - -Reduce temporary row-copy allocations in the Node SQLite adapter while preserving storage-value conversion and special column names. - -Avoid redundant promise wrappers around synchronous SQLite dispatch and queries without a result validator. Public methods remain asynchronous and use the existing transaction and stream ownership queue. diff --git a/.changeset/sqlite-structured-json.md b/.changeset/sqlite-structured-json.md deleted file mode 100644 index 883e8835..00000000 --- a/.changeset/sqlite-structured-json.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@typed-sql/sqlite": minor ---- - -Track JSON shapes through SQLite constructors, aggregates, extraction, paths and mutations while preserving native TEXT, JSONB and scalar storage behavior. The optional `json: "parsed"` policy produces structured application values only when compiled runtime validation is enabled; existing policies retain JSON text. diff --git a/.changeset/structured-json-contract.md b/.changeset/structured-json-contract.md deleted file mode 100644 index c6288ffa..00000000 --- a/.changeset/structured-json-contract.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@typed-sql/core": minor ---- - -Add bounded, grammar-neutral JSON structure descriptors, type rendering, literal path and structural update helpers, and finite JSON payload validation. Resolved fields can describe their desired parsed, text or binary JSON representation independently of SQL nullability. diff --git a/.changeset/verified-structural-runtime-plans.md b/.changeset/verified-structural-runtime-plans.md deleted file mode 100644 index acc5d3a1..00000000 --- a/.changeset/verified-structural-runtime-plans.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -"@typed-sql/core": patch -"@typed-sql/compiler": patch -"@typed-sql/postgres": patch -"@typed-sql/mysql": patch -"@typed-sql/sqlite": patch -"@typed-sql/ts-bridge": patch ---- - -Verify executable value plans against bounded conditional and repeated query structures. Preserve validators when composing queries, require fresh metadata for changed SQL, and route generated runtime imports through the selected grammar entrypoint. diff --git a/packages/adapters/CHANGELOG.md b/packages/adapters/CHANGELOG.md index 16989b5b..dc779e99 100644 --- a/packages/adapters/CHANGELOG.md +++ b/packages/adapters/CHANGELOG.md @@ -1 +1,27 @@ # @typed-sql/adapters + +## 2.3.0-rc.0 + +### Minor Changes + +- b24279d: Add explicit buffered adapters for D1, libSQL/Turso, Neon HTTP, Neon WebSocket, and Postgres.js. + Adapters enforce compiled value plans, transport precision, and truthful batch/transaction + capabilities while leaving drivers application-owned. Add portable grammar query entrypoints and + logical value descriptors without changing existing runtime entrypoint exports. + +### Patch Changes + +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [19f37d9] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [19f37d9] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] + - @typed-sql/core@2.3.0-rc.0 diff --git a/packages/adapters/package.json b/packages/adapters/package.json index bc5c510a..e78f2b0f 100644 --- a/packages/adapters/package.json +++ b/packages/adapters/package.json @@ -1,6 +1,6 @@ { "name": "@typed-sql/adapters", - "version": "2.2.0", + "version": "2.3.0-rc.0", "description": "Explicit buffered database adapters for D1, libSQL, Neon and Postgres.js.", "license": "MIT", "author": "Lojhan", diff --git a/packages/ast/CHANGELOG.md b/packages/ast/CHANGELOG.md index 23fb2bc2..90b85ac7 100644 --- a/packages/ast/CHANGELOG.md +++ b/packages/ast/CHANGELOG.md @@ -1,5 +1,11 @@ # @typed-sql/ast +## 2.3.0-rc.0 + +### Patch Changes + +- Publish the coherent 2.3.0-rc.0 release-candidate train. + ## 2.2.0 This release promotes the changes documented in 2.2.0-rc.0 to stable. diff --git a/packages/ast/package.json b/packages/ast/package.json index f309d73b..eb618966 100644 --- a/packages/ast/package.json +++ b/packages/ast/package.json @@ -1,6 +1,6 @@ { "name": "@typed-sql/ast", - "version": "2.2.0", + "version": "2.3.0-rc.0", "description": "Grammar-neutral SQL source ranges, tokenizer profiles, bounded cursors, and parser utilities for typed-sql.", "license": "MIT", "author": "Lojhan", diff --git a/packages/cli/CHANGELOG.md b/packages/cli/CHANGELOG.md index 8a9e0c06..aa459f65 100644 --- a/packages/cli/CHANGELOG.md +++ b/packages/cli/CHANGELOG.md @@ -1,5 +1,32 @@ # @typed-sql/cli +## 2.3.0-rc.0 + +### Patch Changes + +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [702bc16] +- Updated dependencies [b24279d] +- Updated dependencies [19f37d9] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [19f37d9] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] + - @typed-sql/compiler@2.3.0-rc.0 + - @typed-sql/core@2.3.0-rc.0 + - @typed-sql/schema@2.3.0-rc.0 + - @typed-sql/config@2.3.0-rc.0 + ## 2.2.0 This release promotes the changes documented in 2.2.0-rc.0 to stable. diff --git a/packages/cli/package.json b/packages/cli/package.json index c1dc0e33..1c94f1d0 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@typed-sql/cli", - "version": "2.2.0", + "version": "2.3.0-rc.0", "description": "Config-driven typed-sql generation, checking, verification, and migration compatibility CLI.", "license": "MIT", "author": "Lojhan", diff --git a/packages/compiler/CHANGELOG.md b/packages/compiler/CHANGELOG.md index c53c3db4..4b3ff811 100644 --- a/packages/compiler/CHANGELOG.md +++ b/packages/compiler/CHANGELOG.md @@ -1,5 +1,39 @@ # @typed-sql/compiler +## 2.3.0-rc.0 + +### Minor Changes + +- b24279d: Carry immutable grammar-owned value plans into portable execution, validate JSON representations and reject incompatible transport policies before dispatch. Build transforms can request executable metadata while typechecking overlays retain their existing behavior. + +### Patch Changes + +- b24279d: Prepare executable query value plans once per module and reuse them across inline query factory calls while preserving directive prologues, original diagnostic locations, and per-call parameter values. +- b24279d: Preserve hashbangs terminated by any JavaScript line terminator when hoisting runtime plans, and analyze CR/CRLF template content using JavaScript's cooked newline semantics. +- b24279d: Reject executable metadata transforms when the query structure cannot receive a runtime value plan, preventing unvalidated application JSON declarations from producing optimistic build output. +- 702bc16: Skip optimizer-plan capture for runtime-sized mapped fragment-list queries with an explicit + `repeated-fragment-cardinality` reason. Their compiler SQL represents a list shape for analysis, + not a measured runtime cardinality, so its plan must not satisfy budgets for arbitrary list sizes. + Plan review reports these queries as unavailable and honors uncertainty failure policy. +- 19f37d9: Verify PostgreSQL decoded JSON using native wire types without claiming independent nested shape evidence. Bind fresh and cached native proofs to the effective decoding policy, and consistently include dialect factory defaults in manifest and repeated-fragment identities. Regenerate manifests and verification proofs created with the previous default-policy identity. +- b24279d: Verify executable value plans against bounded conditional and repeated query structures. Preserve validators when composing queries, require fresh metadata for changed SQL, and route generated runtime imports through the selected grammar entrypoint. +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [19f37d9] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [19f37d9] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] + - @typed-sql/core@2.3.0-rc.0 + - @typed-sql/schema@2.3.0-rc.0 + ## 2.2.0 This release promotes the changes documented in 2.2.0-rc.0 to stable. diff --git a/packages/compiler/package.json b/packages/compiler/package.json index f320fc45..81e37b2e 100644 --- a/packages/compiler/package.json +++ b/packages/compiler/package.json @@ -1,6 +1,6 @@ { "name": "@typed-sql/compiler", - "version": "2.2.0", + "version": "2.3.0-rc.0", "description": "Dialect-neutral TypeScript source compilation, query evidence, and migration compatibility.", "license": "MIT", "author": "Lojhan", diff --git a/packages/config/CHANGELOG.md b/packages/config/CHANGELOG.md index 1e3837ff..fff7ab4d 100644 --- a/packages/config/CHANGELOG.md +++ b/packages/config/CHANGELOG.md @@ -1,5 +1,24 @@ # @typed-sql/config +## 2.3.0-rc.0 + +### Patch Changes + +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [19f37d9] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [19f37d9] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] + - @typed-sql/core@2.3.0-rc.0 + ## 2.2.0 This release promotes the changes documented in 2.2.0-rc.0 to stable. diff --git a/packages/config/package.json b/packages/config/package.json index e48695bf..09cb9390 100644 --- a/packages/config/package.json +++ b/packages/config/package.json @@ -1,6 +1,6 @@ { "name": "@typed-sql/config", - "version": "2.2.0", + "version": "2.3.0-rc.0", "description": "Shared typed-sql config discovery and TypeScript config loading.", "license": "MIT", "author": "Lojhan", diff --git a/packages/conformance/CHANGELOG.md b/packages/conformance/CHANGELOG.md index 8fecc861..2fc14923 100644 --- a/packages/conformance/CHANGELOG.md +++ b/packages/conformance/CHANGELOG.md @@ -1,5 +1,29 @@ # @typed-sql/conformance +## 2.3.0-rc.0 + +### Patch Changes + +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [702bc16] +- Updated dependencies [b24279d] +- Updated dependencies [19f37d9] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [19f37d9] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] + - @typed-sql/compiler@2.3.0-rc.0 + - @typed-sql/core@2.3.0-rc.0 + ## 2.2.0 This release promotes the changes documented in 2.2.0-rc.0 to stable. diff --git a/packages/conformance/package.json b/packages/conformance/package.json index bb3cdd86..29dbb115 100644 --- a/packages/conformance/package.json +++ b/packages/conformance/package.json @@ -1,6 +1,6 @@ { "name": "@typed-sql/conformance", - "version": "2.2.0", + "version": "2.3.0-rc.0", "description": "Public grammar, capability, codec, and performance conformance kit for typed-sql dialects.", "license": "MIT", "author": "Lojhan", diff --git a/packages/core/CHANGELOG.md b/packages/core/CHANGELOG.md index 1525074b..efea7b02 100644 --- a/packages/core/CHANGELOG.md +++ b/packages/core/CHANGELOG.md @@ -1,5 +1,30 @@ # @typed-sql/core +## 2.3.0-rc.0 + +### Minor Changes + +- b24279d: Add sql.json() and jsonValue() for validated JSON snapshots and explicit JSON null bindings. Preserve JSON parameter contracts through inference and check logical JSON input shapes independently of the selected text/parsed output representation. +- b24279d: Carry immutable grammar-owned value plans into portable execution, validate JSON representations and reject incompatible transport policies before dispatch. Build transforms can request executable metadata while typechecking overlays retain their existing behavior. +- 19f37d9: Add an optional grammar-owned parameter occurrence contract and an experimental TypeScript 7.1 + content mapper for SQL-file query factories. The mapper checks positional parameters and result + rows against the configured offline snapshot, reports original SQL diagnostics, and refreshes + configuration dependencies in native watch mode. An optional Node.js 24 preload executes the same + SQL files through the existing branded query and database APIs. +- b24279d: Add bounded, grammar-neutral JSON structure descriptors, type rendering, literal path and structural update helpers, and finite JSON payload validation. Resolved fields can describe their desired parsed, text or binary JSON representation independently of SQL nullability. + +### Patch Changes + +- b24279d: Reuse core-normalized immutable JSON shapes across derived value plans, preserving caller-input snapshots and logical expansion limits while reducing retained metadata for repeated queries. +- 19f37d9: Verify PostgreSQL decoded JSON using native wire types without claiming independent nested shape evidence. Bind fresh and cached native proofs to the effective decoding policy, and consistently include dialect factory defaults in manifest and repeated-fragment identities. Regenerate manifests and verification proofs created with the previous default-policy identity. +- b24279d: Reduce temporary allocations while validating JSON shapes, retaining own-property, finite-value and resource checks and the existing order of reading JSON member values. +- b24279d: Enforce attached compiled value plans across buffered, prepared, batch, transaction, and streaming execution, including PostgreSQL pipelines. Encode JSON parameters as JSON text before driver binding, reject incompatible policies before dispatch, and validate planned results before application result schemas. Preserve MySQL JSON numeric text when the string policy is selected. +- b24279d: Preserve structured JSON validation within native PostgreSQL array results and through projections, conditional expressions and aggregates. Mark opaque JSON output columns for policy-correct decoding, and include SQL-null elements in inferred array constructor types. Preserve null-only native element guards without accepting non-null values. +- b24279d: Preserve exact UTF-8 query size limits in runtimes without Node's Buffer global, while retaining the Node fast path. +- b24279d: Reject copied query objects that would otherwise lose value plans or result validators. Keep query composition and validator wrappers owned, and reject compiled plans in the legacy generic executor when no transport decoding contract is available. +- b24279d: Validate application-declared JSON before driver decoding can conflate JSON null with SQL NULL. Preserve JSON text through planned MySQL queries and validate structured JSON elements inside native SQL arrays. Reject parsed transports that cannot establish the declared contract. +- b24279d: Verify executable value plans against bounded conditional and repeated query structures. Preserve validators when composing queries, require fresh metadata for changed SQL, and route generated runtime imports through the selected grammar entrypoint. + ## 2.2.0 This release promotes the changes documented in 2.2.0-rc.0 to stable. diff --git a/packages/core/package.json b/packages/core/package.json index e53ce3f6..f8fc108a 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@typed-sql/core", - "version": "2.2.0", + "version": "2.3.0-rc.0", "description": "Driver- and dialect-neutral typed SQL query contracts.", "license": "MIT", "author": "Lojhan", diff --git a/packages/language-server/CHANGELOG.md b/packages/language-server/CHANGELOG.md index 3066025f..4488b197 100644 --- a/packages/language-server/CHANGELOG.md +++ b/packages/language-server/CHANGELOG.md @@ -1,5 +1,31 @@ # @typed-sql/language-server +## 2.3.0-rc.0 + +### Patch Changes + +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [19f37d9] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [19f37d9] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] + - @typed-sql/core@2.3.0-rc.0 + - @typed-sql/schema@2.3.0-rc.0 + - @typed-sql/ts-bridge@2.3.0-rc.0 + - @typed-sql/config@2.3.0-rc.0 + ## 2.2.0-rc.0 ### Minor Changes diff --git a/packages/language-server/package.json b/packages/language-server/package.json index 0a98386a..76cdba62 100644 --- a/packages/language-server/package.json +++ b/packages/language-server/package.json @@ -1,6 +1,6 @@ { "name": "@typed-sql/language-server", - "version": "2.2.0-rc.0", + "version": "2.3.0-rc.0", "description": "Experimental grammar-agnostic TypeScript 7 language server for typed-sql.", "license": "MIT", "author": "Lojhan", diff --git a/packages/mysql/CHANGELOG.md b/packages/mysql/CHANGELOG.md index 5b0e2152..653a14ed 100644 --- a/packages/mysql/CHANGELOG.md +++ b/packages/mysql/CHANGELOG.md @@ -1,5 +1,45 @@ # @typed-sql/mysql +## 2.3.0-rc.0 + +### Minor Changes + +- b24279d: Infer bounded nested JSON constructors, aggregates, literal paths and static mutations using the shared JSON shape model. Preserve MySQL-specific JSON conversion, nullability and array autowrap semantics, and retain runtime validation metadata for application declarations. +- b24279d: Add explicit buffered adapters for D1, libSQL/Turso, Neon HTTP, Neon WebSocket, and Postgres.js. + Adapters enforce compiled value plans, transport precision, and truthful batch/transaction + capabilities while leaving drivers application-owned. Add portable grammar query entrypoints and + logical value descriptors without changing existing runtime entrypoint exports. +- 19f37d9: Add an optional grammar-owned parameter occurrence contract and an experimental TypeScript 7.1 + content mapper for SQL-file query factories. The mapper checks positional parameters and result + rows against the configured offline snapshot, reports original SQL diagnostics, and refreshes + configuration dependencies in native watch mode. An optional Node.js 24 preload executes the same + SQL files through the existing branded query and database APIs. + +### Patch Changes + +- b24279d: Preserve JSON declaration metadata on input parameters under every JSON result policy and recognize explicit JSON bindings in supported document arguments. Constructor value arguments retain ordinary SQL scalar semantics. +- b24279d: Enforce attached compiled value plans across buffered, prepared, batch, transaction, and streaming execution, including PostgreSQL pipelines. Encode JSON parameters as JSON text before driver binding, reject incompatible policies before dispatch, and validate planned results before application result schemas. Preserve MySQL JSON numeric text when the string policy is selected. +- b24279d: Read JSON text from mysql2 and decode it once using the selected JSON policy, preventing BIGINT-safe driver settings from changing JSON numbers into strings. Preserve exact ordinary BIGINT values and add an explicit optional JSON wire fact for custom pools. +- b24279d: Preserve structured JSON validation within native PostgreSQL array results and through projections, conditional expressions and aggregates. Mark opaque JSON output columns for policy-correct decoding, and include SQL-null elements in inferred array constructor types. Preserve null-only native element guards without accepting non-null values. +- b24279d: Validate application-declared JSON before driver decoding can conflate JSON null with SQL NULL. Preserve JSON text through planned MySQL queries and validate structured JSON elements inside native SQL arrays. Reject parsed transports that cannot establish the declared contract. +- b24279d: Verify executable value plans against bounded conditional and repeated query structures. Preserve validators when composing queries, require fresh metadata for changed SQL, and route generated runtime imports through the selected grammar entrypoint. +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [19f37d9] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [19f37d9] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] + - @typed-sql/core@2.3.0-rc.0 + - @typed-sql/schema@2.3.0-rc.0 + ## 2.2.0 This release promotes the changes documented in 2.2.0-rc.0 to stable. diff --git a/packages/mysql/package.json b/packages/mysql/package.json index 5c1e9ed3..214af0ce 100644 --- a/packages/mysql/package.json +++ b/packages/mysql/package.json @@ -1,6 +1,6 @@ { "name": "@typed-sql/mysql", - "version": "2.2.0", + "version": "2.3.0-rc.0", "description": "MySQL grammar, schema introspection, type resolution, and application-owned mysql2 integration for typed-sql.", "license": "MIT", "author": "Lojhan", diff --git a/packages/opentelemetry/CHANGELOG.md b/packages/opentelemetry/CHANGELOG.md index de3a2de1..b9a9b6e7 100644 --- a/packages/opentelemetry/CHANGELOG.md +++ b/packages/opentelemetry/CHANGELOG.md @@ -1,5 +1,24 @@ # @typed-sql/opentelemetry +## 2.3.0-rc.0 + +### Patch Changes + +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [19f37d9] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [19f37d9] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] + - @typed-sql/core@2.3.0-rc.0 + ## 2.2.0 This release promotes the changes documented in 2.2.0-rc.0 to stable. diff --git a/packages/opentelemetry/package.json b/packages/opentelemetry/package.json index b267d4ad..bec08610 100644 --- a/packages/opentelemetry/package.json +++ b/packages/opentelemetry/package.json @@ -1,6 +1,6 @@ { "name": "@typed-sql/opentelemetry", - "version": "2.2.0", + "version": "2.3.0-rc.0", "description": "Optional OpenTelemetry tracing integration for typed-sql database observers.", "license": "MIT", "author": "Lojhan", diff --git a/packages/postgres/CHANGELOG.md b/packages/postgres/CHANGELOG.md index f037fcc5..f0f4e5e6 100644 --- a/packages/postgres/CHANGELOG.md +++ b/packages/postgres/CHANGELOG.md @@ -1,5 +1,47 @@ # @typed-sql/postgres +## 2.3.0-rc.0 + +### Minor Changes + +- b24279d: Add explicit buffered adapters for D1, libSQL/Turso, Neon HTTP, Neon WebSocket, and Postgres.js. + Adapters enforce compiled value plans, transport precision, and truthful batch/transaction + capabilities while leaving drivers application-owned. Add portable grammar query entrypoints and + logical value descriptors without changing existing runtime entrypoint exports. +- 19f37d9: Infer nested PostgreSQL JSON object and aggregate result shapes from literal constructor keys and database JSON serialization rules. Preserve shape provenance through projections and empty-array aggregate fallbacks while keeping dynamic structures and unsupported conversions conservative. +- b24279d: Carry bounded structured JSON descriptors through PostgreSQL constructors, aggregates and projections. Infer arrays, row/scalar conversions, literal path extraction and JSONB updates while keeping SQL nullability distinct from JSON null and preserving declared payload contracts. +- 19f37d9: Add an optional grammar-owned parameter occurrence contract and an experimental TypeScript 7.1 + content mapper for SQL-file query factories. The mapper checks positional parameters and result + rows against the configured offline snapshot, reports original SQL diagnostics, and refreshes + configuration dependencies in native watch mode. An optional Node.js 24 preload executes the same + SQL files through the existing branded query and database APIs. + +### Patch Changes + +- b24279d: Preserve JSON declaration metadata on input parameters under every JSON result policy and recognize explicit JSON bindings in supported document arguments. Constructor value arguments retain ordinary SQL scalar semantics. +- 19f37d9: Verify PostgreSQL decoded JSON using native wire types without claiming independent nested shape evidence. Bind fresh and cached native proofs to the effective decoding policy, and consistently include dialect factory defaults in manifest and repeated-fragment identities. Regenerate manifests and verification proofs created with the previous default-policy identity. +- b24279d: Enforce attached compiled value plans across buffered, prepared, batch, transaction, and streaming execution, including PostgreSQL pipelines. Encode JSON parameters as JSON text before driver binding, reject incompatible policies before dispatch, and validate planned results before application result schemas. Preserve MySQL JSON numeric text when the string policy is selected. +- b24279d: Preserve structured JSON validation within native PostgreSQL array results and through projections, conditional expressions and aggregates. Mark opaque JSON output columns for policy-correct decoding, and include SQL-null elements in inferred array constructor types. Preserve null-only native element guards without accepting non-null values. +- b24279d: Include null elements in catalog-backed PostgreSQL array types. PostgreSQL permits null elements independently of column nullability; literal array expressions can retain more precise element evidence. +- b24279d: Preserve raw JSON text for planned node-postgres queries so application JSON validation distinguishes JSON null from SQL NULL, including native JSON arrays and streaming results. +- b24279d: Verify executable value plans against bounded conditional and repeated query structures. Preserve validators when composing queries, require fresh metadata for changed SQL, and route generated runtime imports through the selected grammar entrypoint. +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [19f37d9] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [19f37d9] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] + - @typed-sql/core@2.3.0-rc.0 + - @typed-sql/schema@2.3.0-rc.0 + ## 2.2.0 This release promotes the changes documented in 2.2.0-rc.0 to stable. diff --git a/packages/postgres/package.json b/packages/postgres/package.json index c700f781..0f5f3a2f 100644 --- a/packages/postgres/package.json +++ b/packages/postgres/package.json @@ -1,6 +1,6 @@ { "name": "@typed-sql/postgres", - "version": "2.2.0", + "version": "2.3.0-rc.0", "description": "PostgreSQL grammar, schema introspection, type resolution, and driver-neutral runtime codecs for typed-sql.", "license": "MIT", "author": "Lojhan", diff --git a/packages/schema/CHANGELOG.md b/packages/schema/CHANGELOG.md index 317e7623..b1b646d5 100644 --- a/packages/schema/CHANGELOG.md +++ b/packages/schema/CHANGELOG.md @@ -1,5 +1,28 @@ # @typed-sql/schema +## 2.3.0-rc.0 + +### Minor Changes + +- b24279d: Persist bounded structural JSON declarations and their database/application provenance through schema loading, upgrading and hashing. Add conservative JSON Schema shape projection with bounded local references and explicit rejection of unsupported composition. + +### Patch Changes + +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [19f37d9] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [19f37d9] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] + - @typed-sql/core@2.3.0-rc.0 + ## 2.2.0 This release promotes the changes documented in 2.2.0-rc.0 to stable. diff --git a/packages/schema/package.json b/packages/schema/package.json index 533cf6fb..6fd1374b 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -1,6 +1,6 @@ { "name": "@typed-sql/schema", - "version": "2.2.0", + "version": "2.3.0-rc.0", "description": "Versioned typed-sql schema snapshots, deterministic generation, and drift checks.", "license": "MIT", "author": "Lojhan", diff --git a/packages/sqlite/CHANGELOG.md b/packages/sqlite/CHANGELOG.md index 2976434e..1419fcfb 100644 --- a/packages/sqlite/CHANGELOG.md +++ b/packages/sqlite/CHANGELOG.md @@ -1,5 +1,44 @@ # @typed-sql/sqlite +## 2.3.0-rc.0 + +### Minor Changes + +- b24279d: Add explicit buffered adapters for D1, libSQL/Turso, Neon HTTP, Neon WebSocket, and Postgres.js. + Adapters enforce compiled value plans, transport precision, and truthful batch/transaction + capabilities while leaving drivers application-owned. Add portable grammar query entrypoints and + logical value descriptors without changing existing runtime entrypoint exports. +- 19f37d9: Add an optional grammar-owned parameter occurrence contract and an experimental TypeScript 7.1 + content mapper for SQL-file query factories. The mapper checks positional parameters and result + rows against the configured offline snapshot, reports original SQL diagnostics, and refreshes + configuration dependencies in native watch mode. An optional Node.js 24 preload executes the same + SQL files through the existing branded query and database APIs. +- b24279d: Honor attached query value plans for SQLite parameters, buffered results, batches and streams before application validators. Carry the configured type policy into execution and reject mismatches before dispatch while preserving unplanned-query behavior. +- b24279d: Track JSON shapes through SQLite constructors, aggregates, extraction, paths and mutations while preserving native TEXT, JSONB and scalar storage behavior. The optional `json: "parsed"` policy produces structured application values only when compiled runtime validation is enabled; existing policies retain JSON text. + +### Patch Changes + +- b24279d: Reduce temporary row-copy allocations in the Node SQLite adapter while preserving storage-value conversion and special column names. + + Avoid redundant promise wrappers around synchronous SQLite dispatch and queries without a result validator. Public methods remain asynchronous and use the existing transaction and stream ownership queue. +- b24279d: Verify executable value plans against bounded conditional and repeated query structures. Preserve validators when composing queries, require fresh metadata for changed SQL, and route generated runtime imports through the selected grammar entrypoint. +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [19f37d9] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [19f37d9] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] + - @typed-sql/core@2.3.0-rc.0 + - @typed-sql/schema@2.3.0-rc.0 + ## 2.2.0 This release promotes the changes documented in 2.2.0-rc.0 to stable. diff --git a/packages/sqlite/package.json b/packages/sqlite/package.json index 635acc56..c64a2914 100644 --- a/packages/sqlite/package.json +++ b/packages/sqlite/package.json @@ -1,6 +1,6 @@ { "name": "@typed-sql/sqlite", - "version": "2.2.0", + "version": "2.3.0-rc.0", "description": "SQLite grammar, sound schema introspection, type resolution, and optional application-owned adapters for typed-sql.", "license": "MIT", "author": "Lojhan", diff --git a/packages/ts-bridge/CHANGELOG.md b/packages/ts-bridge/CHANGELOG.md index a12165ab..7d68f46f 100644 --- a/packages/ts-bridge/CHANGELOG.md +++ b/packages/ts-bridge/CHANGELOG.md @@ -1,5 +1,44 @@ # @typed-sql/ts-bridge +## 2.3.0-rc.0 + +### Minor Changes + +- 19f37d9: Add an optional grammar-owned parameter occurrence contract and an experimental TypeScript 7.1 + content mapper for SQL-file query factories. The mapper checks positional parameters and result + rows against the configured offline snapshot, reports original SQL diagnostics, and refreshes + configuration dependencies in native watch mode. An optional Node.js 24 preload executes the same + SQL files through the existing branded query and database APIs. + +### Patch Changes + +- b24279d: Compile SQL files and static inline queries into portable runtime factories with checked value plans through the optional Vite build plugin. SQL modules export their value plan and use the selected grammar's portable runtime entrypoint. +- b24279d: Reuse immutable SQL-file text fragments across factory calls while allocating fresh parameter values for each invocation. +- b24279d: Require Node.js 24.11.1 or newer for the optional SQL runtime preload (25.1.0 or newer on Node.js 25) so configuration loading remains compatible with CommonJS database drivers. +- b24279d: Verify executable value plans against bounded conditional and repeated query structures. Preserve validators when composing queries, require fresh metadata for changed SQL, and route generated runtime imports through the selected grammar entrypoint. +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [702bc16] +- Updated dependencies [b24279d] +- Updated dependencies [19f37d9] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] +- Updated dependencies [19f37d9] +- Updated dependencies [b24279d] +- Updated dependencies [b24279d] + - @typed-sql/compiler@2.3.0-rc.0 + - @typed-sql/core@2.3.0-rc.0 + - @typed-sql/schema@2.3.0-rc.0 + - @typed-sql/config@2.3.0-rc.0 + ## 2.2.0-rc.0 ### Patch Changes diff --git a/packages/ts-bridge/package.json b/packages/ts-bridge/package.json index 73d9862b..1c3114a4 100644 --- a/packages/ts-bridge/package.json +++ b/packages/ts-bridge/package.json @@ -1,6 +1,6 @@ { "name": "@typed-sql/ts-bridge", - "version": "2.2.0-rc.0", + "version": "2.3.0-rc.0", "description": "Experimental TypeScript 7 preview semantic bridge for typed-sql query inference.", "license": "MIT", "author": "Lojhan", diff --git a/release-manifest.json b/release-manifest.json index d8dd3c45..1a79b619 100644 --- a/release-manifest.json +++ b/release-manifest.json @@ -1,8 +1,7 @@ { - "channel": "stable", - "series": "2.2.0", - "npmTag": "latest", - "sourceCandidate": "2.2.0-rc.0", + "channel": "rc", + "series": "2.3.0", + "npmTag": "next", "packages": [ "@typed-sql/core", "@typed-sql/opentelemetry", @@ -15,7 +14,9 @@ "@typed-sql/mysql", "@typed-sql/sqlite", "@typed-sql/cli", - "@typed-sql/adapters" + "@typed-sql/adapters", + "@typed-sql/ts-bridge", + "@typed-sql/language-server" ], "packagePolicy": { "stable": [ From aef58ace9e3828b02ad5eb156bb40c171b3f0922 Mon Sep 17 00:00:00 2001 From: lojhan Date: Wed, 28 Oct 2026 16:23:28 -0300 Subject: [PATCH 2/2] Document the 2.3 release train and derive its package boundary checks --- .github/release-notes/2.3.0.md | 52 +++++++++++++++++++++++++ test/contracts/stable-rehearsal.test.ts | 6 ++- 2 files changed, 57 insertions(+), 1 deletion(-) create mode 100644 .github/release-notes/2.3.0.md diff --git a/.github/release-notes/2.3.0.md b/.github/release-notes/2.3.0.md new file mode 100644 index 00000000..3d6c6298 --- /dev/null +++ b/.github/release-notes/2.3.0.md @@ -0,0 +1,52 @@ +# typed-sql 2.3.0 + +typed-sql 2.3 adds shared JSON contracts, portable execution adapters, and compiled runtime value +plans. SQL syntax, coercions and diagnostics remain owned by the selected grammar. + +## Highlights + +- PostgreSQL, MySQL and SQLite carry bounded JSON shapes through constructors, aggregation, + paths and supported mutations. Application declarations narrow types only when runtime + validation is available. JSON null and SQL NULL remain separate at transport boundaries. +- `@typed-sql/adapters` adds explicit D1, libSQL, Neon HTTP/WebSocket and postgres.js entrypoints. + Applications own their database drivers and client lifetimes. Adapters expose only native + transaction, batch and control capabilities they can support. +- SQL-file factories and the Vite frontend attach executable value plans. Generated runtime + imports resolve through portable grammar entrypoints without an extra application dependency + on Core. Conditional and repeated SQL structures are checked against compiled evidence. +- Query composition preserves result validators. Copies that discard query metadata and generic + executors without a transport contract cannot bypass compiled validation. +- Immutable plan preparation, row decoding and JSON validation allocate less. Repeated plans + share owned immutable JSON shapes without relaxing expansion limits. +- Reproducible raw-driver and Reylo comparisons include cold and warm paths, prepared execution, + concurrency, CPU and allocation evidence. Runtime validation has a measurable cost; these + results do not establish a universal speed advantage. + +## Compatibility + +The stable runtime and compiler require Node.js 22.11 or newer. The optional `node:sqlite` adapter +requires Node.js 22.13 or newer. The optional Node SQL-file loader requires Node.js 24.11.1 or +newer on the Node 24 line, Node 25.1 or newer on the Node 25 line, or a supported later line. +PostgreSQL, MySQL, and SQLite are stable dialect packages. + +The ordinary compiler uses TypeScript 7.0.2. The isolated experimental editor backend uses +TypeScript 7.1.0-beta. Editor artifacts are exercised on Linux, macOS and Windows. + +Dynamic repeated-fragment result properties remain conservatively nullable unknown. SQLite's +reviewed catalog range is 3.39.0–3.53.4; a newer bundled library, including SQLite 3.54 in Node 26, +retains conservative inference rather than inheriting unreviewed language guarantees. + +See the [compatibility matrix](https://lojhan.github.io/typed-sql/reference/compatibility), +[portable adapters](https://lojhan.github.io/typed-sql/reference/portable-adapters), and +[upgrade guide](https://lojhan.github.io/typed-sql/guides/upgrading-from-v1). + +## Package tracks + +The stable package train contains `@typed-sql/core`, `@typed-sql/opentelemetry`, `@typed-sql/ast`, +`@typed-sql/schema`, `@typed-sql/config`, `@typed-sql/compiler`, `@typed-sql/conformance`, +`@typed-sql/postgres`, `@typed-sql/mysql`, `@typed-sql/sqlite`, `@typed-sql/cli`, and +`@typed-sql/adapters`. + +`@typed-sql/ts-bridge`, `@typed-sql/language-server`, and the editor integrations remain +experimental. A shared release-candidate version does not promote their preview contracts; +stable packages do not depend on them. diff --git a/test/contracts/stable-rehearsal.test.ts b/test/contracts/stable-rehearsal.test.ts index 0894da42..6fbb8aa8 100644 --- a/test/contracts/stable-rehearsal.test.ts +++ b/test/contracts/stable-rehearsal.test.ts @@ -69,6 +69,7 @@ await describe("stable release rehearsal policy", async () => { await it("publishes durable release notes with the supported and experimental boundaries", async () => { const release = JSON.parse(await readFile(resolve(workspace, "release-manifest.json"), "utf8")) as { readonly series: string; + readonly packagePolicy: { readonly stable: readonly string[] }; }; const notes = await readFile(resolve(workspace, `.github/release-notes/${release.series}.md`), "utf8"); const normalizedNotes = notes.replaceAll(/\s+/gu, " "); @@ -83,11 +84,14 @@ await describe("stable release rehearsal policy", async () => { "@typed-sql/language-server", "@typed-sql/sqlite", "remain experimental", - "eleven-package stable train", + "stable package train", ]) { strict.ok(normalizedNotes.includes(required), `stable release notes lost required boundary: ${required}`); } + for (const name of release.packagePolicy.stable) + strict.ok(normalizedNotes.includes(`\`${name}\``), `release notes omit stable package ${name}`); + const workflow = await readFile(resolve(workspace, ".github/workflows/release.yml"), "utf8"); const publishStable = workflow.indexOf("name: Publish stable"); const publishNotes = workflow.indexOf("name: Publish aggregate stable release notes");