From 2bc9a1d33df0fb7686c1671f74e6a265e04a9a43 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 19 May 2026 12:23:02 +0000 Subject: [PATCH] Version Packages --- .changeset/cloud-agents-service-query.md | 5 ----- .changeset/desktop-local-fetch.md | 6 ------ .changeset/fix-array-cast-type-wrapper.md | 5 ----- .changeset/harden-pull-wake-runner.md | 7 ------- .changeset/little-pigs-complain.md | 5 ----- .changeset/local-desktop-principal.md | 6 ------ .changeset/pull-wake-health-diagnostics.md | 9 --------- .changeset/pull-wake-session-startup-ui.md | 5 ----- .changeset/telemetry-poller-safe-invoke.md | 8 -------- examples/deep-survey/CHANGELOG.md | 8 ++++++++ examples/deep-survey/package.json | 2 +- packages/agents-desktop/CHANGELOG.md | 9 +++++++++ packages/agents-desktop/package.json | 2 +- packages/agents-runtime/CHANGELOG.md | 7 +++++++ packages/agents-runtime/package.json | 2 +- packages/agents-server-ui/CHANGELOG.md | 11 +++++++++++ packages/agents-server-ui/package.json | 2 +- packages/agents-server/CHANGELOG.md | 10 ++++++++++ packages/agents-server/package.json | 2 +- packages/agents/CHANGELOG.md | 10 ++++++++++ packages/agents/package.json | 2 +- packages/electric-ax/CHANGELOG.md | 10 ++++++++++ packages/electric-ax/package.json | 2 +- packages/electric-telemetry/CHANGELOG.md | 8 ++++++++ packages/electric-telemetry/package.json | 2 +- packages/sync-service/CHANGELOG.md | 10 ++++++++++ packages/sync-service/package.json | 2 +- 27 files changed, 92 insertions(+), 65 deletions(-) delete mode 100644 .changeset/cloud-agents-service-query.md delete mode 100644 .changeset/desktop-local-fetch.md delete mode 100644 .changeset/fix-array-cast-type-wrapper.md delete mode 100644 .changeset/harden-pull-wake-runner.md delete mode 100644 .changeset/little-pigs-complain.md delete mode 100644 .changeset/local-desktop-principal.md delete mode 100644 .changeset/pull-wake-health-diagnostics.md delete mode 100644 .changeset/pull-wake-session-startup-ui.md delete mode 100644 .changeset/telemetry-poller-safe-invoke.md diff --git a/.changeset/cloud-agents-service-query.md b/.changeset/cloud-agents-service-query.md deleted file mode 100644 index a4f270e0c7..0000000000 --- a/.changeset/cloud-agents-service-query.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@electric-ax/agents-desktop": patch ---- - -Use the Electric Cloud `service` query parameter for tenant-specific agents URLs so desktop cloud requests target the root agents endpoint while preserving tenant auth routing. diff --git a/.changeset/desktop-local-fetch.md b/.changeset/desktop-local-fetch.md deleted file mode 100644 index f91d3f99ab..0000000000 --- a/.changeset/desktop-local-fetch.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@electric-ax/agents-desktop': patch -'@electric-ax/agents-server-ui': patch ---- - -Route local desktop mutating agents-server requests through the Electron main process so CORS preflights cannot stall behind renderer connection limits. diff --git a/.changeset/fix-array-cast-type-wrapper.md b/.changeset/fix-array-cast-type-wrapper.md deleted file mode 100644 index 003909eb64..0000000000 --- a/.changeset/fix-array-cast-type-wrapper.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@core/sync-service': patch ---- - -Fix `@>` (and other array operators) returning 400 when the right-hand side uses a non-foldable `ARRAY[...]::T[]` outer cast, e.g. `"organization_ids" @> ARRAY[$1]::uuid[]` with a column or parameter inside the constructor. The where-clause parser was assigning the element type (`:uuid`) instead of the array type (`{:array, :uuid}`) to array-cast and array-implicit-cast functions, which made the `@>` operator overload lookup fail with `Could not select an operator overload`. diff --git a/.changeset/harden-pull-wake-runner.md b/.changeset/harden-pull-wake-runner.md deleted file mode 100644 index b61498f2f5..0000000000 --- a/.changeset/harden-pull-wake-runner.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -'@electric-ax/agents-runtime': patch -'@electric-ax/agents-server': patch -'@electric-ax/agents': patch ---- - -Harden pull-wake runner lifecycle with a state machine, heartbeat-driven stream resets, and exponential reconnect backoff (1s-30s). Add granular `status` field to `PullWakeRunnerHealth` (`stopped | starting | connecting | streaming | reconnecting | stopping`). The `onError` callback is now reporting-only (`(Error) => void`) - it can no longer control runner lifecycle. `stop()` rethrows `drainWakes` errors so callers observe wake handler failures. Event-driven heartbeat throttling avoids stale diagnostics between fixed-interval heartbeats. Durable Streams clients now append stream and `__ds` subscription control paths to the configured backend URL prefix without inferring a `/v1/stream` layout, so pull-wake subscriptions work behind arbitrary DS backend prefixes. Remove the stale `StreamClient.getConsumerState()` helper for the old Durable Streams `/consumers` endpoint. diff --git a/.changeset/little-pigs-complain.md b/.changeset/little-pigs-complain.md deleted file mode 100644 index 40376115bb..0000000000 --- a/.changeset/little-pigs-complain.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@core/sync-service': patch ---- - -Remove the single-function PartialMode module by moving its query_subset() function into SnapshotQuery, so that its implementation could sit close to SnapshotQuery.execute_for_shape(). diff --git a/.changeset/local-desktop-principal.md b/.changeset/local-desktop-principal.md deleted file mode 100644 index ac23cf9885..0000000000 --- a/.changeset/local-desktop-principal.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@electric-ax/agents-desktop': patch -'@electric-ax/agents-server-ui': patch ---- - -Default unauthenticated local desktop sessions to the `system:dev-local` principal and resolve optimistic send principals at mutation time so pending messages do not render as `unknown`. diff --git a/.changeset/pull-wake-health-diagnostics.md b/.changeset/pull-wake-health-diagnostics.md deleted file mode 100644 index c57ab9c354..0000000000 --- a/.changeset/pull-wake-health-diagnostics.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -'@electric-ax/agents-server': patch -'@electric-ax/agents-runtime': patch -'@electric-ax/agents-desktop': patch -'@electric-ax/agents': patch -'electric-ax': patch ---- - -Add pull-wake runner health check endpoint and rename `owner_user_id` to `owner_principal` across the runners system. The `GET /_electric/runners/:id/health` endpoint returns comprehensive diagnostics including runner state, client-reported stream/heartbeat/claim metrics, active claims, and dispatch stats with a derived health status (healthy/degraded/unhealthy). The `PullWakeRunner` now tracks internal diagnostics and reports them to the server via heartbeats, stored in a separate `runner_runtime_diagnostics` table so the main `runners` shape stays stable for normal UI sync. The `owner_user_id` → `owner_principal` rename stores canonical principal URLs instead of keys, with strict validation and canonicalization at route boundaries. The migration expires active runner claims and deletes existing runner rows as part of the principal rewrite. This is a breaking change with no backward compatibility — all callers must send principal URLs. diff --git a/.changeset/pull-wake-session-startup-ui.md b/.changeset/pull-wake-session-startup-ui.md deleted file mode 100644 index b9cafee602..0000000000 --- a/.changeset/pull-wake-session-startup-ui.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@electric-ax/agents-server-ui': patch ---- - -Send new-session initial messages through the spawn request so pull-wake sessions can start without waiting for the UI to preload the entity stream. diff --git a/.changeset/telemetry-poller-safe-invoke.md b/.changeset/telemetry-poller-safe-invoke.md deleted file mode 100644 index e7aa3bcb45..0000000000 --- a/.changeset/telemetry-poller-safe-invoke.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -'@core/electric-telemetry': patch -'@core/sync-service': patch ---- - -Wrap telemetry-poller MFAs in `ElectricTelemetry.Poller.safe_invoke/3` so that transient collector failures (`:noproc`, `:timeout`, `:shutdown`/`:normal` exits, `ArgumentError` from not-yet-created ETS tables) no longer cause `:telemetry_poller` to permanently remove the measurement from its polling list. Unexpected errors are now logged as warnings with the offending MFA and the collector keeps being polled on subsequent ticks. Strips now-redundant defensive `try/catch` / `with`-fallthrough code from individual collectors. - -Note: user-supplied periodic measurement functions no longer have exceptions propagated up to `:telemetry_poller`'s own error logger — they are caught and logged via `ElectricTelemetry.Poller` instead. diff --git a/examples/deep-survey/CHANGELOG.md b/examples/deep-survey/CHANGELOG.md index 2bcba29a13..f502dde933 100644 --- a/examples/deep-survey/CHANGELOG.md +++ b/examples/deep-survey/CHANGELOG.md @@ -1,5 +1,13 @@ # @electric-ax/example-deep-survey +## 0.1.10 + +### Patch Changes + +- Updated dependencies [e126eba] +- Updated dependencies [e126eba] + - @electric-ax/agents-runtime@0.2.2 + ## 0.1.9 ### Patch Changes diff --git a/examples/deep-survey/package.json b/examples/deep-survey/package.json index e87d4acad4..f2870f10c7 100644 --- a/examples/deep-survey/package.json +++ b/examples/deep-survey/package.json @@ -1,7 +1,7 @@ { "name": "@electric-ax/example-deep-survey", "private": true, - "version": "0.1.9", + "version": "0.1.10", "type": "module", "scripts": { "dev": "pnpm run --parallel \"/^dev:/\"", diff --git a/packages/agents-desktop/CHANGELOG.md b/packages/agents-desktop/CHANGELOG.md index 744acd8831..808c015998 100644 --- a/packages/agents-desktop/CHANGELOG.md +++ b/packages/agents-desktop/CHANGELOG.md @@ -1,5 +1,14 @@ # @electric-ax/agents-desktop +## 0.1.4 + +### Patch Changes + +- e4acb1d: Use the Electric Cloud `service` query parameter for tenant-specific agents URLs so desktop cloud requests target the root agents endpoint while preserving tenant auth routing. +- e126eba: Route local desktop mutating agents-server requests through the Electron main process so CORS preflights cannot stall behind renderer connection limits. +- e126eba: Default unauthenticated local desktop sessions to the `system:dev-local` principal and resolve optimistic send principals at mutation time so pending messages do not render as `unknown`. +- e126eba: Add pull-wake runner health check endpoint and rename `owner_user_id` to `owner_principal` across the runners system. The `GET /_electric/runners/:id/health` endpoint returns comprehensive diagnostics including runner state, client-reported stream/heartbeat/claim metrics, active claims, and dispatch stats with a derived health status (healthy/degraded/unhealthy). The `PullWakeRunner` now tracks internal diagnostics and reports them to the server via heartbeats, stored in a separate `runner_runtime_diagnostics` table so the main `runners` shape stays stable for normal UI sync. The `owner_user_id` → `owner_principal` rename stores canonical principal URLs instead of keys, with strict validation and canonicalization at route boundaries. The migration expires active runner claims and deletes existing runner rows as part of the principal rewrite. This is a breaking change with no backward compatibility — all callers must send principal URLs. + ## 0.1.3 ### Patch Changes diff --git a/packages/agents-desktop/package.json b/packages/agents-desktop/package.json index 0220c13b2e..12622b40a3 100644 --- a/packages/agents-desktop/package.json +++ b/packages/agents-desktop/package.json @@ -2,7 +2,7 @@ "name": "@electric-ax/agents-desktop", "productName": "Electric Agents", "private": true, - "version": "0.1.3", + "version": "0.1.4", "description": "Desktop app for Electric Agents", "author": "ElectricSQL ", "homepage": "https://electric-sql.com", diff --git a/packages/agents-runtime/CHANGELOG.md b/packages/agents-runtime/CHANGELOG.md index e9a55d8377..eb96b0a1f7 100644 --- a/packages/agents-runtime/CHANGELOG.md +++ b/packages/agents-runtime/CHANGELOG.md @@ -1,5 +1,12 @@ # @electric-ax/agents-runtime +## 0.2.2 + +### Patch Changes + +- e126eba: Harden pull-wake runner lifecycle with a state machine, heartbeat-driven stream resets, and exponential reconnect backoff (1s-30s). Add granular `status` field to `PullWakeRunnerHealth` (`stopped | starting | connecting | streaming | reconnecting | stopping`). The `onError` callback is now reporting-only (`(Error) => void`) - it can no longer control runner lifecycle. `stop()` rethrows `drainWakes` errors so callers observe wake handler failures. Event-driven heartbeat throttling avoids stale diagnostics between fixed-interval heartbeats. Durable Streams clients now append stream and `__ds` subscription control paths to the configured backend URL prefix without inferring a `/v1/stream` layout, so pull-wake subscriptions work behind arbitrary DS backend prefixes. Remove the stale `StreamClient.getConsumerState()` helper for the old Durable Streams `/consumers` endpoint. +- e126eba: Add pull-wake runner health check endpoint and rename `owner_user_id` to `owner_principal` across the runners system. The `GET /_electric/runners/:id/health` endpoint returns comprehensive diagnostics including runner state, client-reported stream/heartbeat/claim metrics, active claims, and dispatch stats with a derived health status (healthy/degraded/unhealthy). The `PullWakeRunner` now tracks internal diagnostics and reports them to the server via heartbeats, stored in a separate `runner_runtime_diagnostics` table so the main `runners` shape stays stable for normal UI sync. The `owner_user_id` → `owner_principal` rename stores canonical principal URLs instead of keys, with strict validation and canonicalization at route boundaries. The migration expires active runner claims and deletes existing runner rows as part of the principal rewrite. This is a breaking change with no backward compatibility — all callers must send principal URLs. + ## 0.2.1 ### Patch Changes diff --git a/packages/agents-runtime/package.json b/packages/agents-runtime/package.json index 14421e7688..9d544e2c5a 100644 --- a/packages/agents-runtime/package.json +++ b/packages/agents-runtime/package.json @@ -1,6 +1,6 @@ { "name": "@electric-ax/agents-runtime", - "version": "0.2.1", + "version": "0.2.2", "description": "Electric agent runtime — behavioral stack for agent entities over durable streams", "keywords": [ "tanstack-intent" diff --git a/packages/agents-server-ui/CHANGELOG.md b/packages/agents-server-ui/CHANGELOG.md index df0950542b..0cafa8bd1c 100644 --- a/packages/agents-server-ui/CHANGELOG.md +++ b/packages/agents-server-ui/CHANGELOG.md @@ -1,5 +1,16 @@ # @electric-ax/agents-server-ui +## 0.4.4 + +### Patch Changes + +- e126eba: Route local desktop mutating agents-server requests through the Electron main process so CORS preflights cannot stall behind renderer connection limits. +- e126eba: Default unauthenticated local desktop sessions to the `system:dev-local` principal and resolve optimistic send principals at mutation time so pending messages do not render as `unknown`. +- e126eba: Send new-session initial messages through the spawn request so pull-wake sessions can start without waiting for the UI to preload the entity stream. +- Updated dependencies [e126eba] +- Updated dependencies [e126eba] + - @electric-ax/agents-runtime@0.2.2 + ## 0.4.3 ### Patch Changes diff --git a/packages/agents-server-ui/package.json b/packages/agents-server-ui/package.json index 5b8c42045c..6334e1d279 100644 --- a/packages/agents-server-ui/package.json +++ b/packages/agents-server-ui/package.json @@ -1,7 +1,7 @@ { "name": "@electric-ax/agents-server-ui", "private": true, - "version": "0.4.3", + "version": "0.4.4", "type": "module", "scripts": { "build": "vite build", diff --git a/packages/agents-server/CHANGELOG.md b/packages/agents-server/CHANGELOG.md index ea765dc575..42ebcf30cf 100644 --- a/packages/agents-server/CHANGELOG.md +++ b/packages/agents-server/CHANGELOG.md @@ -1,5 +1,15 @@ # @electric-ax/agents-server +## 0.4.4 + +### Patch Changes + +- e126eba: Harden pull-wake runner lifecycle with a state machine, heartbeat-driven stream resets, and exponential reconnect backoff (1s-30s). Add granular `status` field to `PullWakeRunnerHealth` (`stopped | starting | connecting | streaming | reconnecting | stopping`). The `onError` callback is now reporting-only (`(Error) => void`) - it can no longer control runner lifecycle. `stop()` rethrows `drainWakes` errors so callers observe wake handler failures. Event-driven heartbeat throttling avoids stale diagnostics between fixed-interval heartbeats. Durable Streams clients now append stream and `__ds` subscription control paths to the configured backend URL prefix without inferring a `/v1/stream` layout, so pull-wake subscriptions work behind arbitrary DS backend prefixes. Remove the stale `StreamClient.getConsumerState()` helper for the old Durable Streams `/consumers` endpoint. +- e126eba: Add pull-wake runner health check endpoint and rename `owner_user_id` to `owner_principal` across the runners system. The `GET /_electric/runners/:id/health` endpoint returns comprehensive diagnostics including runner state, client-reported stream/heartbeat/claim metrics, active claims, and dispatch stats with a derived health status (healthy/degraded/unhealthy). The `PullWakeRunner` now tracks internal diagnostics and reports them to the server via heartbeats, stored in a separate `runner_runtime_diagnostics` table so the main `runners` shape stays stable for normal UI sync. The `owner_user_id` → `owner_principal` rename stores canonical principal URLs instead of keys, with strict validation and canonicalization at route boundaries. The migration expires active runner claims and deletes existing runner rows as part of the principal rewrite. This is a breaking change with no backward compatibility — all callers must send principal URLs. +- Updated dependencies [e126eba] +- Updated dependencies [e126eba] + - @electric-ax/agents-runtime@0.2.2 + ## 0.4.3 ### Patch Changes diff --git a/packages/agents-server/package.json b/packages/agents-server/package.json index b0af4b3251..14d5560e9d 100644 --- a/packages/agents-server/package.json +++ b/packages/agents-server/package.json @@ -1,6 +1,6 @@ { "name": "@electric-ax/agents-server", - "version": "0.4.3", + "version": "0.4.4", "description": "Electric Agents entity runtime server", "author": "Durable Stream contributors", "bin": { diff --git a/packages/agents/CHANGELOG.md b/packages/agents/CHANGELOG.md index b65b9886ca..65e8c4ebc4 100644 --- a/packages/agents/CHANGELOG.md +++ b/packages/agents/CHANGELOG.md @@ -1,5 +1,15 @@ # @electric-ax/agents +## 0.4.3 + +### Patch Changes + +- e126eba: Harden pull-wake runner lifecycle with a state machine, heartbeat-driven stream resets, and exponential reconnect backoff (1s-30s). Add granular `status` field to `PullWakeRunnerHealth` (`stopped | starting | connecting | streaming | reconnecting | stopping`). The `onError` callback is now reporting-only (`(Error) => void`) - it can no longer control runner lifecycle. `stop()` rethrows `drainWakes` errors so callers observe wake handler failures. Event-driven heartbeat throttling avoids stale diagnostics between fixed-interval heartbeats. Durable Streams clients now append stream and `__ds` subscription control paths to the configured backend URL prefix without inferring a `/v1/stream` layout, so pull-wake subscriptions work behind arbitrary DS backend prefixes. Remove the stale `StreamClient.getConsumerState()` helper for the old Durable Streams `/consumers` endpoint. +- e126eba: Add pull-wake runner health check endpoint and rename `owner_user_id` to `owner_principal` across the runners system. The `GET /_electric/runners/:id/health` endpoint returns comprehensive diagnostics including runner state, client-reported stream/heartbeat/claim metrics, active claims, and dispatch stats with a derived health status (healthy/degraded/unhealthy). The `PullWakeRunner` now tracks internal diagnostics and reports them to the server via heartbeats, stored in a separate `runner_runtime_diagnostics` table so the main `runners` shape stays stable for normal UI sync. The `owner_user_id` → `owner_principal` rename stores canonical principal URLs instead of keys, with strict validation and canonicalization at route boundaries. The migration expires active runner claims and deletes existing runner rows as part of the principal rewrite. This is a breaking change with no backward compatibility — all callers must send principal URLs. +- Updated dependencies [e126eba] +- Updated dependencies [e126eba] + - @electric-ax/agents-runtime@0.2.2 + ## 0.4.2 ### Patch Changes diff --git a/packages/agents/package.json b/packages/agents/package.json index be96092539..353ea3dde0 100644 --- a/packages/agents/package.json +++ b/packages/agents/package.json @@ -1,6 +1,6 @@ { "name": "@electric-ax/agents", - "version": "0.4.2", + "version": "0.4.3", "description": "Built-in Electric Agents runtimes such as Horton and worker", "repository": { "type": "git", diff --git a/packages/electric-ax/CHANGELOG.md b/packages/electric-ax/CHANGELOG.md index 898b525cae..999a43bc9c 100644 --- a/packages/electric-ax/CHANGELOG.md +++ b/packages/electric-ax/CHANGELOG.md @@ -1,5 +1,15 @@ # electric-ax +## 0.2.3 + +### Patch Changes + +- e126eba: Add pull-wake runner health check endpoint and rename `owner_user_id` to `owner_principal` across the runners system. The `GET /_electric/runners/:id/health` endpoint returns comprehensive diagnostics including runner state, client-reported stream/heartbeat/claim metrics, active claims, and dispatch stats with a derived health status (healthy/degraded/unhealthy). The `PullWakeRunner` now tracks internal diagnostics and reports them to the server via heartbeats, stored in a separate `runner_runtime_diagnostics` table so the main `runners` shape stays stable for normal UI sync. The `owner_user_id` → `owner_principal` rename stores canonical principal URLs instead of keys, with strict validation and canonicalization at route boundaries. The migration expires active runner claims and deletes existing runner rows as part of the principal rewrite. This is a breaking change with no backward compatibility — all callers must send principal URLs. +- Updated dependencies [e126eba] +- Updated dependencies [e126eba] + - @electric-ax/agents-runtime@0.2.2 + - @electric-ax/agents@0.4.3 + ## 0.2.2 ### Patch Changes diff --git a/packages/electric-ax/package.json b/packages/electric-ax/package.json index 62a9fecd44..001f31907c 100644 --- a/packages/electric-ax/package.json +++ b/packages/electric-ax/package.json @@ -1,6 +1,6 @@ { "name": "electric-ax", - "version": "0.2.2", + "version": "0.2.3", "description": "CLI for Electric Agents", "author": "ElectricSQL team and contributors", "license": "Apache-2.0", diff --git a/packages/electric-telemetry/CHANGELOG.md b/packages/electric-telemetry/CHANGELOG.md index dcb63e3c1f..392cc5bf51 100644 --- a/packages/electric-telemetry/CHANGELOG.md +++ b/packages/electric-telemetry/CHANGELOG.md @@ -1,5 +1,13 @@ # @core/electric-telemetry +## 0.2.7 + +### Patch Changes + +- eac6dea: Wrap telemetry-poller MFAs in `ElectricTelemetry.Poller.safe_invoke/3` so that transient collector failures (`:noproc`, `:timeout`, `:shutdown`/`:normal` exits, `ArgumentError` from not-yet-created ETS tables) no longer cause `:telemetry_poller` to permanently remove the measurement from its polling list. Unexpected errors are now logged as warnings with the offending MFA and the collector keeps being polled on subsequent ticks. Strips now-redundant defensive `try/catch` / `with`-fallthrough code from individual collectors. + + Note: user-supplied periodic measurement functions no longer have exceptions propagated up to `:telemetry_poller`'s own error logger — they are caught and logged via `ElectricTelemetry.Poller` instead. + ## 0.2.6 ### Patch Changes diff --git a/packages/electric-telemetry/package.json b/packages/electric-telemetry/package.json index 6fd4162853..7407ba5472 100644 --- a/packages/electric-telemetry/package.json +++ b/packages/electric-telemetry/package.json @@ -1,5 +1,5 @@ { "name": "@core/electric-telemetry", "private": true, - "version": "0.2.6" + "version": "0.2.7" } diff --git a/packages/sync-service/CHANGELOG.md b/packages/sync-service/CHANGELOG.md index 125cecb305..0df305bc11 100644 --- a/packages/sync-service/CHANGELOG.md +++ b/packages/sync-service/CHANGELOG.md @@ -1,5 +1,15 @@ # @core/sync-service +## 1.6.6 + +### Patch Changes + +- 8a94d7f: Fix `@>` (and other array operators) returning 400 when the right-hand side uses a non-foldable `ARRAY[...]::T[]` outer cast, e.g. `"organization_ids" @> ARRAY[$1]::uuid[]` with a column or parameter inside the constructor. The where-clause parser was assigning the element type (`:uuid`) instead of the array type (`{:array, :uuid}`) to array-cast and array-implicit-cast functions, which made the `@>` operator overload lookup fail with `Could not select an operator overload`. +- 4590862: Remove the single-function PartialMode module by moving its query_subset() function into SnapshotQuery, so that its implementation could sit close to SnapshotQuery.execute_for_shape(). +- eac6dea: Wrap telemetry-poller MFAs in `ElectricTelemetry.Poller.safe_invoke/3` so that transient collector failures (`:noproc`, `:timeout`, `:shutdown`/`:normal` exits, `ArgumentError` from not-yet-created ETS tables) no longer cause `:telemetry_poller` to permanently remove the measurement from its polling list. Unexpected errors are now logged as warnings with the offending MFA and the collector keeps being polled on subsequent ticks. Strips now-redundant defensive `try/catch` / `with`-fallthrough code from individual collectors. + + Note: user-supplied periodic measurement functions no longer have exceptions propagated up to `:telemetry_poller`'s own error logger — they are caught and logged via `ElectricTelemetry.Poller` instead. + ## 1.6.5 ### Patch Changes diff --git a/packages/sync-service/package.json b/packages/sync-service/package.json index 4e5fd361be..64d047d0ae 100644 --- a/packages/sync-service/package.json +++ b/packages/sync-service/package.json @@ -1,7 +1,7 @@ { "name": "@core/sync-service", "private": true, - "version": "1.6.5", + "version": "1.6.6", "scripts": { "publish:hex": "../../scripts/publish_hex.sh electric", "changeset": "pushd ../..; pnpm changeset; popd"