I Shipped...

13 September 2026 (5PRs)

graceful embedded server startup errors

I changed an embedded server with an occupied port to return a useful startup error instead of panicking. The JavaScript callers now handle that failure explicitly and keep the host process alive.

correlated ExistsRel update and select tests

I added tests for correlated ExistsRel policies during UPDATE operations and the reverse SELECT path. The coverage makes sure both directions of the relationship are exercised.

correlated ExistsRel policy coverage

I added coverage for correlated ExistsRel INSERT policies. The tests check both denied and allowed writes, including policy evaluation for optimistic writes.

correct nested EXISTS policy branches

I fixed nested EXISTS policy conversion so a shared condition is applied to every branch of an OR expression. This prevents a branch from accidentally skipping the ownership check.

atomic authentication transport transitions

I made authentication state and its transport credentials change together as one committed transition. Observers now see only a complete authentication mode, rather than a temporary mismatch between the two.

9 September 2026 (15PRs)

unambiguous aggregate output validation

I fixed a problem where aggregate aliases could collide and make output columns ambiguous. Now validation rejects exact, case-sensitive aggregate output collisions before normalization or lowering.

typed scalar object filters

I fixed a problem where every non-array object was treated as operators. Now direct timestamp, byte-array, JSON-object and array values lower to one typed Eq condition.

trusted JWKS transport checks

I fixed a problem where backend JWKS discovery could cross an untrusted transport boundary or accept an insecure redirect. Now jWKS discovery is admitted only through the trusted backend transport contract and redirect policy fails closed.

staged N-API upload cleanup

I fixed a problem where dropped initialised streaming uploads could retain staged large-value claims, and wrapper or database close could discard shared state before cleanup ran. Now binding-private owner and view lifecycle code queues non-blocking drop cleanup.

stable Vue clients for equivalent configuration

I updated Jazz so equivalent Vue config replacements retain the pending or ready client, avoiding unnecessary shutdown and fallback flicker.

stable Svelte config handovers

I fixed a problem where a provider could recreate or dispose a client for an equivalent or in-place configuration change, disrupting the consumer during a handover. Now the provider compares configuration semantics, preserves equivalent clients, and transfers ownership safely when authentication or storage configuration changes.

SPA deep-link support in Hono starters

I fixed a problem where production starter servers could return a missing page for a client-side route that was not the root path. Now the four affected starters return the SPA shell for valid client-side deep links while preserving API and asset responses.

single accounting for shared storage classes

I fixed a problem where jazz enumerated logical per-table history families and metered each independently. Now groove owns logical-to-physical aggregation behind the concrete Database interface.

shared server JWKS refreshes

I updated Jazz so concurrent authentication requests share one server JWKS refresh rather than independently fetching the same public keys.

session-claim range validation

I fixed a problem where session range expressions compiled in TypeScript despite core accepting only equality and inequality, then failed later during schema conversion. Now defined session ranges throw a targeted synchronous DSL error.

safer browser worker reset cleanup

I fixed a problem where a browser worker or follower could be used before readiness was established, and reset or terminal paths could leave lifecycle ownership outstanding. Now worker connections establish readiness before use, unresponsive followers fail through the lifecycle error path, and reset/shutdown release leases and pending ownership deterministically.

restored WASM tracing lifecycle

I fixed a problem where wASM tracing could be unavailable when hooks were absent, and multiple runtime contexts could race over collector ownership or retain telemetry after disposal. Now wASM hooks are exposed where available, compatible contexts share one collector lease, endpoint mismatches fail safely, and disposal drains and releases telemetry without disrupting surviving contexts.

recursive join comparison preservation

I fixed a problem where recursive policy join hydration could use a comparison different from the one declared by the query, changing which recursive rows entered the closure. Now hydration carries and applies the declared comparison through recursive join evaluation.

record-header boundary validation

I fixed a problem where a malformed record header could point a variable-field span into the fixed header area and reach lookup logic with an invalid payload boundary. Now record validation rejects the impossible span before variable-field lookup, matching the full decoder's safety boundary.

rate-accurate simulation writes

I fixed a problem where writeStream truncated 1,000 / rate to whole milliseconds. Now each timestamp is floor(index × 1,000 / rate).