- Updated dependencies [
46450e7]:- @tanstack/db@0.5.28
- Updated dependencies [
7099459]:- @tanstack/db@0.5.24
- Updated dependencies [
05130f2]:- @tanstack/db@0.5.23
- Updated dependencies [
f9b741e]:- @tanstack/db@0.5.22
- Fix type of findOne queries in Vue such that they type to a singular result instead of an array of results. (#1134)
- Updated dependencies []:
- @tanstack/db@0.5.20
- Updated dependencies [
c1247e8]:- @tanstack/db@0.5.18
- Updated dependencies [
41308b8]:- @tanstack/db@0.5.16
- Updated dependencies [
32ec4d8]:- @tanstack/db@0.5.15
- Updated dependencies [
26ed0aa]:- @tanstack/db@0.5.14
-
Fixed
isReadyto returntruefor disabled queries inuseLiveQuery/injectLiveQueryacross all framework packages. When a query function returnsnullorundefined(disabling the query), there's no async operation to wait for, so the hook should be considered "ready" immediately. (#886)Additionally, all frameworks now have proper TypeScript overloads that explicitly support returning
undefined | nullfrom query functions, making the disabled query pattern type-safe.This fixes the common pattern where users conditionally enable queries and don't want to show loading states when the query is disabled.
-
Updated dependencies [
c4b9399,a1a484e]:- @tanstack/db@0.5.11
- Updated dependencies [
5f474f1]:- @tanstack/db@0.5.9
- Updated dependencies [
295cb45]:- @tanstack/db@0.5.7
- Updated dependencies [
c8a2c16]:- @tanstack/db@0.5.6
- Updated dependencies [
077fc1a]:- @tanstack/db@0.5.5
- Updated dependencies [
99a3716]:- @tanstack/db@0.5.2
- Updated dependencies [
a83a818]:- @tanstack/db@0.5.1
- Updated dependencies [
243a35a,f9d11fc,7aedf12,28f81b5,28f81b5,f6ac7ea,01093a7]:- @tanstack/db@0.5.0
- Updated dependencies [
75470a8]:- @tanstack/db@0.4.19
- Updated dependencies [
49bcaa5]:- @tanstack/db@0.4.17
- Updated dependencies [
6738247]:- @tanstack/db@0.4.15
- Updated dependencies [
970616b]:- @tanstack/db@0.4.14
- Updated dependencies [
3c9526c]:- @tanstack/db@0.4.13
- Updated dependencies [
5566b26]:- @tanstack/db@0.4.11
- Updated dependencies [
6692aad]:- @tanstack/db@0.4.7
- Updated dependencies [
7556fb6]:- @tanstack/db@0.4.5
- Updated dependencies [
32f2212]:- @tanstack/db@0.4.3
- Updated dependencies [
8cd0876]:- @tanstack/db@0.4.1
-
Let collection.subscribeChanges return a subscription object. Move all data loading code related to optimizations into that subscription object. (#564)
-
Updated dependencies [
2f87216,ac6250a,2f87216]:- @tanstack/db@0.4.0
- Updated dependencies [
cacfca2]:- @tanstack/db@0.3.2
- Updated dependencies [
5f51f35]:- @tanstack/db@0.3.1
- Updated dependencies [
b162556]:- @tanstack/db@0.2.3
- Updated dependencies [
33515c6]:- @tanstack/db@0.2.2
- Updated dependencies [
620ebea]:- @tanstack/db@0.2.1
- Updated dependencies [
cc4c34a]:- @tanstack/db@0.1.12
- Updated dependencies [
b869f68]:- @tanstack/db@0.1.11
- Updated dependencies [
d64b4a8]:- @tanstack/db@0.1.9
- Updated dependencies [
ad33e9e]:- @tanstack/db@0.1.6
- Updated dependencies [
9a5a20c]:- @tanstack/db@0.1.5
-
Ensure that the ready status is correctly returned from a live query (#390)
-
Updated dependencies [
c90b4d8,6c1c19c,69a6d2d,6250a92,68538b4]:- @tanstack/db@0.1.4
- Updated dependencies [
0cb7699]:- @tanstack/db@0.1.3
-
We have moved development of the differential dataflow implementation from @electric-sql/d2mini to a new @tanstack/db-ivm package inside the tanstack db monorepo to make development simpler. (#330)
-
Updated dependencies [
7d2f4be,f0eda36]:- @tanstack/db@0.1.0
- Updated dependencies [
6e8d7f6]:- @tanstack/db@0.0.33
- Updated dependencies [
e04bd12]:- @tanstack/db@0.0.32
- Updated dependencies [
3e9a36d]:- @tanstack/db@0.0.31
- Updated dependencies [
6bdde55]:- @tanstack/db@0.0.30
- Updated dependencies [
bec8620]:- @tanstack/db@0.0.27
-
Add initial release of TrailBase collection for TanStack DB. TrailBase is a blazingly fast, open-source alternative to Firebase built on Rust, SQLite, and V8. It provides type-safe REST and realtime APIs with sub-millisecond latencies, integrated authentication, and flexible access control - all in a single executable. This collection type enables seamless integration with TrailBase backends for high-performance real-time applications. (#228)
-
Updated dependencies [
09c6995]:- @tanstack/db@0.0.26
- Updated dependencies [
056609e]:- @tanstack/db@0.0.23
- Updated dependencies [
aeee9a1]:- @tanstack/db@0.0.22
- Updated dependencies [
8e23322]:- @tanstack/db@0.0.21
- Updated dependencies [
f13c11e]:- @tanstack/db@0.0.20
- Updated dependencies [
9f0b0c2]:- @tanstack/db@0.0.19
- Updated dependencies [
7e63d76]:- @tanstack/db@0.0.17
- Updated dependencies [
74c140d]:- @tanstack/db@0.0.14
-
feat: implement Collection Lifecycle Management (#198)
Adds automatic lifecycle management for collections to optimize resource usage.
New Features:
- Added
startSyncoption (defaults tofalse, set totrueto start syncing immediately) - Automatic garbage collection after
gcTime(default 5 minutes) of inactivity - Collection status tracking: "idle" | "loading" | "ready" | "error" | "cleaned-up"
- Manual
preload()andcleanup()methods for lifecycle control
Usage:
const collection = createCollection({ startSync: false, // Enable lazy loading gcTime: 300000, // Cleanup timeout (default: 5 minutes) }) console.log(collection.status) // Current state await collection.preload() // Ensure ready await collection.cleanup() // Manual cleanup
- Added
-
Add createOptimisticAction helper that replaces useOptimisticMutation (#210)
An example of converting a
useOptimisticMutationhook tocreateOptimisticAction. Now all optimistic & server mutation logic are consolidated.-import { useOptimisticMutation } from '@tanstack/react-db' +import { createOptimisticAction } from '@tanstack/react-db' + +// Create the `addTodo` action, passing in your `mutationFn` and `onMutate`. +const addTodo = createOptimisticAction<string>({ + onMutate: (text) => { + // Instantly applies the local optimistic state. + todoCollection.insert({ + id: uuid(), + text, + completed: false + }) + }, + mutationFn: async (text) => { + // Persist the todo to your backend + const response = await fetch('/api/todos', { + method: 'POST', + body: JSON.stringify({ text, completed: false }), + }) + return response.json() + } +}) const Todo = () => { - // Create the `addTodo` mutator, passing in your `mutationFn`. - const addTodo = useOptimisticMutation({ mutationFn }) - const handleClick = () => { - // Triggers the mutationFn - addTodo.mutate(() => - // Instantly applies the local optimistic state. - todoCollection.insert({ - id: uuid(), - text: '🔥 Make app faster', - completed: false - }) - ) + // Triggers the onMutate and then the mutationFn + addTodo('🔥 Make app faster') } return <Button onClick={ handleClick } /> }
-
Updated dependencies [
945868e,0f8a008,57b5f5d]:- @tanstack/db@0.0.13
- Updated dependencies [
f6abe9b]:- @tanstack/db@0.0.12
-
Export
ElectricCollectionUtils& allow passing generic tocreateTransaction(#179) -
Updated dependencies [
66ed58b,c5489ff]:- @tanstack/db@0.0.11
- Updated dependencies [
38d4505]:- @tanstack/db@0.0.10
- Updated dependencies [
2ae0b09]:- @tanstack/db@0.0.9
-
A large refactor of the core
Collectionwith: (#155)- a change to not use Store internally and emit fine grade changes with
subscribeChangesandsubscribeKeyChangesmethods. - changes to the
Collectionapi to be moreMaplike for reads, withget,has,size,entries,keys, andvalues. - renames
config.getIdtoconfig.getKeyfor consistency with theMaplike api.
- a change to not use Store internally and emit fine grade changes with
-
Updated dependencies [
5c538cf,9553366,b4602a0,02adc81,06d8ecc,c50cd51]:- @tanstack/db@0.0.8
-
Expose utilities on collection instances (#161)
Implemented a utility exposure pattern for TanStack DB collections that allows utility functions to be passed as part of collection options and exposes them under a
.utilsnamespace, with full TypeScript typing.- Refactored
createCollectionin packages/db/src/collection.ts to accept options with utilities directly - Added
utilsproperty to CollectionImpl - Added TypeScript types for utility functions and utility records
- Changed Collection from a class to a type, updating all usages to use createCollection() instead
- Updated Electric/Query implementations
- Utilities are now ergonomically accessible under
.utils - Full TypeScript typing is preserved for both collection data and utilities
- API is clean and straightforward - users can call
createCollection(optionsCreator(config))directly - Zero-boilerplate TypeScript pattern that infers utility types automatically
- Refactored
-
Updated dependencies [
8b43ad3]:- @tanstack/db@0.0.7
-
Collections must have a getId function & use an id for update/delete operators (#134)
-
the
keyByquery operator has been removed, keying withing the query pipeline is now automatic (#144) -
Updated dependencies [
1fbb844,338efc2,ee5d026,e7b036c,e4feb0c]:- @tanstack/db@0.0.5
- Updated dependencies [
8ce449e]:- @tanstack/db@0.0.4
- Updated dependencies [
b29420b]:- @tanstack/db@0.0.3
- Add Vue support (#83)