Skip to content

DB v0.6 release post#776

Merged
LadyBluenotes merged 7 commits intoTanStack:mainfrom
samwillis:samwillis/db-v0.6-blog
Mar 25, 2026
Merged

DB v0.6 release post#776
LadyBluenotes merged 7 commits intoTanStack:mainfrom
samwillis:samwillis/db-v0.6-blog

Conversation

@samwillis
Copy link
Contributor

@samwillis samwillis commented Mar 19, 2026

This is a blog post for v0.6 of DB, it is brining a bunch of new exciting stuff.

To do:

  • Teaser video
  • Google form for collecting contact details for SSR partners

Form is here: https://docs.google.com/forms/u/1/d/e/1FAIpQLSdoCZ_Z5uODArGpGkVI4tbU7q9qHAcGAXYYEoP9HFq3aKNs3A/viewform?usp=publish-editor&pli=1&authuser=1

Summary by CodeRabbit

  • Documentation
    • Added draft blog post announcing TanStack DB 0.6.
    • Describes SQLite-backed persistence for durable local state, hierarchical "includes" for projecting relational data into UI-shaped results, and a reactive incremental side-effect API for live query transitions.
    • Documents virtual row provenance props, a one-shot query API, migration notes on typing and indexing, embedded demos and examples, and a call for SSR design partners.

@netlify
Copy link

netlify bot commented Mar 19, 2026

👷 Deploy request for tanstack pending review.

Visit the deploys page to approve it

Name Link
🔨 Latest commit 77db3d9

@coderabbitai
Copy link

coderabbitai bot commented Mar 19, 2026

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

Adds a new draft blog post announcing TanStack DB 0.6 and documenting features: SQLite-backed persistence adapters, includes hierarchical projection, createEffect reactive side effects, virtual row props, queryOnce, and migration notes (content-only).

Changes

Cohort / File(s) Summary
Blog Post
src/blog/tanstack-db-0.6-app-ready-with-persistence-and-includes.md
New draft post (documentation-only). Describes SQLite-backed persistence via runtime adapters, includes for hierarchical projection, createEffect for live-query side effects, virtual row props ($synced, $origin, $key, $collectionId), queryOnce, schema/migration guidance, demos and TypeScript examples.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Poem

🐇 I hopped a note across the glade,
Wrote about persistence and how includes are made,
Effects that watch each enter, update, exit—
Virtual props and demos in a tidy little set,
I munch a carrot and send the draft on its way 🥕

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'DB v0.6 release post' clearly and concisely summarizes the main change—adding a blog post announcing the DB v0.6 release with new features.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@samwillis samwillis marked this pull request as ready for review March 24, 2026 19:01
@samwillis samwillis force-pushed the samwillis/db-v0.6-blog branch from e1697b6 to c52ecd4 Compare March 24, 2026 19:03
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

♻️ Duplicate comments (1)
src/blog/tanstack-db-0.6-app-ready-with-persistence-and-includes.md (1)

48-49: ⚠️ Potential issue | 🟠 Major

Avoid the “fully local-first” claim without conflict-resolution guarantees.

Line 48 overstates capability: “fully local-first” can be read as robust long-offline conflict handling, which isn’t guaranteed in the current model. Please soften this to avoid setting incorrect expectations.

