Changelog
New features, improvements and fixes in every Tessera release.
Typed realtime queries
Subscribe to any query and get updates that keep the full type of the result. The client infers the row shape from your schema, so a subscription is as safe to use as a one-off read.
Live queries
db.tasks.subscribe()returns a typed async iterator of rows.Updates are diffed on the server, so only changed rows are sent.
Row-level rules run on every update, not just the first result.
Upgrading
Existing watch() calls keep working. Switch to subscribe() when you want inferred types and automatic reconnects.
Migration lock timeout
Long migrations on large tables no longer fail with a lock timeout.
What changed
The migration lock is now renewed while a step is running.
tessera migrate applyreports which step holds the lock if another run is in progress.Added
--lock-timeoutfor teams that want a stricter limit.
Database branching
Every pull request can now get its own isolated copy of your data, so you can test a schema change against real rows without touching shared environments.
Preview branches
Branches are created from any environment with
tessera branch create.Copies share storage until they diverge, so creation takes seconds.
Branches are deleted automatically when the pull request is closed.
Good to know
Branch data counts toward your storage limit while the branch exists. See the Preview branches guide in the docs for setup with your CI.
Faster cold starts
Functions now start up to 60% faster after a period of inactivity.
What changed
Dependencies are snapshotted at deploy time instead of resolved on first call.
The runtime keeps a small pool of warm workers per region.
Median cold start dropped from 480ms to 190ms in our benchmarks.
Python SDK
A first-class, typed client for Python. It mirrors the TypeScript client so examples translate one to one.
Highlights
Install with
pip install tessera.Generated types from your schema through
tessera generate --lang python.Async and sync clients, with the same query builder as TypeScript.
Auth session format
Session tokens now use the v2 format. Existing sessions keep working until they expire, and new sessions are issued in the new format.
Migration notes
Custom code that decodes tokens should read the
subandexpclaims from the new payload.The public key set is available at the same JWKS endpoint.
Set
sessionFormat: "v1"intessera.config.tsto delay the switch by one release.
CLI init wizard
tessera init now scaffolds a project for your framework instead of a blank folder.
Templates
Next.js, Remix, SvelteKit and plain Node are supported.
The wizard adds
.enventries and a workingschema.ts.Run it inside an existing app to add Tessera without overwriting files.
Presence flicker
Fixed duplicate presence events after a client reconnects.
What changed
A reconnecting client now resumes its previous presence session instead of opening a second one.
Stale sessions are cleaned up after five seconds.