wwwwwwwwwwwwwwwwwww
Changelog
Weekly updates and changes to Takeout
Week of June 15, 2026
66d28b6b
Features
- Self-healing stale local state —
createZeroClientnow detects when the local Zero state diverges from the server and triggers automatic recovery by resetting the client, preventing silent data corruption - Per-reason recovery strategy — each recovery trigger (stale state, auth expiry, connection loss) maps to a targeted cure action instead of a blanket reset, reducing unnecessary full re-syncs
- Multi-use case split for
on-zero— theusefunction now supports separate cases for different query patterns, improving performance by avoiding unnecessary re-renders across unrelated queries
Improvements
- Auth data cleanup on logout —
authDatais cleared per-instance on logout, preventing stale auth state from leaking between sessions - Worker-safe recovery reload — uses
globalThis.location?.reload?.()to safely reload in worker contexts wherelocation.reloadisn’t available - Named queries kept off the mutation runner — prevents named (materialized) queries from being routed through the mutation runner, avoiding redundant server work and potential conflicts
- Anonymous connections use Zero client-fallback instead of server-validated null — ensures anonymous users get a working client without requiring server-side validation that may not apply
- Exponential backoff in
run()— automatic retry with exponential backoff and stable-uptime reset on watch-restart, making dev-mode reconnections more reliable - Dev-boot codegen skips when
src/datais unchanged —on-zeronow avoids regenerating code during dev startup if the source data directory hasn’t changed, significantly reducing cold-start time - Drizzle version range loosened to match beta ranges
- Manual cleanup of
on-zerochanges for code quality — type consistency and dropped redundant casts - Shared bun install for CI — reverts to a single install step for faster builds
Upgrades
- One upgraded to 1.18.3 — fixes native swipe-back unsaved-changes guard
- Tamagui upgraded with performance improvements
- Shared dependency upgrades across one and tamagui
Bug fixes and chores (15)
Week of June 8, 2026
9b969e60
Features
- Multi-instance Zero clients —
combineZeroClientswith namespace dispatch lets you run multiple isolated Zero instances in the same app, each with its own schema, auth, and transport. Ideal for multi-tenant or embedded contexts - HTTP-pull transport mode —
on-zeronow supports stateless HTTP pull as an alternative to WebSocket transport. Uses stock Zero client over standard HTTP, with automatic cookie-based session handling - HTTP-pull 409 handling — maps pull 409 responses to
InvalidConnectionRequestBaseCookiereset for transparent reconnection createDatabaseaccepts a pre-built pool — database factory now takes an optional externalpg.Pool, enabling connection sharing with non-Zero services
Improvements
- HTTP-pull transport fixes — accepts
cacheURL(corrected from Zero’s deprecatedserveralias), binds fetch to preventIllegal invocationin browsers, filters push results to the pushing client like zero-cache - Direct-view re-materialization — views correctly re-materialize on resubscribe after React cleanup cycles, preventing stale query results
- Direct-view destroy ordering — tolerates the owning Zero client closing first without crashing
- Instance routing — non-inner instance queries route around the
ZeroProvidercontext, so multi-instance sub-queries don’t get lost - Zero instance kept alive across React Suspense hide/reveal cycles — prevents unnecessary client teardown during navigation transitions
@take-out/helpersde-coupled from tamagui — removes the tamagui dependency from helpers, preventing duplicate tamagui instances in consumer bundles- Constants moved off tamagui to remove circular dependencies
- Svg imports fixed for CJS interop — named imports from
react-native-svgnow work in dev mode - SSG docs page build fails loudly — silent skip now throws, preventing accidental missing pages in production
- CI reliability — tests gate on real zero-cache HTTP readiness with healthcheck + persistent replica, zero connect retries via page reload
- Zero connection monitoring — live instance tracking, needs-auth recovery, default error recovery restored
- Deploy injects real
GIT_SHAinto containers so/api/healthreports the deployed commit - Uncloud deploy runs migrations before deploy, verifies Zero publication, stops force-recreating Zero
- Windows guard for web workers —
isWebTouchableaccess guarded in web-worker contexts - Helpers exports ordered with types first for RN consumer resolution
- Native platform lookup handles web gracefully
- CI node version check — resolves the real node binary under bun, pins
engines.nodeto^24.3.0
Upgrades
@rocicorp/zero1.5.0 → 1.6.1- Tamagui bumped to 2.1.0 canary
- One upgraded to latest canary for various bugfixes
one/vxrn/@vxrnupgraded to canary 1.17.11
Bug fixes and chores (30)
Week of June 1, 2026
80ae5d10
Features
useMutationhelper foron-zero— simplifies React access to client and server mutation errors with a clean hook interface- Split docs and skills directories — CLI can optionally use separate directories for documentation vs skills, keeping the skill registry focused on actionable scripts
Improvements
ensure-zero-sqliteprefersprebuild-installovernode-gyp— skips the native build step when a prebuilt binary is available, speeding up installs
Bug fixes and chores (3)
Week of May 25, 2026
0c06a98d
Features
- Zero upgraded to 1.5 — major release with improved sync performance and reduced memory footprint
orezupgraded for Zero 1.5 compatibility — server-side Zero integration stays in sync with the client upgrade
Improvements
- CI workflow regenerates with literal
ZERO_VERSION— env vars in GitHub Actions emit as literal values instead of interpolated references, making workflow files self-contained - Safari user-agent check added for browser-specific handling
- Duplicated
on-zerosafety — guards against duplicatedon-zeropackages in the bundle that would cause lost async context from separate module instances
Bug fixes and chores (5)
Week of May 18, 2026
ddb1fbab
Features
- Hot-reloaded query functions fixed —
on-zeronow correctly resolves query functions after hot module replacement, so HMR updates to queries take effect without a full page reload
Improvements
generate-lite: type union support — the lite generator now correctly handles TypeScript union types in mutation argumentsgenerate-lite: comments and formatting preserved — generated output retains source comments and has cleaner formattinggenerate-lite: renamed props supported — property renames in mutations are reflected in the generated validators- Bad mutator binding fixed —
on-zerono longer creates incorrect closure bindings for mutators, preventing runtime errors - Demo lite backend seeds only in demo mode — prevents demo seed data from being applied in production
Bug fixes and chores (5)
Week of May 11, 2026
a861eb73
Features
- Soot support added —
on-zeronow works with the Soot framework for alternative server architectures orezupgraded to latest — keeps server-side integration current
Improvements
- Dialog
Sheet.ScrollViewfix — adapted dialogs letSheet.ScrollViewown the drag gesture, preventing scroll/drag conflicts in modal sheets - Query registries generated through package entry —
on-zerogenerate now routes query registries through the package entry point for correct resolution - Native Zero auth redirects fixed — focused screens properly handle
localhostHTTP redirects for Zero auth flows on native
Upgrades
- One upgraded to 1.17.2
Bug fixes and chores (5)
Week of May 4, 2026
5547fb33
Features
db:migratenow runs generate + migrate in one step — replaces the two-command workflow;db:buildadded for generate-only use
Improvements
- Docs updated for new database commands
- Android production build fixed — error handler crash resolved, native server URL corrected for release builds
- Skill description length optimized — shorter descriptions in skill listings for better CLI UX
- Unnecessary log cleanup removed
Upgrades
- One + vxrn bumped to 1.16.8 — fixes env define harvest for SSR
- Tamagui upgraded to stable RC — moves off canary to a release candidate for production stability
- One upgraded for redirect race fix on web routing
Bug fixes and chores (7)
Week of April 27, 2026
6bb1e7b9
Upgrades
- Various routing fixes in One — improved navigation reliability and redirect handling
- Various RNGH fixes in new Tamagui — React Native Gesture Handler compatibility improvements with the latest Tamagui build
Bug fixes and chores (2)
Week of April 20, 2026
25d4b53f
Features
- Mise recommended for bun version management — bootstrap now suggests
misefor managing bun versions, fixing issues with system package managers providing outdated builds
Improvements
freshDevenv sync — environment is automatically synced in dev mode on startup, keeping.envcurrent without manualenv:updateruns- Node version check uses
semver.satisfies— the preflight check now acceptsengines.noderange expressions (e.g.^24.3.0) instead of requiring exact version match
Bug fixes and chores (1)
Week of April 6, 2026
6fa7f24c
Features
deploy-lockself-diagnosing locks — locks now detect when they’re stuck and provide actionable diagnostics, with a cleanup callback for safe recoveryensure-zero-sqlitescript added for reliable native zero-sqlite module builds, handling prebuild-install, node-gyp fallback, and architecture detection
Improvements
@take-out/envpackage hardened for production: versions-aware config, explicit override preservation in freshdev mode, server/browser safety tightened, and override-env-mode support so tests and scripts can opt into specific environment profiles without clobbering production defaults@take-out/database: preserve the original migration error whenROLLBACK TO SAVEPOINTfails — previously a misleading “25P01: ROLLBACK TO SAVEPOINT can only be used in transaction blocks” replaced the real error during pglite wire-protocol proxy sessions, wasting CI debugging time- Env parsing fixed for unquoted dotenv values — backslash characters in values are no longer doubled, preventing key material corruption
- Postinstall builds packages for watch mode compatibility — generated code
stays in sync for
drizzle-zerowatch without manual rebuilds - Lite mode prebuild fixed to avoid
distrace withon-db-readymigrate RUNenvironment variable no longer propagated to sub-processes, preventing accidental sub-env execution
Upgrades
- Tamagui upgraded (multiple canary bumps including new canary, stable RC preparation)
- One upgraded to canary with latest fixes
Bug fixes and chores (5)
See early 2026 changes for previous updates.
Edit this page on GitHub.