Suggested wording
- TanStack DB already had the query engine, transaction model, optimistic updates, and the offline transaction API. Persistence was the missing piece. Once local state is durable, that stack can add up to something fully local-first instead of only feeling local while the app is open.
+ TanStack DB already had the query engine, transaction model, optimistic updates, and the offline transaction API. Persistence was the missing piece. Once local state is durable, that stack can support much stronger offline-first workflows instead of only feeling local while the app is open.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/blog/tanstack-db-0.6-app-ready-with-persistence-and-includes.md` around
lines 48 - 49, The sentence claiming "fully local-first" overstates guarantees
around long-offline conflict resolution; update the sentence that currently
includes the phrase "fully local-first" (the paragraph discussing persistence
and local state durability) to soften the claim—e.g., replace with "more
local-first" or "local-first for short-term/offline use but without built-in
long-offline conflict-resolution guarantees"—so readers aren’t led to expect
robust, automatic conflict handling from the current model.
🧹 Nitpick comments (1)
src/blog/tanstack-db-0.6-app-ready-with-persistence-and-includes.md (1)

15-15: Consider reducing repeated sentence starts for flow.

Line 15 uses four consecutive “You can…” clauses; this reads a bit mechanical. A mixed sentence structure would improve rhythm.

Suggested rewrite
- You can now project normalized data into the same hierarchical structure as your UI. You can optionally persist local state with a SQLite-backed persistence layer across runtimes. You can trigger reactive side effects from live queries. You can build outbox views and WhatsApp-like delivery indicators directly from row metadata. And a few APIs that used to rely on implicit magic are now explicit and uniform.
+ You can now project normalized data into the same hierarchical structure as your UI, optionally persist local state with a SQLite-backed layer across runtimes, and trigger reactive side effects from live queries. You can also build outbox views and WhatsApp-like delivery indicators directly from row metadata. A few APIs that used to rely on implicit magic are now explicit and uniform.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/blog/tanstack-db-0.6-app-ready-with-persistence-and-includes.md` at line
15, The paragraph starting with "You can now project normalized data into the
same hierarchical structure as your UI" contains four consecutive "You can…"
clauses and should be rewritten to vary sentence starts and improve flow; locate
that sentence and combine related items (e.g., group persistence and
SQLite-backed persistence, group reactive side effects and outbox/delivery
indicators) or change some clauses to start with active verbs (e.g., "Project",
"Persist", "Trigger", "Build") so the meaning is unchanged but the rhythm is
varied and less repetitive.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@src/blog/tanstack-db-0.6-app-ready-with-persistence-and-includes.md`:
- Line 356: Replace the unhyphenated compound modifier in the sentence
containing "the little double-tick style UI we are used to from apps like
WhatsApp" with the hyphenated form "double-tick-style UI" so the phrase reads
correctly as a compound modifier.

---

Duplicate comments:
In `@src/blog/tanstack-db-0.6-app-ready-with-persistence-and-includes.md`:
- Around line 48-49: The sentence claiming "fully local-first" overstates
guarantees around long-offline conflict resolution; update the sentence that
currently includes the phrase "fully local-first" (the paragraph discussing
persistence and local state durability) to soften the claim—e.g., replace with
"more local-first" or "local-first for short-term/offline use but without
built-in long-offline conflict-resolution guarantees"—so readers aren’t led to
expect robust, automatic conflict handling from the current model.

---

Nitpick comments:
In `@src/blog/tanstack-db-0.6-app-ready-with-persistence-and-includes.md`:
- Line 15: The paragraph starting with "You can now project normalized data into
the same hierarchical structure as your UI" contains four consecutive "You can…"
clauses and should be rewritten to vary sentence starts and improve flow; locate
that sentence and combine related items (e.g., group persistence and
SQLite-backed persistence, group reactive side effects and outbox/delivery
indicators) or change some clauses to start with active verbs (e.g., "Project",
"Persist", "Trigger", "Build") so the meaning is unchanged but the rhythm is
varied and less repetitive.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 93d20dc1-90ad-43a3-b034-0540db455831

📥 Commits

Reviewing files that changed from the base of the PR and between c09fe03 and e1697b6.

⛔ Files ignored due to path filters (1)
  • public/blog-assets/tanstack-db-0.6-app-ready-with-persistence-and-includes/header.jpg is excluded by !**/*.jpg
📒 Files selected for processing (1)
  • src/blog/tanstack-db-0.6-app-ready-with-persistence-and-includes.md

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

♻️ Duplicate comments (2)
src/blog/tanstack-db-0.6-app-ready-with-persistence-and-includes.md (2)

48-49: ⚠️ Potential issue | 🟠 Major

Avoid claiming “fully local-first” without conflict-resolution guarantees.

Line 48 overstates capability and can mislead users about offline conflict behavior. Please soften this claim (e.g., “local-first-like workflows” / “strong offline support”) unless conflict resolution semantics are guaranteed.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/blog/tanstack-db-0.6-app-ready-with-persistence-and-includes.md` around
lines 48 - 49, The sentence that currently claims "fully local-first" (the line
beginning "Once local state is durable, that stack can add up to something fully
local-first...") overstates guarantees; change the wording to soften it (e.g.,
"local-first-like workflows" or "strong offline support") and/or add a brief
clarification that conflict-resolution semantics are not yet guaranteed, so
readers aren't led to assume automatic offline conflict resolution.

156-160: ⚠️ Potential issue | 🟡 Minor

Fix malformed bullet sentence under “In practice, 0.6 gives you:”.

Line 159 currently reads ungrammatically and breaks list parallelism. Rewrite to a noun phrase like the other bullets.

Suggested edit
- - local state, both synced and pending mutations, can survive reloads and app restarts
+ - durable local state (including synced data and pending mutations) that survives reloads and app restarts
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/blog/tanstack-db-0.6-app-ready-with-persistence-and-includes.md` around
lines 156 - 160, The third bullet under the "In practice, 0.6 gives you:" list
is a non-parallel, verb-style fragment ("offline-friendly UX becomes much more
practical"); change it to a noun-phrase to match the other bullets—e.g., replace
that line with "a more practical offline-friendly UX" or "more practical
offline-friendly UX" in the same section of
src/blog/tanstack-db-0.6-app-ready-with-persistence-and-includes.md where the
list under the header "In practice, 0.6 gives you:" is defined.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@src/blog/tanstack-db-0.6-app-ready-with-persistence-and-includes.md`:
- Line 500: Replace the reader-facing Google Form link under the "[Fill out the
SSR design partner form]" anchor so it uses the canonical public URL without
editor query params; specifically remove the "usp=publish-editor" query (and any
other editor-related params) from the URL so the published post links to the
clean public form URL.

---

Duplicate comments:
In `@src/blog/tanstack-db-0.6-app-ready-with-persistence-and-includes.md`:
- Around line 48-49: The sentence that currently claims "fully local-first" (the
line beginning "Once local state is durable, that stack can add up to something
fully local-first...") overstates guarantees; change the wording to soften it
(e.g., "local-first-like workflows" or "strong offline support") and/or add a
brief clarification that conflict-resolution semantics are not yet guaranteed,
so readers aren't led to assume automatic offline conflict resolution.
- Around line 156-160: The third bullet under the "In practice, 0.6 gives you:"
list is a non-parallel, verb-style fragment ("offline-friendly UX becomes much
more practical"); change it to a noun-phrase to match the other bullets—e.g.,
replace that line with "a more practical offline-friendly UX" or "more practical
offline-friendly UX" in the same section of
src/blog/tanstack-db-0.6-app-ready-with-persistence-and-includes.md where the
list under the header "In practice, 0.6 gives you:" is defined.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 83142d33-f49a-4114-9015-7500f7cd83a3

📥 Commits

Reviewing files that changed from the base of the PR and between e1697b6 and c52ecd4.

⛔ Files ignored due to path filters (1)
  • public/blog-assets/tanstack-db-0.6-app-ready-with-persistence-and-includes/header.jpg is excluded by !**/*.jpg
📒 Files selected for processing (1)
  • src/blog/tanstack-db-0.6-app-ready-with-persistence-and-includes.md

Improve the opening section flow in the DB 0.6 post and add a concise note that PowerSync and Trailbase now support incremental sync.

Made-with: Cursor
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

♻️ Duplicate comments (3)
src/blog/tanstack-db-0.6-app-ready-with-persistence-and-includes.md (3)

358-358: ⚠️ Potential issue | 🟡 Minor

Hyphenate the compound modifier.

Line 358 should use “double-tick-style UI” for correct compound-modifier styling.

Suggested edit
- - the little double-tick style UI we are used to from apps like WhatsApp
+ - the little double-tick-style UI we are used to from apps like WhatsApp
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/blog/tanstack-db-0.6-app-ready-with-persistence-and-includes.md` at line
358, Replace the unhyphenated phrase "double-tick style UI" with the
compound-modifier "double-tick-style UI" in the blog text; locate the phrase in
the article content (the sentence containing "the little double-tick style UI we
are used to from apps like WhatsApp") and update it to use the hyphenated form
"double-tick-style UI".

50-50: ⚠️ Potential issue | 🟡 Minor

Avoid overclaiming “fully local-first” behavior.

Line 50 (“fully local-first”) reads stronger than what’s typically guaranteed without conflict resolution semantics; this can set incorrect expectations for offline conflict handling. Consider softening the claim.

Suggested edit
- TanStack DB already had the query engine, transaction model, optimistic updates, and the offline transaction API. Persistence was the missing piece. Once local state is durable, that stack can add up to something fully local-first instead of only feeling local while the app is open.
+ TanStack DB already had the query engine, transaction model, optimistic updates, and the offline transaction API. Persistence was the missing piece. Once local state is durable, that stack can add up to a much more local-first experience instead of only feeling local while the app is open.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/blog/tanstack-db-0.6-app-ready-with-persistence-and-includes.md` at line
50, The sentence claiming "fully local-first" overstates guarantees; update the
line in src/blog/tanstack-db-0.6-app-ready-with-persistence-and-includes.md to
soften the claim by replacing "fully local-first" with a more accurate phrasing
such as "closer to local-first" or "enables local-first behavior in many cases"
and optionally add a brief caveat that true full local-first behavior requires
explicit conflict resolution semantics for multi-client sync scenarios.

502-502: ⚠️ Potential issue | 🟡 Minor

Use the canonical public Google Form URL.

Line 502 includes editor-context query params (usp=publish-editor). Prefer the clean public URL in published content.

Suggested edit
- - [Fill out the SSR design partner form](https://docs.google.com/forms/d/e/1FAIpQLSdoCZ_Z5uODArGpGkVI4tbU7q9qHAcGAXYYEoP9HFq3aKNs3A/viewform?usp=publish-editor).
+ - [Fill out the SSR design partner form](https://docs.google.com/forms/d/e/1FAIpQLSdoCZ_Z5uODArGpGkVI4tbU7q9qHAcGAXYYEoP9HFq3aKNs3A/viewform).
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/blog/tanstack-db-0.6-app-ready-with-persistence-and-includes.md` at line
502, Replace the editor-context Google Forms URL in the markdown link "[Fill out
the SSR design partner
form](https://docs.google.com/forms/d/e/1FAIpQLSdoCZ_Z5uODArGpGkVI4tbU7q9qHAcGAXYYEoP9HFq3aKNs3A/viewform?usp=publish-editor)"
with the canonical public form URL by removing the query string (drop
"?usp=publish-editor") so the link points to
"https://docs.google.com/forms/d/e/1FAIpQLSdoCZ_Z5uODArGpGkVI4tbU7q9qHAcGAXYYEoP9HFq3aKNs3A/viewform".
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Duplicate comments:
In `@src/blog/tanstack-db-0.6-app-ready-with-persistence-and-includes.md`:
- Line 358: Replace the unhyphenated phrase "double-tick style UI" with the
compound-modifier "double-tick-style UI" in the blog text; locate the phrase in
the article content (the sentence containing "the little double-tick style UI we
are used to from apps like WhatsApp") and update it to use the hyphenated form
"double-tick-style UI".
- Line 50: The sentence claiming "fully local-first" overstates guarantees;
update the line in
src/blog/tanstack-db-0.6-app-ready-with-persistence-and-includes.md to soften
the claim by replacing "fully local-first" with a more accurate phrasing such as
"closer to local-first" or "enables local-first behavior in many cases" and
optionally add a brief caveat that true full local-first behavior requires
explicit conflict resolution semantics for multi-client sync scenarios.
- Line 502: Replace the editor-context Google Forms URL in the markdown link
"[Fill out the SSR design partner
form](https://docs.google.com/forms/d/e/1FAIpQLSdoCZ_Z5uODArGpGkVI4tbU7q9qHAcGAXYYEoP9HFq3aKNs3A/viewform?usp=publish-editor)"
with the canonical public form URL by removing the query string (drop
"?usp=publish-editor") so the link points to
"https://docs.google.com/forms/d/e/1FAIpQLSdoCZ_Z5uODArGpGkVI4tbU7q9qHAcGAXYYEoP9HFq3aKNs3A/viewform".

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 82c01814-67e1-4398-9e7c-175b5820aa15

📥 Commits

Reviewing files that changed from the base of the PR and between c52ecd4 and fc1a035.

📒 Files selected for processing (1)
  • src/blog/tanstack-db-0.6-app-ready-with-persistence-and-includes.md

@LadyBluenotes LadyBluenotes merged commit f5c6166 into TanStack:main Mar 25, 2026
4 checks passed
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.

3 participants