Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
427 commits
Select commit Hold shift + click to select a range
f1c844f
Don't pin @electric-sql/client version (#1031)
KyleAMathews Dec 17, 2025
0abf979
ci: Version Packages (#1033)
github-actions[bot] Dec 17, 2025
997fbae
Handle subset end message in Electric collection (#1004)
kevin-dp Dec 17, 2025
8ed7725
Delete a row by its key (#1003)
kevin-dp Dec 17, 2025
5eb8300
Tagged rows and support for move outs in Electric DB collection (#942)
kevin-dp Dec 17, 2025
01452bf
Fix: deleted items not disappearing from live queries with `.limit()`…
KyleAMathews Dec 19, 2025
52b6817
ci: Version Packages (#1036)
github-actions[bot] Dec 19, 2025
26ed0aa
fix(db): re-request and buffer subsets after truncate for on-demand s…
samwillis Dec 19, 2025
7f562f9
ci: Version Packages (#1050)
github-actions[bot] Dec 19, 2025
32ec4d8
fix: prevent duplicate inserts from reaching D2 pipeline in live quer…
samwillis Dec 19, 2025
34c4c5c
docs: regenerate API documentation (#1051)
github-actions[bot] Dec 19, 2025
5fd0f1e
ci: Version Packages (#1055)
github-actions[bot] Dec 19, 2025
961ef49
Fix slow onInsert awaitMatch performance issue (#1029)
KyleAMathews Dec 22, 2025
fc59b9f
Add missing changeset for PR 1029 (#1062)
KyleAMathews Dec 22, 2025
d632741
ci: Version Packages (#1063)
github-actions[bot] Dec 22, 2025
41308b8
fix(react-db): useLiveInfiniteQuery deletion not working with descend…
samwillis Dec 23, 2025
2c2420c
ci: Version Packages (#1067)
github-actions[bot] Dec 23, 2025
c5523c0
fix: auto-update example dependencies in Version Packages PR (#1073)
samwillis Dec 29, 2025
7ac2c15
chore(deps): update all non-major dependencies (#987)
renovate[bot] Dec 29, 2025
fb2f623
fix: handle overlapping subset queries returning same row with differ…
ibarakaiev Dec 30, 2025
cebf933
fix(electric-db-collection): prevent orphan transactions after must-r…
ibarakaiev Dec 30, 2025
185dd73
Fix query syntax in examples (remove ===) (#1084)
KyleAMathews Dec 31, 2025
c110b6c
chore(deps): update all non-major dependencies (#1088)
renovate[bot] Jan 5, 2026
54671e2
Remove misleading schema arguments (#1002) and backfill missing mock …
ignatz Jan 6, 2026
345be0f
feat: [PowerSync] Support Collection Metadata (#999)
stevensJourney Jan 6, 2026
1e64973
feat(svelte-db): Add findOne() / SingleResult support to useLiveQuery…
elohmeier Jan 6, 2026
d542667
Fix QueryCompilationError with undefined expression type (#1082)
KyleAMathews Jan 7, 2026
65336df
Fix a race condition in WebLocksLeader where transactions could be re…
KyleAMathews Jan 7, 2026
0944f05
Show clear instructions for fixing sherif dependency version mismatch…
KyleAMathews Jan 7, 2026
29cae6a
fix(query-db-collection): sync on-demand tanstack-query lifecycle (#1…
delphinaubin Jan 7, 2026
b1cc4a7
Find whereExpression examples in subscribeChanges (#943)
KyleAMathews Jan 7, 2026
f795a67
Add helper to extract the result type from a query `QueryResult` (#1096)
KyleAMathews Jan 7, 2026
6503c09
Integrate fast-check property testing into tests for deepEquals (#1018)
KyleAMathews Jan 7, 2026
6685a85
Improve error when returning undefined in useLiveSuspenseQuery (#860)
KyleAMathews Jan 7, 2026
9dba727
ci: Version Packages (#1079)
github-actions[bot] Jan 7, 2026
14d4cac
docs: regenerate API documentation (#1100)
github-actions[bot] Jan 7, 2026
c1247e8
fix(db): prevent on-demand live query from being marked ready before …
KyleAMathews Jan 9, 2026
0d60e01
ci: Version Packages (#1109)
github-actions[bot] Jan 9, 2026
26fad77
docs: regenerate API documentation (#1110)
github-actions[bot] Jan 9, 2026
a472c3f
chore(deps): update dependency @angular/compiler to v20.3.16 [securit…
renovate[bot] Jan 10, 2026
940552f
chore(deps): update dependency @angular/core to v19.2.18 [security] (…
renovate[bot] Jan 10, 2026
cc10ad3
Support groupBy over `BigInt` and `Date` (#1091)
kevin-dp Jan 12, 2026
888ad6a
Support references to aggregated fields from SELECT in ORDERBY and HA…
kevin-dp Jan 12, 2026
2456adb
Grouped top k operator (#993)
kevin-dp Jan 12, 2026
29033b8
fix(db): batch D2 output callbacks to prevent duplicate key errors in…
KyleAMathews Jan 12, 2026
00cceac
ci: Version Packages (#1117)
github-actions[bot] Jan 13, 2026
de20395
docs: regenerate API documentation (#1121)
github-actions[bot] Jan 13, 2026
f5b504e
Add grouped order by operator (#997)
kevin-dp Jan 13, 2026
d9c663c
Update Solid DB to enable Suspense (#826)
fezproof Jan 13, 2026
44b45f6
ci: Version Packages (#1123)
github-actions[bot] Jan 14, 2026
9dadf0e
docs: regenerate API documentation (#1131)
github-actions[bot] Jan 14, 2026
5e69941
Fix type of findOne queries in Vue (#1134)
kevin-dp Jan 15, 2026
f32246a
Fix return value from refetch in query collection (#1132)
kevin-dp Jan 15, 2026
8d6442e
Fix sql-compiler to handle empty strings like `eq(column, '')` (#1146)
KyleAMathews Jan 17, 2026
83faa70
chore(deps): update dependency svelte to v5.46.4 [security] (#1142)
renovate[bot] Jan 17, 2026
f273e9a
ci: Version Packages (#1140)
github-actions[bot] Jan 17, 2026
cdc33da
ci: Version Packages (#1148)
github-actions[bot] Jan 17, 2026
1c2f9b0
docs: regenerate API documentation (#1149)
github-actions[bot] Jan 17, 2026
d4d7fdc
Let Claude reproduce and fix new issues (#1139)
kevin-dp Jan 19, 2026
2727826
Fixes to reproduce workflow (#1153)
kevin-dp Jan 19, 2026
d5254d1
Fix offline transactions for React Native (#1137)
kevin-dp Jan 19, 2026
008a253
Improve reproduce workflow (#1156)
kevin-dp Jan 19, 2026
56f9f76
Compile query in DB w/ the columnMapper (#1141)
KyleAMathews Jan 19, 2026
7a2cacd
Fix syncedData not updating on manual writes in mutationFn (#1130)
KyleAMathews Jan 19, 2026
b479c1d
Fix date field corruption after app restart (#1127)
KyleAMathews Jan 19, 2026
9378a82
Add /review command for multi-agent PR review (#1159)
KyleAMathews Jan 19, 2026
99eb03a
chore(deps): update dependency svelte to v5.46.4 [security] (#1157)
renovate[bot] Jan 19, 2026
98e584d
Fix offline mutations data loss on restart (#1124)
KyleAMathews Jan 19, 2026
1b22e40
Improve DuplicateKeySyncError (#1119)
KyleAMathews Jan 19, 2026
bdf9405
Add string support to min/max operators (#1120)
KyleAMathews Jan 19, 2026
6745ed0
Clarify queueStrategy documentation (#1107)
KyleAMathews Jan 19, 2026
016e0f5
ci: Version Packages (#1158)
github-actions[bot] Jan 19, 2026
fac4edc
Fix Claude review workflow permissions (#1161)
KyleAMathews Jan 19, 2026
7469ff5
Fix Claude review workflow allowed_tools patterns (#1162)
KyleAMathews Jan 19, 2026
f909b57
Add bash and read permissions to review workflow (#1163)
kevin-dp Jan 20, 2026
d860e1c
Fix allowed tools (#1164)
kevin-dp Jan 20, 2026
9204d76
[fix] update all active query caches on directWrite for on-demand col…
claude[bot] Jan 20, 2026
f9b741e
Fix garbage collection issue with Infinity setting (#1135)
KyleAMathews Jan 20, 2026
5c717e6
ci: Version Packages (#1165)
github-actions[bot] Jan 20, 2026
05130f2
Fix where clause missing in `loadSubset` on subquery collection (#1097)
kevin-dp Jan 21, 2026
fa0ef31
ADD RxDB Tanstack FAQ and Fix docs #710 (#1172)
pubkey Jan 23, 2026
cbd1bb2
Restore offline transactions to optimistic store upon restart the app…
KyleAMathews Jan 23, 2026
545cf09
ci: Version Packages (#1171)
github-actions[bot] Jan 23, 2026
33502b7
docs: regenerate API documentation (#1177)
github-actions[bot] Jan 23, 2026
82deba5
Handle aborted requests during collection cleanup (#1174)
KyleAMathews Jan 26, 2026
908d6db
ci: Version Packages (#1181)
github-actions[bot] Jan 26, 2026
7099459
Fix: Enable $selected access in orderBy after fn.select (#1183)
KyleAMathews Jan 27, 2026
791f2e7
docs: regenerate API documentation (#1182)
github-actions[bot] Jan 27, 2026
268552e
ci: Version Packages (#1190)
github-actions[bot] Jan 27, 2026
43c7c9d
Fix infinite loop in takeInternal with `undefined` values (#1198)
kevin-dp Jan 29, 2026
284ebcc
fix(db): track loadSubset promise for on-demand live queries (#1192)
KyleAMathews Jan 29, 2026
12917e0
test: add comprehensive tests for BTreeIndex undefined value handling…
KyleAMathews Jan 29, 2026
015281c
ci: Version Packages (#1199)
github-actions[bot] Jan 29, 2026
dfb5b9c
docs: regenerate API documentation (#1202)
github-actions[bot] Jan 29, 2026
d45e0dc
chore(deps): lock file maintenance (#1207)
renovate[bot] Feb 1, 2026
8deafc1
chore(deps): update autofix-ci/action digest to 7a166d7 (#1224)
renovate[bot] Feb 10, 2026
ae87ae6
upgrade dependencies (#1227)
KyleAMathews Feb 10, 2026
c80df37
ADD readme.md to RxDB tanstackdb package (#1218)
pubkey Feb 11, 2026
5c6df47
Upgrade @electric-sql/client to ^1.5.3 (#1233)
KyleAMathews Feb 11, 2026
8ca8a47
ci: Version Packages (#1234)
github-actions[bot] Feb 11, 2026
19d2819
docs: regenerate API documentation (#1235)
github-actions[bot] Feb 11, 2026
83d5ac8
fix: normalize keys before join operation (#1229)
hugiex Feb 12, 2026
85c373e
fix: export types used in public API signatures for declaration emit …
kevin-dp Feb 12, 2026
d99775a
Make loadSubsetOptions optional in QueryCollectionMeta (#1238)
kevin-dp Feb 12, 2026
9184dcc
fix(db): useLiveInfiniteQuery pagination with async on-demand loadSub…
KyleAMathews Feb 12, 2026
5e9c1af
ci: Version Packages (#1239)
github-actions[bot] Feb 12, 2026
2223cd6
Improve type of collection utils for Trailbase, PowerSync, and localO…
kevin-dp Feb 13, 2026
dc41d7d
fix: manual transaction support in local-only collections (#1253)
kevin-dp Feb 17, 2026
802550f
fix(db): left join where filter on right-side field incorrectly inclu…
kevin-dp Feb 17, 2026
4ff3da5
fix(db): like not matching newline characters (#1263)
ldirer Feb 18, 2026
1f20d6e
Add default 404 page and loading state to project example (#1257)
KyleAMathews Feb 18, 2026
34f217d
fix(powersync-db-collection): fix unhandled type error in test (#1264)
KyleAMathews Feb 18, 2026
20566c1
ci: Version Packages (#1265)
github-actions[bot] Feb 18, 2026
66d3cd0
fix: correct PR template checklist (#1266)
KyleAMathews Feb 18, 2026
28762a4
Update Claude model to opus 4.6 in reproduce and fix workflow (#1271)
kevin-dp Feb 19, 2026
59958af
chore(deps): update dependency svelte to v5.51.5 [security] (#1280)
renovate[bot] Feb 20, 2026
46450e7
Fix isWhereSubset to handle AND subset with OR superset (#1275)
KyleAMathews Feb 20, 2026
206f055
docs: regenerate API documentation (#1267)
github-actions[bot] Feb 20, 2026
1b5f5a9
ci: Version Packages (#1281)
github-actions[bot] Feb 20, 2026
79c2aef
docs: regenerate API documentation (#1283)
github-actions[bot] Feb 20, 2026
306ddd3
docs: Generate API reference documentation for core database classes …
KyleAMathews Feb 23, 2026
ac4ce67
fix(db): support aggregates nested inside expressions (#720) (#1274)
kevin-dp Feb 23, 2026
77b815e
fix(db): re-accumulate pending changes by custom getKey to avoid Dupl…
kevin-dp Feb 23, 2026
85acc4c
fix(query-db-collection): align queryOptions interop types (simplifie…
kevin-dp Feb 24, 2026
72f2a1c
[fix] findOne returns array instead of single object in angular-db (i…
claude[bot] Feb 24, 2026
ae478c6
Upgrade @electric-sql/client to 1.5.8 (#1291)
KyleAMathews Feb 24, 2026
f61d903
ci: Version Packages (#1288)
github-actions[bot] Feb 24, 2026
49c9374
docs: regenerate API documentation (#1292)
github-actions[bot] Feb 24, 2026
f13819f
docs: Update query examples to use eq() helper for boolean comparison…
KyleAMathews Feb 25, 2026
e9d0fd8
fix: Support boolean column filters in where() and having() (#1304)
kevin-dp Feb 26, 2026
be3921e
docs: Use idiomatic boolean filters in query examples (#1306)
kevin-dp Feb 26, 2026
fdf9d2d
fix(offline-transactions): enforce strict FIFO when retries are pendi…
KyleAMathews Feb 26, 2026
5f0a0b8
ci: Version Packages (#1305)
github-actions[bot] Feb 26, 2026
ee5abbd
chore(deps): update dependency svelte to v5.53.5 [security] (#1310)
renovate[bot] Mar 1, 2026
6cb7b36
chore(deps): lock file maintenance (#1311)
renovate[bot] Mar 1, 2026
e753c8c
[fix] descriptive error for non-serializable deps in useLiveInfiniteQ…
claude[bot] Mar 2, 2026
59bdde4
fix(offline-transactions): infinite retries by default and online-sta…
KyleAMathews Mar 2, 2026
6d2a4a7
docs: regenerate API documentation (#1308)
github-actions[bot] Mar 2, 2026
a83f752
fix(react-db): make getNextPageParam optional in useLiveInfiniteQuery…
sleitor Mar 2, 2026
60620b9
ci: Version Packages (#1318)
github-actions[bot] Mar 2, 2026
09228e0
fix(react-db): handle rejected/stale setWindow promises in useLiveInf…
sleitor Mar 2, 2026
acd420c
update @electric-sql/client version (#1321)
KyleAMathews Mar 2, 2026
495839d
docs: document fn.select() + groupBy() limitation (#1328)
kevin-dp Mar 4, 2026
bf1d078
feat: add Intent agent skills for TanStack DB (#1330)
KyleAMathews Mar 6, 2026
c3bdfc0
update @electric-sql/client version (#1337)
KyleAMathews Mar 6, 2026
8e590a4
ci: Version Packages (#1320)
github-actions[bot] Mar 6, 2026
2e13e42
ci: Version Packages (#1338)
github-actions[bot] Mar 6, 2026
ad68925
fix: resolve all eslint warnings in packages/db (#1340)
KyleAMathews Mar 6, 2026
168717a
docs: regenerate API documentation (#1339)
github-actions[bot] Mar 6, 2026
373f62d
Fine-grained Solid stores for useLiveQuery (#1316)
kevin-dp Mar 9, 2026
a55e2bf
fix(db): throw error when fn.select() is used with groupBy() (#1324)
kevin-dp Mar 9, 2026
41c0ea2
Query once API implementation (#1211)
samwillis Mar 10, 2026
eeb5321
fix(db): use Ref<T, Nullable> for left join select refs instead of Re…
kevin-dp Mar 10, 2026
495abc2
Fix unbounded expression growth in DeduplicatedLoadSubset (#1348)
KyleAMathews Mar 10, 2026
0a2f822
chore: fix all eslint errors and warnings (#1349)
KyleAMathews Mar 10, 2026
be32c53
ci: Version Packages (#1344)
github-actions[bot] Mar 10, 2026
a452ca7
docs: regenerate API documentation (#1350)
github-actions[bot] Mar 11, 2026
c3e6a96
feat(db): implement createEffect reactive effects API (#1221)
samwillis Mar 13, 2026
206944f
Changeset to patch (#1365)
KyleAMathews Mar 13, 2026
1270156
ci: Version Packages (#1364)
github-actions[bot] Mar 13, 2026
179d666
fix(db): complete DeduplicatedLoadSubset follow-up coverage (#1352)
samwillis Mar 16, 2026
bb09eb1
fix(db, db-ivm): support Temporal objects in join hashing and normali…
KyleAMathews Mar 16, 2026
055fd94
feat: Subqueries in SELECT for hierarchical data (includes) (#1294)
kevin-dp Mar 16, 2026
9952921
Virtual props implementation (#1213)
samwillis Mar 16, 2026
b0276d4
Add a wider range of subset queries for TrailBase integation: paginat…
ignatz Mar 16, 2026
0183e90
fix(angular-db): resolve issue where query function was called twice …
emcdaniel1624 Mar 16, 2026
00df57a
Add partial on-demand support and e2e tests to trailbase-db-collectio…
ignatz Mar 16, 2026
045fd50
Import 'eq' from '@tanstack/react-db' in example. (#1327)
schalkventer Mar 16, 2026
43ecbfa
Use in-memory queue for faster GC registration (#1326)
amiran-gorgazjan Mar 16, 2026
d351c67
feat: SQLite persistence core (#1358)
kevin-dp Mar 16, 2026
1654c41
chore(electric-db-collection): update dependencies (#1381)
KyleAMathews Mar 17, 2026
df52906
feat: Added query-driven sync to PowerSync package (#1356)
Chriztiaan Mar 17, 2026
c281b37
feat: Electron and Node SQLite persisted collections (#1359)
kevin-dp Mar 18, 2026
b8abc02
fix(db): infer non-nullable return type from first arg in coalesce() …
sleitor Mar 19, 2026
3d65bb1
fix: prevent stale query cache from re-inserting deleted items (#1387)
kevin-dp Mar 19, 2026
3380df2
docs: PowerSync Query-driven sync documentation improvements (#1383)
Chriztiaan Mar 19, 2026
e0a59cd
feat(examples): add wa-sqlite OPFS persistence demo (#1329)
kevin-dp Mar 19, 2026
96cbdb5
feat(examples): add op-sqlite persistence to React Native offline-tra…
kevin-dp Mar 19, 2026
7ba58ee
feat(examples): Electron offline-first todo app with SQLite persisten…
kevin-dp Mar 19, 2026
36e12b0
fix pnpm lock (#1392)
samwillis Mar 19, 2026
6cce9ff
docs: update overview and installation with PowerSync collection refe…
devagrawal09 Mar 19, 2026
a7d858e
feat: Cloudflare DO SQLite persisted collection (#1360)
kevin-dp Mar 19, 2026
97e4304
feat(expo-persistence): add official expo sqlite persistence adapter …
samwillis Mar 19, 2026
5b4b34c
docs: document query key prefix convention for function-based queryKe…
kevin-dp Mar 19, 2026
5bdc263
fix: resolve Electron e2e test timeout failures in CI (#1393)
kevin-dp Mar 19, 2026
d0b9b52
feat: add Capacitor SQLite persisted collection package (#1363)
samwillis Mar 19, 2026
ee81d15
feat: add Tauri sqlite persisted collection package (#1369)
samwillis Mar 19, 2026
e0df07e
feat: add persisted sync metadata support (#1380)
samwillis Mar 20, 2026
508fda1
fix: ignore mobile runtime config artifacts in lint (#1395)
samwillis Mar 20, 2026
7dc025c
chore: consolidate SQLite persistence changesets (#1396)
samwillis Mar 20, 2026
85f5435
fix: defer query refresh until pending offline transactions complete …
kevin-dp Mar 21, 2026
a6eb289
Update TrailBase client and lock e2e-test server to a specific versio…
ignatz Mar 23, 2026
f60384b
fix: use single-column comparator for BTree index in multi-column ord…
kevin-dp Mar 24, 2026
eed43cd
Fix some small things in the docs (#1386)
fulopkovacs Mar 24, 2026
09c7afc
fix(db): treat objects with Symbol.toStringTag as leaf values in IsPl…
sleitor Mar 24, 2026
7243e22
Update image sources for CodeRabbit and Cloudflare (#1371)
santoshyadavdev Mar 24, 2026
b65d8f7
Make indexing opt-in (#1353)
kevin-dp Mar 24, 2026
e21ef32
fix: align persisted query retention fallback with effective gcTime (…
samwillis Mar 24, 2026
7626097
fix(solid-db): support findOne in useLiveQuery (#1403)
kevin-dp Mar 24, 2026
745a93a
feat: support concat(toArray(...)) scalar includes (#1384)
KyleAMathews Mar 25, 2026
3274a29
React Native Shopping List demo app (#1357)
kevin-dp Mar 25, 2026
2376b47
refactor: rename persistence packages to follow naming convention (#1…
KyleAMathews Mar 25, 2026
3180109
ci: Version Packages (#1377)
github-actions[bot] Mar 25, 2026
99ad6b5
fix: add changeset for persistence packages with workspace links (#1406)
KyleAMathews Mar 25, 2026
bae05d7
ci: Version Packages (#1407)
github-actions[bot] Mar 25, 2026
287673d
fix: bump persistence packages to 0.1.3 (fix workspace links) (#1408)
KyleAMathews Mar 25, 2026
7886c1c
ci: Version Packages (#1409)
github-actions[bot] Mar 26, 2026
b779b4e
fix: re-publish persistence packages (fix npm auth) (#1410)
KyleAMathews Mar 26, 2026
e7637a8
ci: Version Packages (#1411)
github-actions[bot] Mar 26, 2026
8b7fb1a
docs: Add db-core/persistence skill and update library version to 0.6…
KyleAMathews Mar 27, 2026
caf5166
ci: Version Packages (#1422)
github-actions[bot] Mar 27, 2026
d611b94
fix: disable GC on child collections created by includes system (#1430)
blj Mar 30, 2026
c314c36
fix: default getKey on live query collections fails on enriched objec…
kevin-dp Mar 30, 2026
cde8af1
feat(electric-db-collection): DNF/active_conditions support (#1270)
kevin-dp Mar 31, 2026
6428fe3
fix(react-db): use collection.status instead of snapshot in useLiveSu…
calcari Mar 31, 2026
2680868
fix(browser-db-sqlite-persistence): use relative path for OPFS worker…
kevin-dp Mar 31, 2026
3fe689a
fix: deduplicate and filter null join keys in lazy join subset querie…
KyleAMathews Apr 3, 2026
e8e029e
ci: Version Packages (#1433)
github-actions[bot] Apr 3, 2026
f4a9bd2
fix: skip on-demand loading when no index exists for orderBy + limit …
kevin-dp Apr 7, 2026
cc46951
fix: clean up offline-transactions example (#1438)
kevin-dp Apr 7, 2026
ed20b94
Remove unnecessary type parameters from persistence interfaces (#1439)
kevin-dp Apr 7, 2026
e29aab3
fix(db): propagate changes through nested toArray includes at depth 3…
KyleAMathews Apr 7, 2026
e064c72
docs: regenerate API documentation (#1449)
github-actions[bot] Apr 7, 2026
c336aae
ci: Version Packages (#1459)
github-actions[bot] Apr 7, 2026
1e69dd6
Docs for includes (#1361)
kevin-dp Apr 7, 2026
018f155
fix(ci): reuse existing open docs PR instead of creating duplicates (…
KyleAMathews Apr 7, 2026
7ea2020
ci: Version Packages (#1462)
github-actions[bot] Apr 7, 2026
dc9c019
docs: regenerate API documentation (#1460)
github-actions[bot] Apr 7, 2026
dd16655
chore: bump @electric-sql/client to ^1.5.15 (#1466)
KyleAMathews Apr 11, 2026
232f228
fix: lazy load includes child collections in on-demand sync mode (#1471)
kevin-dp Apr 14, 2026
29cf7ce
ci: Version Packages (#1475)
github-actions[bot] Apr 14, 2026
c28ab1e
chore(deps): update dependency @angular/core to v20.3.17 [security] (…
renovate[bot] Apr 16, 2026
06849ef
fix(powersync-db-collection): "id" in trigger WHEN clauses breaks DEL…
Chriztiaan May 12, 2026
b5ffa49
ci: add zizmor workflow (#1525)
Sheraff May 13, 2026
6d9e4c6
fix(pnpm): update pnpm to v11 (#1527)
harry-whorlow May 13, 2026
d5f7a1e
fix(ci): start cloudflare e2e wrangler directly (#1539)
samwillis May 18, 2026
741f429
docs(db): clarify mutate callback is sync-only (#1538)
KyleAMathews May 18, 2026
4e9ab39
feat(db): add caseWhen query operator (#1536)
samwillis May 19, 2026
454a905
feat(db): unionAll operator (#1537)
samwillis May 21, 2026
47d1c4b
ci: Version Packages (#1523)
github-actions[bot] May 21, 2026
6238a2d
fix(db): drop stale direct optimistic rows after txid sync (#1547)
KyleAMathews May 23, 2026
ec59984
docs(db): clarify caseWhen, coalesce, manual transactions, and multi-…
KyleAMathews May 23, 2026
be656be
ci: Version Packages (#1548)
github-actions[bot] May 23, 2026
6c338fd
feat: add materialize() helper for includes subqueries (#1504)
kevin-dp Jun 4, 2026
3827b62
chore: add changeset for materialize() helper (#1504) (#1569)
kevin-dp Jun 4, 2026
58edb26
feat(sqlite-persistence): prune applied_tx by default with safe repla…
saddlepaddle Jun 5, 2026
66210a5
ci: Version Packages (#1570)
github-actions[bot] Jun 5, 2026
ca8aa0d
fix(query-db-collection): forward gcTime from queryCollectionOptions …
spokodev Jun 9, 2026
4d1abde
ci: Version Packages (#1577)
github-actions[bot] Jun 9, 2026
5750fbc
Merge remote-tracking branch 'upstream/main' into upstream/update-main-4
Chriztiaan Jun 11, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
7 changes: 5 additions & 2 deletions .changeset/config.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"$schema": "https://unpkg.com/@changesets/config@3.1.1/schema.json",
"$schema": "https://unpkg.com/@changesets/config@3.1.2/schema.json",
"changelog": [
"@svitejs/changesets-changelog-github-compact",
{ "repo": "TanStack/db" }
Expand All @@ -10,5 +10,8 @@
"updateInternalDependencies": "patch",
"fixed": [],
"linked": [],
"ignore": []
"ignore": [],
"___experimentalUnsafeOptions_WILL_CHANGE_IN_PATCH": {
"onlyUpdatePeerDependentsWhenOutOfRange": true
}
}
11 changes: 0 additions & 11 deletions .changeset/in-memory-fallback-for-ssr.md

This file was deleted.

5 changes: 5 additions & 0 deletions .claude/settings.local.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"permissions": {
"allow": ["Bash(git checkout:*)", "Bash(npx sherif:*)"]
}
}
6 changes: 3 additions & 3 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
---
name: 🐛 Bug Report
about: Create a report to help us improve
title: ""
labels: ""
assignees: ""
title: ''
labels: ''
assignees: ''
---

- [ ] I've validated the bug against the latest version of DB packages
Expand Down
3 changes: 1 addition & 2 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,7 @@

## ✅ Checklist

- [ ] I have followed the steps in the [Contributing guide](https://github.com/TanStack/db/blob/main/CONTRIBUTING.md).
- [ ] I have tested this code locally with `pnpm test:pr`.
- [ ] I have tested this code locally with `pnpm test`.

## 🚀 Release Impact

Expand Down
11 changes: 6 additions & 5 deletions .github/workflows/autofix.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,14 +18,15 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v5.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
fetch-depth: 0
persist-credentials: false
- name: Setup Tools
uses: tanstack/config/.github/setup@main
uses: tanstack/config/.github/setup@e4b48f16568324f76f467aa4c2aac2f05db632c3
- name: Fix formatting
run: pnpm prettier --ignore-unknown . --check
run: pnpm format
- name: Apply fixes
uses: autofix-ci/action@635ffb0c9798bd160680f18fd73371e355b85f27
uses: autofix-ci/action@7a166d7532b277f34e16238930461bf77f9d7ed8
with:
commit-message: "ci: apply automated fixes"
commit-message: 'ci: apply automated fixes'
28 changes: 28 additions & 0 deletions .github/workflows/claude.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: Claude Code
on:
issue_comment:
types: [created]
pull_request_review_comment:
types: [created]
jobs:
claude:
if: |
(github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude') && (github.event.comment.user.login == 'kevin-dp' || github.event.comment.user.login == 'KyleAMathews' || github.event.comment.user.login == 'samwillis')) ||
(github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude') && (github.event.comment.user.login == 'kevin-dp' || github.event.comment.user.login == 'KyleAMathews' || github.event.comment.user.login == 'samwillis'))
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
issues: write
id-token: write
actions: read # Required for Claude to read CI results on PRs
steps:
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
fetch-depth: 0 # required for Claude Code
persist-credentials: false
- uses: anthropics/claude-code-action@f4fb5c6cdccc1ee7af63692f5d08d56efaa64cc8 # v1.0.121
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
# Responds to @claude mentions in comments
135 changes: 135 additions & 0 deletions .github/workflows/e2e-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,135 @@
name: E2E Tests

on:
push:
branches: [main]
pull_request:

permissions:
contents: read

jobs:
e2e-tests:
name: Run E2E Tests
runs-on: ubuntu-latest
timeout-minutes: 35

steps:
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false

- name: Setup pnpm
uses: pnpm/action-setup@739bfe42ca9233c5e6aca07c1a25a9d34aca49b0 # v6.0.7
with:
cache: false

- name: Setup Node.js
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: '22.13'
cache: 'pnpm'

- name: Install dependencies
run: pnpm install --frozen-lockfile

- name: Start Docker services
run: |
cd packages/db-collection-e2e/docker
docker compose up -d
echo "Waiting for services to be healthy..."
timeout 60 bash -c 'until docker compose ps | grep -q "healthy"; do sleep 2; done'

- name: Build packages
run: |
pnpm --filter @tanstack/db-ivm build
pnpm --filter @tanstack/db build
pnpm --filter @tanstack/electric-db-collection build
pnpm --filter @tanstack/offline-transactions build
pnpm --filter @tanstack/query-db-collection build

- name: Run Electric E2E tests
run: |
cd packages/electric-db-collection
pnpm test:e2e
env:
ELECTRIC_URL: http://localhost:3000
POSTGRES_HOST: localhost
POSTGRES_PORT: 54321
POSTGRES_USER: postgres
POSTGRES_PASSWORD: password
POSTGRES_DB: e2e_test

- name: Run Query E2E tests
run: |
cd packages/query-db-collection
pnpm test:e2e
env:
ELECTRIC_URL: http://localhost:3000

- name: Run Node SQLite persisted collection E2E tests
run: |
cd packages/node-db-sqlite-persistence
pnpm test:e2e

- name: Run Electron SQLite persisted collection E2E tests
run: |
cd packages/electron-db-sqlite-persistence
pnpm test:e2e

- name: Run Cloudflare Durable Object persisted collection E2E tests
run: |
cd packages/cloudflare-durable-objects-db-sqlite-persistence
pnpm test:e2e

- name: Run React Native/Expo persisted collection E2E tests
run: |
cd packages/react-native-db-sqlite-persistence
pnpm test:e2e

- name: Run React Native/Expo runtime E2E lane
run: |
is_fork_pr=false
require_runtime_lane=${TANSTACK_DB_REQUIRE_MOBILE_RUNTIME_LANE:-0}
if [ "${GITHUB_EVENT_NAME}" = "pull_request" ]; then
is_fork_pr=$(jq -r '.pull_request.head.repo.fork' "${GITHUB_EVENT_PATH}")
fi

if [ "${is_fork_pr}" = "true" ]; then
echo "Skipping runtime mobile lane for fork PR (repo vars are unavailable)."
exit 0
fi

if [ -z "${TANSTACK_DB_MOBILE_SQLITE_FACTORY_MODULE}" ]; then
if [ "${require_runtime_lane}" = "1" ]; then
echo "::error::Missing repository variable TANSTACK_DB_MOBILE_SQLITE_FACTORY_MODULE while TANSTACK_DB_REQUIRE_MOBILE_RUNTIME_LANE=1."
echo "::error::Set TANSTACK_DB_MOBILE_SQLITE_FACTORY_MODULE (and optional TANSTACK_DB_MOBILE_SQLITE_FACTORY_EXPORT)."
exit 1
fi

echo "Skipping runtime mobile lane (no TANSTACK_DB_MOBILE_SQLITE_FACTORY_MODULE configured)."
echo "Set TANSTACK_DB_REQUIRE_MOBILE_RUNTIME_LANE=1 to enforce this lane."
exit 0
fi

cd packages/react-native-db-sqlite-persistence
pnpm test:e2e:runtime
env:
TANSTACK_DB_MOBILE_SQLITE_FACTORY_MODULE: ${{ vars.TANSTACK_DB_MOBILE_SQLITE_FACTORY_MODULE }}
TANSTACK_DB_MOBILE_SQLITE_FACTORY_EXPORT: ${{ vars.TANSTACK_DB_MOBILE_SQLITE_FACTORY_EXPORT }}
TANSTACK_DB_REQUIRE_MOBILE_RUNTIME_LANE: ${{ vars.TANSTACK_DB_REQUIRE_MOBILE_RUNTIME_LANE }}

- name: Stop Docker services
if: always()
run: |
cd packages/db-collection-e2e/docker
docker compose down -v

- name: Upload test results
if: failure()
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: test-results
path: packages/db-collection-e2e/junit/
retention-days: 7
63 changes: 44 additions & 19 deletions .github/workflows/pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,59 +15,81 @@ env:

permissions:
contents: read
pull-requests: write

jobs:
test:
name: Test
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v5.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
fetch-depth: 0
persist-credentials: false
- name: Setup Tools
uses: tanstack/config/.github/setup@main
uses: tanstack/config/.github/setup@e4b48f16568324f76f467aa4c2aac2f05db632c3
- name: Get base and head commits for `nx affected`
uses: nrwl/nx-set-shas@v4.3.3
uses: nrwl/nx-set-shas@3e9ad7370203c1e93d109be57f3b72eb0eb511b1 # v4.4.0
with:
main-branch-name: main
- name: Run Checks
run: pnpm run lint && pnpm run build && pnpm run test
run: pnpm run build && pnpm run test
- name: Check dependency versions
run: |
if ! pnpm run test:sherif; then
echo ""
echo "=========================================="
echo "❌ Sherif found dependency version mismatches"
echo ""
echo "To fix this locally, run:"
echo " pnpm exec sherif --fix -i zod"
echo ""
echo "Then commit the changes to package.json files."
echo "=========================================="
exit 1
fi
preview:
name: Preview
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
steps:
- name: Checkout
uses: actions/checkout@v5.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
fetch-depth: 0
persist-credentials: false
- name: Setup Tools
uses: tanstack/config/.github/setup@main
uses: tanstack/config/.github/setup@e4b48f16568324f76f467aa4c2aac2f05db632c3
- name: Build Packages
run: pnpm run build
- name: Publish Previews
run: pnpx pkg-pr-new publish --pnpm --compact './packages/*' --template './examples/*/*'
- name: Compressed Size Action - DB Package
uses: preactjs/compressed-size-action@v2
uses: preactjs/compressed-size-action@66325aad6443cb7cf89c4bfcd414aea2367cda94 # 2.9.1
with:
repo-token: "${{ secrets.GITHUB_TOKEN }}"
pattern: "./packages/db/dist/**/*.{js,mjs}"
comment-key: "db-package-size"
repo-token: '${{ secrets.GITHUB_TOKEN }}'
pattern: './packages/db/dist/**/*.{js,mjs}'
comment-key: 'db-package-size'
build-script: 'build:minified'
- name: Compressed Size Action - React DB Package
uses: preactjs/compressed-size-action@v2
uses: preactjs/compressed-size-action@66325aad6443cb7cf89c4bfcd414aea2367cda94 # 2.9.1
with:
repo-token: "${{ secrets.GITHUB_TOKEN }}"
pattern: "./packages/react-db/dist/**/*.{js,mjs}"
comment-key: "react-db-package-size"
repo-token: '${{ secrets.GITHUB_TOKEN }}'
pattern: './packages/react-db/dist/**/*.{js,mjs}'
comment-key: 'react-db-package-size'
build-script: 'build:minified'
build-example:
name: Build Example Site
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v5.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: Setup Tools
uses: tanstack/config/.github/setup@main
uses: tanstack/config/.github/setup@e4b48f16568324f76f467aa4c2aac2f05db632c3
- name: Build Packages
run: pnpm run build
- name: Build Example Site
Expand All @@ -79,12 +101,15 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v5.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: Setup Tools
uses: tanstack/config/.github/setup@main
uses: tanstack/config/.github/setup@e4b48f16568324f76f467aa4c2aac2f05db632c3
- name: Build Packages
run: pnpm run build
- name: Build Starter Site
run: |
cd examples/react/projects
cp .env.example .env
pnpm build
Loading
Loading