Publish TanStack Form v2 Alpha announcement - #1125
Conversation
📝 WalkthroughWalkthroughThe PR adds a technical article for the TanStack Form v2 alpha. It documents pipeline, schema, type-safety, and SSR changes. It also lists migration resources and exposes ChangesTanStack Form v2 alpha announcement
Estimated code review effort: 2 (Simple) | ~15 minutes 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
|
Things to add:
|
aee9ab7 to
9fbf6a2
Compare
4328dba to
0d8ee12
Compare
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@src/blog/announcing-tanstack-form-v2-alpha.md`:
- Around line 283-284: Update the age validation message in both examples using
the z.coerce.number().min validation to say “You must be at least 13,” removing
the duplicated “13” while preserving the existing validation rule.
- Line 219: Update the “Before (v1)” Markdown heading to level three (`###`) so
it follows the preceding level-two “Form Composition type safety” heading
correctly.
- Around line 282-284: Add the missing zod import to the snippets using z.object
or z.coerce, including shared-code.ts and action.ts, so each standalone example
defines z before use. Use the existing import style: import { z } from 'zod'.
🪄 Autofix
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: ffd16c93-1bb7-4a11-9637-86a952b6131c
⛔ Files ignored due to path filters (1)
public/blog-assets/announcing-tanstack-form-v2-alpha/header.pngis excluded by!**/*.png
📒 Files selected for processing (2)
src/blog/announcing-tanstack-form-v2-alpha.mdsrc/libraries/libraries.ts
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (3)
src/blog/announcing-tanstack-form-v2-alpha.md (3)
410-427: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick winPresent the missing alpha features as explicit bullets.
Under
What's missing from v2, list built-in persistence, non-React form composition, and submit metadata as separate bullets. State that these features are not included in the alpha.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/blog/announcing-tanstack-form-v2-alpha.md` around lines 410 - 427, Update the “What’s missing in v2” section to present built-in form persistence, non-React form composition, and submit metadata as separate explicit bullets, clearly stating that each feature is not included in the alpha.
263-265: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick winReplace the SSR tabs with explicit before-and-after blocks.
The SSR examples still use
tabswrappers around the v1 and v2 file groups. Render the file examples as ordinary code fences under the existing### Before (v1)and### After (v2)headings. This makes the comparison visible without requiring tab interaction.Also applies to: 333-341
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/blog/announcing-tanstack-form-v2-alpha.md` around lines 263 - 265, In the SSR examples of the blog post, replace the tabs wrappers around the v1 and v2 file groups with ordinary code fences. Keep the existing “### Before (v1)” and “### After (v2)” headings and render each file example directly beneath its corresponding heading, removing the tab interaction markers while preserving the example contents.
104-116: 🎯 Functional Correctness | 🔵 Trivial | ⚡ Quick winAdd the missing v1 failure explanation.
This section describes validator control flow, but it does not show the reported case where v1 produces no error when an error should be shown. Add a concrete invalid input and the expected error. Clarify whether
revalidateLogic()reproduces or avoids that case so the v2whencondition has a clear purpose.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/blog/announcing-tanstack-form-v2-alpha.md` around lines 104 - 116, The v1 example in the “Before (v1)” section needs a concrete failure case. Update the surrounding explanation to show invalid input and the error that should appear, then explicitly state whether using revalidateLogic() with onDynamic reproduces or avoids the missing-error behavior, clarifying the purpose of the v2 when condition.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@src/blog/announcing-tanstack-form-v2-alpha.md`:
- Line 24: Update each repeated comparison heading in the document, including
the headings identified by the Before/After pairs, to include its example topic
while preserving the version labels. Ensure every heading is unique and follows
the same topic-qualified pattern consistently.
---
Nitpick comments:
In `@src/blog/announcing-tanstack-form-v2-alpha.md`:
- Around line 410-427: Update the “What’s missing in v2” section to present
built-in form persistence, non-React form composition, and submit metadata as
separate explicit bullets, clearly stating that each feature is not included in
the alpha.
- Around line 263-265: In the SSR examples of the blog post, replace the tabs
wrappers around the v1 and v2 file groups with ordinary code fences. Keep the
existing “### Before (v1)” and “### After (v2)” headings and render each file
example directly beneath its corresponding heading, removing the tab interaction
markers while preserving the example contents.
- Around line 104-116: The v1 example in the “Before (v1)” section needs a
concrete failure case. Update the surrounding explanation to show invalid input
and the error that should appear, then explicitly state whether using
revalidateLogic() with onDynamic reproduces or avoids the missing-error
behavior, clarifying the purpose of the v2 when condition.
🪄 Autofix
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: 51e70e52-7a9e-40fc-b7d3-03b7972ac588
📒 Files selected for processing (1)
src/blog/announcing-tanstack-form-v2-alpha.md
|
|
||
| ### One validator, multiple triggers | ||
|
|
||
| ### Before (v1) |
There was a problem hiding this comment.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
Make the comparison headings unique.
Before (v1) and After (v2) repeat for separate examples. This triggers MD024 and makes document navigation ambiguous. Add the topic to each heading.
Proposed fix
-### Before (v1)
+### Before (v1): One validator, multiple triggers
-### After (v2)
+### After (v2): One validator, multiple triggersApply the same pattern to the other comparison pairs.
Also applies to: 40-40, 58-58, 78-78, 104-104, 118-118
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@src/blog/announcing-tanstack-form-v2-alpha.md` at line 24, Update each
repeated comparison heading in the document, including the headings identified
by the Before/After pairs, to include its example topic while preserving the
version labels. Ensure every heading is unique and follows the same
topic-qualified pattern consistently.
Source: Linters/SAST tools
|
@LeCarbonator sorry for the offtopic ping here, but I'm very curious: did you take the header photo on Madeira? Seemed so familiar when I opened the blog post, I think I was at the same location a few years ago. Congrats on the v2 Alpha release anyways, thx for y'all's work :D |
|
Good eye! Yes, I took the photo on Madeira. I believe it was near Câmara de Lobos, along the southern shore. @JonasDoesThings |



Summary by CodeRabbit
New Features
Documentation