Skip to content

Conversation

@github-actions
Copy link
Contributor

@github-actions github-actions bot commented Nov 20, 2025

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.

Releases

@tanstack/angular-db@0.1.30

Patch Changes

@tanstack/db@0.5.4

Patch Changes

  • Fix progressive mode to use fetchSnapshot and atomic swap (#852)

    Progressive mode was broken because requestSnapshot() injected snapshots into the stream in causally correct position, which didn't work properly with the full mode stream. This release fixes progressive mode by:

    Core Changes:

    • Use fetchSnapshot() during initial sync to fetch and apply snapshots immediately in sync transactions
    • Buffer all stream messages during initial sync (renamed flag to isBufferingInitialSync)
    • Perform atomic swap on first up-to-date: truncate snapshot data → apply buffered messages → mark ready
    • Track txids/snapshots only after atomic swap (enables correct optimistic transaction confirmation)

    Test Infrastructure:

    • Added ELECTRIC_TEST_HOOKS symbol for test control (hidden from public API)
    • Added progressiveTestControl.releaseInitialSync() to E2E test config for explicit transition control
    • Created comprehensive progressive mode E2E test suite (8 tests):
      • Explicit snapshot phase and atomic swap validation
      • Txid tracking behavior (Electric-only)
      • Multiple concurrent snapshots with deduplication
      • Incremental updates after swap
      • Predicate handling and resilience tests

    Bug Fixes:

    • Fixed type errors in test files
    • All 166 unit tests + 95 E2E tests passing
  • Improved error messages when invalid source types are passed to .from() or .join() methods. When users mistakenly pass a string, null, array, or other invalid type instead of an object with a collection, they now receive a clear, actionable error message with an example of the correct usage (e.g., .from({ todos: todosCollection })). (#875)

  • Migrated paced mutations implementation from @tanstack/pacer to @tanstack/pacer-lite. The lite version provides the same core functionality with minimal overhead and no external dependencies, making it more suitable for library use. This is an internal implementation change with no impact on the public API - all paced mutation strategies (debounce, throttle, queue) continue to work exactly as before. (#880)

  • Add warning when calling .preload() on collections with on-demand syncMode. In on-demand mode, data is only loaded when queries request it, so calling .preload() on the collection itself is a no-op. Users should create a live query and call .preload() on that instead. (#871)

@tanstack/electric-db-collection@0.2.4

Patch Changes

  • Fixed bug where like() and ilike() operators were not working in on-demand mode. The SQL compiler was incorrectly treating these operators as function calls (LIKE(column, pattern)) instead of binary operators (column LIKE pattern). Now like() and ilike() correctly compile to SQL binary operator syntax, enabling search queries with pattern matching in on-demand mode. This fix supports patterns like like(lower(offers.title), '%search%') and combining multiple conditions with or(). (#884)

  • Fix progressive mode to use fetchSnapshot and atomic swap (#852)

    Progressive mode was broken because requestSnapshot() injected snapshots into the stream in causally correct position, which didn't work properly with the full mode stream. This release fixes progressive mode by:

    Core Changes:

    • Use fetchSnapshot() during initial sync to fetch and apply snapshots immediately in sync transactions
    • Buffer all stream messages during initial sync (renamed flag to isBufferingInitialSync)
    • Perform atomic swap on first up-to-date: truncate snapshot data → apply buffered messages → mark ready
    • Track txids/snapshots only after atomic swap (enables correct optimistic transaction confirmation)

    Test Infrastructure:

    • Added ELECTRIC_TEST_HOOKS symbol for test control (hidden from public API)
    • Added progressiveTestControl.releaseInitialSync() to E2E test config for explicit transition control
    • Created comprehensive progressive mode E2E test suite (8 tests):
      • Explicit snapshot phase and atomic swap validation
      • Txid tracking behavior (Electric-only)
      • Multiple concurrent snapshots with deduplication
      • Incremental updates after swap
      • Predicate handling and resilience tests

    Bug Fixes:

    • Fixed type errors in test files
    • All 166 unit tests + 95 E2E tests passing
  • Updated dependencies [acb3e4f, 464805d, 2c2e4db, 15c772f]:

    • @tanstack/db@0.5.4

@tanstack/powersync-db-collection@0.1.8

Patch Changes

@tanstack/query-db-collection@1.0.3

Patch Changes

  • Improved the type of the queryFn's ctx.meta property of the Query Collection to include the loadSubsetOptions (#857)

  • Fixed bug where optimistic state leaked into syncedData when using writeInsert inside onInsert handlers. Previously, when syncing server-generated fields (like IDs or timestamps) using writeInsert within an onInsert handler, the QueryClient cache was updated with combined visible state (including optimistic changes), which triggered the query observer to write optimistic values back to syncedData. Now the cache is correctly updated with only server-confirmed state, ensuring syncedData maintains separation from optimistic state. (#879)

  • Updated dependencies [acb3e4f, 464805d, 2c2e4db, 15c772f]:

    • @tanstack/db@0.5.4

@tanstack/react-db@0.1.48

Patch Changes

@tanstack/rxdb-db-collection@0.1.36

Patch Changes

@tanstack/solid-db@0.1.47

Patch Changes

@tanstack/svelte-db@0.1.47

Patch Changes

@tanstack/trailbase-db-collection@0.1.48

Patch Changes

@tanstack/vue-db@0.0.80

Patch Changes

@tanstack/db-collection-e2e@0.0.6

Patch Changes

  • Fix progressive mode to use fetchSnapshot and atomic swap (#852)

    Progressive mode was broken because requestSnapshot() injected snapshots into the stream in causally correct position, which didn't work properly with the full mode stream. This release fixes progressive mode by:

    Core Changes:

    • Use fetchSnapshot() during initial sync to fetch and apply snapshots immediately in sync transactions
    • Buffer all stream messages during initial sync (renamed flag to isBufferingInitialSync)
    • Perform atomic swap on first up-to-date: truncate snapshot data → apply buffered messages → mark ready
    • Track txids/snapshots only after atomic swap (enables correct optimistic transaction confirmation)

    Test Infrastructure:

    • Added ELECTRIC_TEST_HOOKS symbol for test control (hidden from public API)
    • Added progressiveTestControl.releaseInitialSync() to E2E test config for explicit transition control
    • Created comprehensive progressive mode E2E test suite (8 tests):
      • Explicit snapshot phase and atomic swap validation
      • Txid tracking behavior (Electric-only)
      • Multiple concurrent snapshots with deduplication
      • Incremental updates after swap
      • Predicate handling and resilience tests

    Bug Fixes:

    • Fixed type errors in test files
    • All 166 unit tests + 95 E2E tests passing
  • Updated dependencies [f66f2cf, e657a7d, f15b2a7, acb3e4f, 464805d, 2c2e4db, 15c772f]:

    • @tanstack/query-db-collection@1.0.3
    • @tanstack/electric-db-collection@0.2.4
    • @tanstack/db@0.5.4

@github-actions github-actions bot force-pushed the changeset-release/main branch 7 times, most recently from 9536b58 to f605974 Compare November 21, 2025 19:24
@github-actions github-actions bot force-pushed the changeset-release/main branch from f605974 to 65c1684 Compare November 21, 2025 19:39
@samwillis samwillis merged commit 0584a2c into main Nov 21, 2025
@samwillis samwillis deleted the changeset-release/main branch November 21, 2025 19:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants