I Shipped...

17 September 2026 (1PR)

block reserved schema control names

I made schema generation reject names that clash with built-in controls, applying the check consistently across the DSL, permissions and generated app types.

16 September 2026 (9PRs)

typed relation names follow runtime rules

I aligned generated TypeScript relation names with the runtime's naming rules and tied the generated catalogue to the schema it came from.

time limit hosted app provisioning

I put one deadline around both hosted-app requests and reading their responses, so a stalled response cannot leave provisioning waiting forever.

strip env file options before CLI dispatch

I made the CLI load explicit environment files and remove those options before handing the remaining arguments to a subcommand.

safe bigint subscription keys

I made large-number branch selectors safe to use in subscription keys, keeping different selector types distinct without changing the caller's input.

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 (5PRs)

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.