I Shipped...

16 September 2026 (5PRs)

reject CLI options without values

I made the command line reject options whose values are missing, empty or accidentally taken from the next option.

order nullable Better Auth values

I made Better Auth sorting place empty values consistently before or after regular values, keeping pagination stable in either direction.

graceful server shutdown on SIGINT

I routed Ctrl+C through the server's normal shutdown process so it finishes cleanly and releases its storage for immediate reuse.

consistent Better Auth field mappings

I made custom Better Auth field names behave consistently across filtering, sorting, selecting fields, uniqueness checks and fallback reads.

check protected sessions on the server

I moved protected-route session checks into the SvelteKit server hook, preserving auth responses and letting operational renewal errors surface instead of hiding them as redirects.

14 September 2026 (5PRs)

subscriptions wait for real progress

I stopped subscriptions waiting for data from repeatedly scheduling themselves, and made storage readiness wake the native and server owners that need to resume them.

reject stale server session handles

I made reused server session slots carry a new generation number, so an old handle cannot accidentally refer to a later session.

keep Inspector credentials temporary

I stopped the Inspector from saving admin credentials in saved connections or development links, while keeping non-secret connection details reusable.

faster scoped local subscription updates

I made local writes reach foreground React Native subscribers sooner and refresh only subscriptions that depend on the changed tables.

browser auth errors reach callers

I made browser worker sign-in update failures visible to the caller and recoverable on reconnect, while ignoring failures from an old connection after it has been replaced.

13 September 2026 (10PRs)

starter password length enforcement

I enforced the starter application's eight-character minimum password length. Signup now rejects shorter passwords and accepts one that is exactly eight characters long.

stable averages for large finite numbers

I prevented averages of large finite numbers from overflowing their intermediate sum. The calculation stays finite while maintained subscriptions continue to update and retract correctly.

safer early WebSocket shutdowns

I made the connection's readiness fail when it is intentionally closed before the server says hello. Later socket events are ignored, so a closed connection cannot leave the readiness promise waiting forever.

safe native transport replacement

I made a replacement native transport wait for its live predecessor to retire before being admitted. Retirement failures are reported once, so an invalid successor is not allowed through silently.

required-column default validation

I made schema compilation reject a NULL default for a required column. Invalid defaults now fail at the schema boundary instead of being accepted.

reliable browser reconnect readiness failures

I made browser reconnect waiters reject when the worker reaches a terminal failure. The waiters are cleared while the connection is explicitly offline, instead of being left pending indefinitely.

permissions publication after lineage recovery

I fixed permissions publication when the needed schema lineage is missing from the running server. The server now installs the matching published lineage before applying the permissions.

NULL and DELETE ExistsRel policy handling

I added handling for NULL predicates and DELETE operations in ExistsRel policies. This keeps those policy cases in the same enforcement path instead of leaving them unhandled.

non-blocking loopback WebSocket sends

I released the loopback client's shared shell before a WebSocket send can block. That lets independent clients keep making progress while preserving the order of messages.

nested ExistsRel policy conversion

I fixed the conversion of nested ExistsRel policies so nested relation checks are handled correctly. I also added coverage for the nested policy case.