From 308efbb7b170b56c9ce40f87bafdded31383b5fc Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 14 Nov 2026 15:41:04 +0000 Subject: [PATCH] chore: version packages --- .changeset/zero-rust-define.md | 5 ----- .changeset/zero-rust-inspector.md | 5 ----- .changeset/zero-rust-json-depth.md | 5 ----- .changeset/zero-rust-traceparent.md | 5 ----- .changeset/zero-swift-inspector.md | 5 ----- .changeset/zero-swift-json-depth.md | 5 ----- .changeset/zero-swift-traceparent.md | 5 ----- apps/zbugs-gpui/Cargo.lock | 2 +- apps/zbugs-model/Cargo.lock | 2 +- apps/zbugs-rune/Cargo.lock | 2 +- packages/zero-rust-cli/CHANGELOG.md | 12 ++++++++++++ packages/zero-rust-cli/package.json | 2 +- packages/zero-swift-cli/CHANGELOG.md | 8 ++++++++ packages/zero-swift-cli/package.json | 2 +- rust/Cargo.lock | 4 ++-- rust/Cargo.toml | 4 ++-- swift/VERSION | 2 +- 17 files changed, 30 insertions(+), 45 deletions(-) delete mode 100644 .changeset/zero-rust-define.md delete mode 100644 .changeset/zero-rust-inspector.md delete mode 100644 .changeset/zero-rust-json-depth.md delete mode 100644 .changeset/zero-rust-traceparent.md delete mode 100644 .changeset/zero-swift-inspector.md delete mode 100644 .changeset/zero-swift-json-depth.md delete mode 100644 .changeset/zero-swift-traceparent.md diff --git a/.changeset/zero-rust-define.md b/.changeset/zero-rust-define.md deleted file mode 100644 index 6d050a3eee..0000000000 --- a/.changeset/zero-rust-define.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'zero-rust': minor ---- - -Add typed named queries and mutators behind a new `serde` feature, shaped like the Swift client's `defineQuery` and `defineMutator`. `define::define_query(name, |args, ctx| query)` and `define::define_mutator(name, |tx, args, ctx| ...)` take serde argument types, and `.with(args)` makes a `QueryRequest` for `materialize`, `run`, and `preload` (built with the `Zero`'s context) or a `client::MutateRequest` for the new `Zero::mutate_request`. `json::Value` implements serde, with `json::to_value` and `json::from_value`. `materialize`, `run`, and `preload` now take any `query::ZeroQuery` (an `AnyQuery`, a typed `Query`, or a `QueryRequest`), so existing calls keep working; the default build still has no third-party dependencies. diff --git a/.changeset/zero-rust-inspector.md b/.changeset/zero-rust-inspector.md deleted file mode 100644 index 18c844d6d5..0000000000 --- a/.changeset/zero-rust-inspector.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'zero-rust': minor ---- - -Add JS's inspector and query metrics. `Zero::inspector()` returns an `Inspector` that lists the clients in the local store and their queries (with each query's ZQL, row count, and timings), reads a client's stored data and rows, fetches zero-cache's version and the client's metrics merged with the server's, and asks zero-cache to analyze a query (`analyze_query`, `analyze_server_ast`, `analyze_named_query`). When zero-cache requires its admin password, an inspector call fails until `authenticate(password)` succeeds, and the accepted password is presented again after a reconnect. The client now records JS's `query-materialization-client`, `query-materialization-end-to-end`, and `query-update-client` metrics as `tdigest::TDigest`s, and logs each query's end-to-end materialization, as a warning when it takes longer than the new `ZeroOptions::slow_materialize_threshold_ms` (5,000 by default). diff --git a/.changeset/zero-rust-json-depth.md b/.changeset/zero-rust-json-depth.md deleted file mode 100644 index 7e0c363e0e..0000000000 --- a/.changeset/zero-rust-json-depth.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'zero-rust': patch ---- - -Take JSON nested up to 5,000 levels deep, more than zero-cache can write, instead of rejecting it past 1,500: a row with a JSON column nested that deep no longer makes the client disconnect after every reconnect. Cloning, comparing, and writing such a value no longer recurse past a hundred or so levels, so it fits in a 2 MB thread stack even in a debug build. diff --git a/.changeset/zero-rust-traceparent.md b/.changeset/zero-rust-traceparent.md deleted file mode 100644 index 45a2934949..0000000000 --- a/.changeset/zero-rust-traceparent.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'zero-rust': minor ---- - -Add two of JS's options to `ZeroOptions`. `get_traceparent` (`getTraceparent`) puts a W3C `traceparent` on each query change, `initConnection` message, and push the client sends, so zero-cache and the API server can join the app's trace. `batch_view_updates` (`batchViewUpdates`) wraps each new view's creation and each change that updates the views, with their listener calls, so a UI can render them at once. Add `Ttl::DEFAULT_PRELOAD`, the TTL JS's `preload` uses when it isn't given one. diff --git a/.changeset/zero-swift-inspector.md b/.changeset/zero-swift-inspector.md deleted file mode 100644 index fa34638dce..0000000000 --- a/.changeset/zero-swift-inspector.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'zero-swift': patch ---- - -Add JS's inspector and query metrics. `zero.inspector` lists the client's and its group's queries on the server, with their client and server timings and ZQL, reads the clients the local store knows and their local data, reports the client's query metrics merged with the server's, shows zero-cache's version, and analyzes a query, a server AST, or a named query on the server. Where JS asks for zero-cache's admin password in a dialog, a request throws `InspectorError.authenticationRequired`: call `zero.inspector.authenticate(password:)` first, and the password it accepts is presented again after a reconnect. The client records JS's query metrics (`query-materialization-client`, `query-materialization-end-to-end`, `query-update-client`) in a `TDigest` that gives the same quantiles as JS's, and `ZeroOptions.slowMaterializeThreshold` (5 seconds by default) logs a warning for a query that takes longer to materialize, server and network included. diff --git a/.changeset/zero-swift-json-depth.md b/.changeset/zero-swift-json-depth.md deleted file mode 100644 index 42cf166f68..0000000000 --- a/.changeset/zero-swift-json-depth.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'zero-swift': patch ---- - -Take rows whose JSON is nested up to 5,000 levels deep, as the Rust client does, instead of 1,500. zero-cache writes up to about 4,100 levels, which JS accepts; a row nested deeper than about 1,495 levels made the client reject the poke, disconnect, and fail the same way after every reconnect. Values that deep are now also freed without recursion, so they don't overflow a 512 KB thread stack. diff --git a/.changeset/zero-swift-traceparent.md b/.changeset/zero-swift-traceparent.md deleted file mode 100644 index 2f83b0bddb..0000000000 --- a/.changeset/zero-swift-traceparent.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'zero-swift': patch ---- - -Add two of JS's options to `ZeroOptions`. `getTraceparent` puts a W3C `traceparent` on each query change, `initConnection` message, and push the client sends, so zero-cache and the API server can join the app's trace. `batchViewUpdates` wraps each new view's creation and each change that updates the views, with their listener calls, so a UI can render them at once. diff --git a/apps/zbugs-gpui/Cargo.lock b/apps/zbugs-gpui/Cargo.lock index 2f9008a416..dc4516a221 100644 --- a/apps/zbugs-gpui/Cargo.lock +++ b/apps/zbugs-gpui/Cargo.lock @@ -8588,7 +8588,7 @@ checksum = "6df3dc4292935e51816d896edcd52aa30bc297907c26167fec31e2b0c6a32524" [[package]] name = "zero-client" -version = "0.1.3" +version = "0.2.0" dependencies = [ "rusqlite", "serde", diff --git a/apps/zbugs-model/Cargo.lock b/apps/zbugs-model/Cargo.lock index 63604b5c1d..f1cceebfd8 100644 --- a/apps/zbugs-model/Cargo.lock +++ b/apps/zbugs-model/Cargo.lock @@ -107,7 +107,7 @@ dependencies = [ [[package]] name = "zero-client" -version = "0.1.3" +version = "0.2.0" dependencies = [ "serde", ] diff --git a/apps/zbugs-rune/Cargo.lock b/apps/zbugs-rune/Cargo.lock index e0c5379e6a..6a73869cd3 100644 --- a/apps/zbugs-rune/Cargo.lock +++ b/apps/zbugs-rune/Cargo.lock @@ -4914,7 +4914,7 @@ checksum = "6df3dc4292935e51816d896edcd52aa30bc297907c26167fec31e2b0c6a32524" [[package]] name = "zero-client" -version = "0.1.3" +version = "0.2.0" dependencies = [ "futures-util", "rusqlite", diff --git a/packages/zero-rust-cli/CHANGELOG.md b/packages/zero-rust-cli/CHANGELOG.md index 8039d1071f..98bdcd3c77 100644 --- a/packages/zero-rust-cli/CHANGELOG.md +++ b/packages/zero-rust-cli/CHANGELOG.md @@ -1,5 +1,17 @@ # zero-rust +## 0.2.0 + +### Minor Changes + +- 5f6e6d7: Add typed named queries and mutators behind a new `serde` feature, shaped like the Swift client's `defineQuery` and `defineMutator`. `define::define_query(name, |args, ctx| query)` and `define::define_mutator(name, |tx, args, ctx| ...)` take serde argument types, and `.with(args)` makes a `QueryRequest` for `materialize`, `run`, and `preload` (built with the `Zero`'s context) or a `client::MutateRequest` for the new `Zero::mutate_request`. `json::Value` implements serde, with `json::to_value` and `json::from_value`. `materialize`, `run`, and `preload` now take any `query::ZeroQuery` (an `AnyQuery`, a typed `Query`, or a `QueryRequest`), so existing calls keep working; the default build still has no third-party dependencies. +- 16ee0b8: Add JS's inspector and query metrics. `Zero::inspector()` returns an `Inspector` that lists the clients in the local store and their queries (with each query's ZQL, row count, and timings), reads a client's stored data and rows, fetches zero-cache's version and the client's metrics merged with the server's, and asks zero-cache to analyze a query (`analyze_query`, `analyze_server_ast`, `analyze_named_query`). When zero-cache requires its admin password, an inspector call fails until `authenticate(password)` succeeds, and the accepted password is presented again after a reconnect. The client now records JS's `query-materialization-client`, `query-materialization-end-to-end`, and `query-update-client` metrics as `tdigest::TDigest`s, and logs each query's end-to-end materialization, as a warning when it takes longer than the new `ZeroOptions::slow_materialize_threshold_ms` (5,000 by default). +- 8f4916a: Add two of JS's options to `ZeroOptions`. `get_traceparent` (`getTraceparent`) puts a W3C `traceparent` on each query change, `initConnection` message, and push the client sends, so zero-cache and the API server can join the app's trace. `batch_view_updates` (`batchViewUpdates`) wraps each new view's creation and each change that updates the views, with their listener calls, so a UI can render them at once. Add `Ttl::DEFAULT_PRELOAD`, the TTL JS's `preload` uses when it isn't given one. + +### Patch Changes + +- c3cb36c: Take JSON nested up to 5,000 levels deep, more than zero-cache can write, instead of rejecting it past 1,500: a row with a JSON column nested that deep no longer makes the client disconnect after every reconnect. Cloning, comparing, and writing such a value no longer recurse past a hundred or so levels, so it fits in a 2 MB thread stack even in a debug build. + ## 0.1.3 ### Patch Changes diff --git a/packages/zero-rust-cli/package.json b/packages/zero-rust-cli/package.json index 1f11bbc40e..8237433d07 100644 --- a/packages/zero-rust-cli/package.json +++ b/packages/zero-rust-cli/package.json @@ -1,6 +1,6 @@ { "name": "zero-rust", - "version": "0.1.3", + "version": "0.2.0", "description": "Generates the Rust row types, schema, and query builder of a Zero app for the Zero Rust client.", "license": "Apache-2.0", "repository": { diff --git a/packages/zero-swift-cli/CHANGELOG.md b/packages/zero-swift-cli/CHANGELOG.md index d237833dd9..ccce3669d1 100644 --- a/packages/zero-swift-cli/CHANGELOG.md +++ b/packages/zero-swift-cli/CHANGELOG.md @@ -1,5 +1,13 @@ # zero-swift +## 0.7.13 + +### Patch Changes + +- 4629981: Add JS's inspector and query metrics. `zero.inspector` lists the client's and its group's queries on the server, with their client and server timings and ZQL, reads the clients the local store knows and their local data, reports the client's query metrics merged with the server's, shows zero-cache's version, and analyzes a query, a server AST, or a named query on the server. Where JS asks for zero-cache's admin password in a dialog, a request throws `InspectorError.authenticationRequired`: call `zero.inspector.authenticate(password:)` first, and the password it accepts is presented again after a reconnect. The client records JS's query metrics (`query-materialization-client`, `query-materialization-end-to-end`, `query-update-client`) in a `TDigest` that gives the same quantiles as JS's, and `ZeroOptions.slowMaterializeThreshold` (5 seconds by default) logs a warning for a query that takes longer to materialize, server and network included. +- 9fa75ad: Take rows whose JSON is nested up to 5,000 levels deep, as the Rust client does, instead of 1,500. zero-cache writes up to about 4,100 levels, which JS accepts; a row nested deeper than about 1,495 levels made the client reject the poke, disconnect, and fail the same way after every reconnect. Values that deep are now also freed without recursion, so they don't overflow a 512 KB thread stack. +- 8f4916a: Add two of JS's options to `ZeroOptions`. `getTraceparent` puts a W3C `traceparent` on each query change, `initConnection` message, and push the client sends, so zero-cache and the API server can join the app's trace. `batchViewUpdates` wraps each new view's creation and each change that updates the views, with their listener calls, so a UI can render them at once. + ## 0.7.12 ### Patch Changes diff --git a/packages/zero-swift-cli/package.json b/packages/zero-swift-cli/package.json index f59f04103a..e4cf64c439 100644 --- a/packages/zero-swift-cli/package.json +++ b/packages/zero-swift-cli/package.json @@ -1,6 +1,6 @@ { "name": "zero-swift", - "version": "0.7.12", + "version": "0.7.13", "description": "Generates the Swift row types and schema of a Zero app for the Zero Swift client.", "license": "Apache-2.0", "repository": { diff --git a/rust/Cargo.lock b/rust/Cargo.lock index fb83446d8c..6166b26744 100644 --- a/rust/Cargo.lock +++ b/rust/Cargo.lock @@ -669,7 +669,7 @@ dependencies = [ [[package]] name = "zero-client" -version = "0.1.3" +version = "0.2.0" dependencies = [ "futures-util", "rusqlite", @@ -688,7 +688,7 @@ dependencies = [ [[package]] name = "zero-conformance" -version = "0.1.3" +version = "0.2.0" dependencies = [ "zero-client", ] diff --git a/rust/Cargo.toml b/rust/Cargo.toml index 31d049923b..f1f2ea9a18 100644 --- a/rust/Cargo.toml +++ b/rust/Cargo.toml @@ -3,14 +3,14 @@ resolver = "3" members = ["zero-client", "conformance", "codegen-tests", "benchmarks"] [workspace.package] -version = "0.1.3" +version = "0.2.0" edition = "2024" rust-version = "1.88" license = "Apache-2.0" repository = "https://github.com/wevm/zero" [workspace.dependencies] -zero-client = { path = "zero-client", version = "0.1.3" } +zero-client = { path = "zero-client", version = "0.2.0" } [workspace.lints.rust] unsafe_code = "forbid" diff --git a/swift/VERSION b/swift/VERSION index 88a7b22857..a48658c949 100644 --- a/swift/VERSION +++ b/swift/VERSION @@ -1 +1 @@ -0.7.12 +0.7.13