Repository navigation
ci: Version Packages (rc) - #2330
Conversation
|
Important Review skippedBot user detected. To trigger a single review, invoke the
|
96d97bd to
32f629e
Compare
32f629e to
cfd0a56
Compare
Incremental update benchmarkComparing Overall median write time vs base: 1.04× · cold hydrate time: 1.06× (geometric mean of per-case ratios; lower is faster). Writes: 1 regression(s), 0 improvement(s) (threshold: ±20% and >0.05ms). Cold hydrate: 2 regression(s), 0 improvement(s) (threshold: ±50% and >5ms). Per-case flags are noisy on shared runners. Read the geometric means first. Writes
Cold hydrate
Each row aggregates the 14.4 scale/index/write-mode configurations of that query; per-configuration tables below. 100 rows/collection | source indexes: none | synced writes — geomean 0.98×, cold 1.08×
100 rows/collection | source indexes: none | optimistic writes — geomean 0.99×, cold 0.96×
100 rows/collection | source indexes: manual | synced writes — geomean 1.09×, cold 1.05×
100 rows/collection | source indexes: manual | optimistic writes — geomean 0.98×, cold 0.99×
1,000 rows/collection | source indexes: none | synced writes — geomean 1.18×, cold 1.09×, 2 change(s)
1,000 rows/collection | source indexes: none | optimistic writes — geomean 1.12×, cold 1.07×
1,000 rows/collection | source indexes: manual | synced writes — geomean 1.07×, cold 0.97×
1,000 rows/collection | source indexes: manual | optimistic writes — geomean 0.96×, cold 1.21×
10,000 rows/collection | source indexes: none | synced writes — geomean 1.03×, cold 1.32×, 1 change(s)
10,000 rows/collection | source indexes: none | optimistic writes — geomean 0.98×, cold 0.96×
10,000 rows/collection | source indexes: manual | synced writes — geomean 0.99×, cold 0.98×
10,000 rows/collection | source indexes: manual | optimistic writes — geomean 1.14×, cold 1.06×
Runner: node v24.8.0, linux 7.0.0-1017-azure, AMD EPYC 9V45 96-Core Processor. Timings on shared CI runners are noisy; treat small deltas as indicative only. |
|
Size Change: 0 B Total Size: 239 kB ℹ️ View Unchanged
|
More templates
@tanstack/angular-db
@tanstack/browser-db-sqlite-persistence
@tanstack/capacitor-db-sqlite-persistence
@tanstack/cloudflare-durable-objects-db-sqlite-persistence
@tanstack/convex-db-collection
@tanstack/db
@tanstack/db-ivm
@tanstack/db-sqlite-persistence-core
@tanstack/electric-db-collection
@tanstack/electron-db-sqlite-persistence
@tanstack/expo-db-sqlite-persistence
@tanstack/node-db-sqlite-persistence
@tanstack/offline-transactions
@tanstack/powersync-db-collection
@tanstack/preact-db
@tanstack/query-db-collection
@tanstack/react-db
@tanstack/react-native-db-sqlite-persistence
@tanstack/react-router-with-db
@tanstack/rxdb-db-collection
@tanstack/solid-db
@tanstack/svelte-db
@tanstack/tauri-db-sqlite-persistence
@tanstack/trailbase-db-collection
@tanstack/vue-db
commit: |
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
mainis currently in pre mode so this branch has prereleases rather than normal releases. If you want to exit prereleases, runchangeset pre exitonmain.Releases
@tanstack/angular-db@1.0.0-rc.1.2
Patch Changes
Keep adapter-owned live queries and their source subscriptions when only the ordered query's finite
.limit()or.offset()changes. Preserve exact requested bounds and select only installed ranks when page windows include negative offsets. Keep Angular's list/findOne result shape consistent with the current query during reactive changes, and avoid React 18 layout-effect warnings during server rendering. (#2316)Updated dependencies [
30e8546,a3c4d06,035a526,baabf57,9be51e0,a3c4d06,85392bd,9be3c4e]:@tanstack/browser-db-sqlite-persistence@1.0.0-rc.1.2
Patch Changes
b190945]:@tanstack/capacitor-db-sqlite-persistence@1.0.0-rc.1.2
Patch Changes
b190945]:@tanstack/cloudflare-durable-objects-db-sqlite-persistence@1.0.0-rc.1.2
Patch Changes
b190945]:@tanstack/convex-db-collection@1.0.0-rc.1.2
Patch Changes
Release the Convex query subscription when a Collection's first load fails, or when a later acceptance failure stops the sync run, instead of keeping it until cleanup. A new subscription no longer fails from an error the Convex client cached for its query before it subscribed, such as a restart right after a failed run; it waits for the server's result, also when the server's answer arrives before the client replays the cached error.
awaitSyncduring that wait no longer fails the run from the cached error. While the latest result is a failure,awaitSyncrejects with the reported failure instead of reporting it again. (#2336)Updated dependencies [
30e8546,a3c4d06,035a526,baabf57,9be51e0,a3c4d06,85392bd,9be3c4e]:@tanstack/db@1.0.0-rc.1.2
Patch Changes
Keep adapter-owned live queries and their source subscriptions when only the ordered query's finite
.limit()or.offset()changes. Preserve exact requested bounds and select only installed ranks when page windows include negative offsets. Keep Angular's list/findOne result shape consistent with the current query during reactive changes, and avoid React 18 layout-effect warnings during server rendering. (#2316)Fix reserved metadata before
fn.select(),fn.where(), andfn.having()callbacks in live queries, Effects, and correlated includes. Preserve genuine source metadata, authored inline values, and selected output when compiled queries share a cache. Preserve every ordered window and joined-source publication dependency when one source feeds multiple compiled views or nested queries. (#2312)Accept
autoIndexanddefaultIndexTypeon live-query Collection and hook configs so downstream queries can index intermediate results. Keep independent React Suspense bindings' Collection options separate when they differ. Validate eager indexing declarations on every DbClient preload, including cached reuse. (#2314)Preserve ordering invalidations raised while an ordered repair retires its previous acquisitions, including an adapter delete of a row in the repaired prefix. Revalidate the affected source prefix before publishing the repaired window. (#2302)
Reject negative
.limit()values and negative limits passed tosetWindow()before they can change a query or its active window. Keep zero limits and negative offsets working. (#2333)Keep the last complete live-query result while a new include demand loads under a sibling subscription's truncate replay. The demand now joins the publication barrier when it starts, so a sibling that settles first cannot publish an incomplete replacement. A failed held demand keeps that result until its own coverage recovers or its demand retires. (#2312)
Preserve Collection rows and mutation originals while Solid
useLiveQueryupdates, including nested values, live getters, callable fields, and explicit undefined fields. Keep unchanged nested elements stable and avoid repeated expansion of shared acyclic values. (#2307)Preserve enumerable own source fields through Core query selection, including user symbols and inherited-name shadows. Build nested projections without changing borrowed source data or retaining fields the authored object replaces.
Treat
-0and0as distinct row values. A synced update, a replay that replaces a subscription's rows, and an optimistic update that change a field only from-0to0(or back) now publish a change; before, the Collection could store the new value while subscribers kept the old one. A draft write of0over-0is now recorded as a change instead of being dropped. A transaction that deletes a row and reinserts it with only a zero's sign changed now sends that update instead of dropping it, and an ordered live query or Effect (orderBy, with or withoutlimit) now delivers an update that changes only a zero's sign; before, it kept the old value. Join, distinct, and grouping keys still treat-0and0as equal. A sync insert of a held key whose row differs only by a zero's sign is now a duplicate key, not an equal re-insert. The same holds inside typed arrays. An ordered Effect also delivers an update whose value is a class instance, which can change in private state its enumerable fields do not show. (#2336)Updated dependencies [
30e8546,9be3c4e]:@tanstack/db-ivm@1.0.0-rc.1.2
Patch Changes
Keep adapter-owned live queries and their source subscriptions when only the ordered query's finite
.limit()or.offset()changes. Preserve exact requested bounds and select only installed ranks when page windows include negative offsets. Keep Angular's list/findOne result shape consistent with the current query during reactive changes, and avoid React 18 layout-effect warnings during server rendering. (#2316)Treat
-0and0as distinct row values. A synced update, a replay that replaces a subscription's rows, and an optimistic update that change a field only from-0to0(or back) now publish a change; before, the Collection could store the new value while subscribers kept the old one. A draft write of0over-0is now recorded as a change instead of being dropped. A transaction that deletes a row and reinserts it with only a zero's sign changed now sends that update instead of dropping it, and an ordered live query or Effect (orderBy, with or withoutlimit) now delivers an update that changes only a zero's sign; before, it kept the old value. Join, distinct, and grouping keys still treat-0and0as equal. A sync insert of a held key whose row differs only by a zero's sign is now a duplicate key, not an equal re-insert. The same holds inside typed arrays. An ordered Effect also delivers an update whose value is a class instance, which can change in private state its enumerable fields do not show. (#2336)@tanstack/db-sqlite-persistence-core@1.0.0-rc.1.2
Patch Changes
Retain run-only row metadata when an unrelated peer notice reloads a row recreated by an enclosing sync transaction. Keep that metadata nondurable unless the source explicitly writes it, while preserving peer replacement and delete behavior. (#2303)
Updated dependencies [
30e8546,a3c4d06,035a526,baabf57,9be51e0,a3c4d06,85392bd,9be3c4e]:@tanstack/electric-db-collection@1.0.0-rc.1.2
Patch Changes
Report an extended Electric outage in
collection.health. After the Collection is ready, five failed requests to the shape log in a row, retried by the client or by anonErrorthat returns a retry, show as the source node'sfailureReasonwith the fifth attempt's error, and the next applied up-to-date clears it. Shorter outages, and retried subset snapshot requests, leave health unchanged. A restarted or reloaded Collection resolvesawaitTxIdfor a txid the previous sync run delivered only once it is ready again, instead of at once, and the sync metadata it exports for hydration carries those txids only from then on. When the stream fails, pendingawaitTxIdandawaitMatchcalls reject instead of waiting for their timeout, and so do calls made after the failure, also when an abort stopped the stream. AnonErrorhandler that throws now gives up the stream with its own error, without an unhandled rejection. A give-up while the first snapshot's acceptance is pending, under a persistence wrapper, now fails the Collection once that acceptance makes it ready, instead of leaving a stopped stream with healthy status. AbortingshapeOptions.signalafter the Collection is ready now shows as the source node'serror, since the Collection no longer syncs. (#2336)Updated dependencies [
30e8546,a3c4d06,035a526,baabf57,9be51e0,a3c4d06,85392bd,9be3c4e]:@tanstack/electron-db-sqlite-persistence@1.0.0-rc.1.2
Patch Changes
b190945]:@tanstack/expo-db-sqlite-persistence@1.0.0-rc.1.2
Patch Changes
b190945]:@tanstack/node-db-sqlite-persistence@1.0.0-rc.1.2
Patch Changes
b190945]:@tanstack/powersync-db-collection@1.0.0-rc.1.2
Patch Changes
Release the change watcher and any diff trigger when an eager Collection's first load fails, instead of keeping them until cleanup. (#2336)
Updated dependencies [
30e8546,a3c4d06,035a526,baabf57,9be51e0,a3c4d06,85392bd,9be3c4e]:@tanstack/preact-db@1.0.0-rc.1.2
Patch Changes
Keep adapter-owned live queries and their source subscriptions when only the ordered query's finite
.limit()or.offset()changes. Preserve exact requested bounds and select only installed ranks when page windows include negative offsets. Keep Angular's list/findOne result shape consistent with the current query during reactive changes, and avoid React 18 layout-effect warnings during server rendering. (#2316)Updated dependencies [
30e8546,a3c4d06,035a526,baabf57,9be51e0,a3c4d06,85392bd,9be3c4e]:@tanstack/query-db-collection@1.5.1
Patch Changes
@tanstack/react-db@1.0.0-rc.1.2
Patch Changes
Keep adapter-owned live queries and their source subscriptions when only the ordered query's finite
.limit()or.offset()changes. Preserve exact requested bounds and select only installed ranks when page windows include negative offsets. Keep Angular's list/findOne result shape consistent with the current query during reactive changes, and avoid React 18 layout-effect warnings during server rendering. (#2316)Accept
autoIndexanddefaultIndexTypeon live-query Collection and hook configs so downstream queries can index intermediate results. Keep independent React Suspense bindings' Collection options separate when they differ. Validate eager indexing declarations on every DbClient preload, including cached reuse. (#2314)Updated dependencies [
30e8546,a3c4d06,035a526,baabf57,9be51e0,a3c4d06,85392bd,9be3c4e]:@tanstack/react-native-db-sqlite-persistence@1.0.0-rc.1.2
Patch Changes
b190945]:@tanstack/rxdb-db-collection@1.0.0-rc.1.2
Patch Changes
Fix initial sync failing with "Cannot insert document ... from sync because it already exists" when a document is inserted and then updated while the initial fetch is running. The buffered insert event is now applied over the row that the initial read already returned. (#2336)
Remove a field from a synced row when an RxDB document update removes it. RxDB change events carry the whole document, so the adapter now replaces the row instead of merging the update into it. (#2336)
Updated dependencies [
30e8546,a3c4d06,035a526,baabf57,9be51e0,a3c4d06,85392bd,9be3c4e]:@tanstack/solid-db@1.0.0-rc.1.2
Patch Changes
Keep adapter-owned live queries and their source subscriptions when only the ordered query's finite
.limit()or.offset()changes. Preserve exact requested bounds and select only installed ranks when page windows include negative offsets. Keep Angular's list/findOne result shape consistent with the current query during reactive changes, and avoid React 18 layout-effect warnings during server rendering. (#2316)Prevent native source row reads during query compilation from recreating the Solid framework binding. Keep actual callback and config query parameters reactive. (#2312)
Preserve Collection rows and mutation originals while Solid
useLiveQueryupdates, including nested values, live getters, callable fields, and explicit undefined fields. Keep unchanged nested elements stable and avoid repeated expansion of shared acyclic values. (#2307)Preserve enumerable own source fields through Core query selection, including user symbols and inherited-name shadows. Build nested projections without changing borrowed source data or retaining fields the authored object replaces.
Updated dependencies [
30e8546,a3c4d06,035a526,baabf57,9be51e0,a3c4d06,85392bd,9be3c4e]:@tanstack/svelte-db@1.0.0-rc.1.2
Patch Changes
Keep adapter-owned live queries and their source subscriptions when only the ordered query's finite
.limit()or.offset()changes. Preserve exact requested bounds and select only installed ranks when page windows include negative offsets. Keep Angular's list/findOne result shape consistent with the current query during reactive changes, and avoid React 18 layout-effect warnings during server rendering. (#2316)Updated dependencies [
30e8546,a3c4d06,035a526,baabf57,9be51e0,a3c4d06,85392bd,9be3c4e]:@tanstack/tauri-db-sqlite-persistence@1.0.0-rc.1.2
Patch Changes
b190945]:@tanstack/trailbase-db-collection@1.0.0-rc.1.2
Patch Changes
30e8546,a3c4d06,035a526,baabf57,9be51e0,a3c4d06,85392bd,9be3c4e]:@tanstack/vue-db@1.0.0-rc.1.2
Patch Changes
Keep adapter-owned live queries and their source subscriptions when only the ordered query's finite
.limit()or.offset()changes. Preserve exact requested bounds and select only installed ranks when page windows include negative offsets. Keep Angular's list/findOne result shape consistent with the current query during reactive changes, and avoid React 18 layout-effect warnings during server rendering. (#2316)Updated dependencies [
30e8546,a3c4d06,035a526,baabf57,9be51e0,a3c4d06,85392bd,9be3c4e]: