Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
9141330
chore: naive migrate to new store package
crutchcorn Feb 13, 2026
8128dd4
chore: pass all core tests
crutchcorn Feb 13, 2026
5147c24
chore: migrate React Form as well
crutchcorn Feb 13, 2026
964233b
Merge branch 'main' into new-store-alien-signals
crutchcorn Feb 13, 2026
98db8a7
chore: add initial benchmarks
crutchcorn Feb 13, 2026
4fa9099
chore: make benchmarks more accurate
crutchcorn Feb 13, 2026
003f341
chore: per-field stores
crutchcorn Feb 13, 2026
6f03895
chore: faster again
crutchcorn Feb 13, 2026
bfc348d
chore: another
crutchcorn Feb 13, 2026
d744da0
chore: fix benchmark tests
crutchcorn Feb 13, 2026
abc7b91
chore: remove fieldMetaDerived
crutchcorn Feb 13, 2026
ce2a883
chore: refactor work on parent fields
crutchcorn Feb 13, 2026
1d8a266
chore: refactor `_notifyRelatedPerFieldValueStores`
crutchcorn Feb 13, 2026
8ca5fdb
chore: remove interim benchmark
crutchcorn Feb 13, 2026
2ee7fca
chore: remove any typings
crutchcorn Feb 13, 2026
52962de
ci: apply automated fixes and generate docs
autofix-ci[bot] Feb 13, 2026
0ab4231
chore: add onblur benchmark
crutchcorn Feb 13, 2026
5ce4f67
chore: add onMount validation
crutchcorn Feb 13, 2026
13f3909
ci: apply automated fixes and generate docs
autofix-ci[bot] Feb 13, 2026
2deddb5
ci: apply automated fixes and generate docs
autofix-ci[bot] Feb 13, 2026
176d74a
chore: fix types
crutchcorn Feb 13, 2026
8dafa0c
Revert "chore: another"
crutchcorn Feb 13, 2026
2a54084
chore: re-fix issues with react ssr
crutchcorn Feb 13, 2026
274e793
Merge branch 'main' into make-go-fast
crutchcorn Feb 17, 2026
e6984aa
ci: apply automated fixes and generate docs
autofix-ci[bot] Feb 17, 2026
85072f3
Merge branch 'main' into new-store-alien-signals
crutchcorn Feb 17, 2026
b134a18
chore: fix various other issues
crutchcorn Feb 17, 2026
49f52a1
Merge branch 'new-store-alien-signals' into make-go-fast
crutchcorn Feb 17, 2026
e877514
chore: upgrade Zod to v4 everywhere
crutchcorn Feb 17, 2026
e01ae49
ci: apply automated fixes and generate docs
autofix-ci[bot] Feb 17, 2026
35c156e
chore: fix tests
crutchcorn Feb 17, 2026
5121c33
Merge branch 'make-go-fast' of https://github.com/TanStack/form into …
crutchcorn Feb 17, 2026
e1cfea2
chore: fix perf for non-transform users
crutchcorn Feb 17, 2026
8e95bbc
ci: apply automated fixes and generate docs
autofix-ci[bot] Feb 17, 2026
7494b7f
chore: fix lint
crutchcorn Feb 17, 2026
e982049
chore: fix Nextjs build
crutchcorn Feb 17, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion examples/angular/standard-schema/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
"rxjs": "^7.8.2",
"tslib": "^2.8.1",
"valibot": "^1.1.0",
"zod": "^3.25.76",
"zod": "^4.3.6",
"zone.js": "0.15.1"
},
"devDependencies": {
Expand Down
2 changes: 1 addition & 1 deletion examples/lit/standard-schema/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
"effect": "^3.17.14",
"lit": "^3.3.1",
"valibot": "^1.1.0",
"zod": "^3.25.76"
"zod": "^4.3.6"
},
"devDependencies": {
"vite": "^7.2.2"
Expand Down
2 changes: 1 addition & 1 deletion examples/react/dynamic/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
"@types/react-dom": "^19.0.3",
"@vitejs/plugin-react": "^5.1.1",
"vite": "^7.2.2",
"zod": "^3.25.76"
"zod": "^4.3.6"
},
"browserslist": {
"production": [
Expand Down
4 changes: 2 additions & 2 deletions examples/react/next-server-actions-zod/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@
},
"dependencies": {
"@tanstack/react-form-nextjs": "^1.28.3",
"@tanstack/react-store": "^0.8.1",
"@tanstack/react-store": "^0.9.1",
"next": "16.0.5",
"react": "^19.0.0",
"react-dom": "^19.0.0",
"zod": "^3.25.76"
"zod": "^4.3.6"
},
"devDependencies": {
"@types/node": "^24.1.0",
Expand Down
9 changes: 8 additions & 1 deletion examples/react/next-server-actions-zod/src/app/action.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,15 @@ import {
import { z } from 'zod'
import { formOpts } from './shared-code'

// Required as `z.coerce.number()` defined the type as `unknown`, so we need to do the coercion and validation manually
const zodAtLeast12 = z
.custom<number>()
.refine((value) => Number.isFinite(Number(value)), 'Invalid number')
.transform((value) => Number(value))
.refine((value) => value >= 12, 'Age must be at least 12')

const schema = z.object({
age: z.coerce.number().min(12),
age: zodAtLeast12,
firstName: z.string(),
})

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,13 @@ import { z } from 'zod'
import someAction from './action'
import { formOpts } from './shared-code'

// Required as `z.coerce.number()` defined the type as `unknown`, so we need to do the coercion and validation manually
const zodAtLeast8 = z
.custom<number>()
.refine((value) => Number.isFinite(Number(value)), 'Invalid number')
.transform((value) => Number(value))
.refine((value) => value >= 8, 'Age must be at least 8')

export const ClientComp = () => {
const [state, action] = useActionState(someAction, initialFormState)

Expand All @@ -27,7 +34,7 @@ export const ClientComp = () => {
<form.Field
name="age"
validators={{
onChange: z.coerce.number().min(8),
onChange: zodAtLeast8,
}}
>
{(field) => {
Expand Down
2 changes: 1 addition & 1 deletion examples/react/next-server-actions/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
},
"dependencies": {
"@tanstack/react-form-nextjs": "^1.28.3",
"@tanstack/react-store": "^0.8.1",
"@tanstack/react-store": "^0.9.1",
"next": "16.0.5",
"react": "^19.0.0",
"react-dom": "^19.0.0"
Expand Down
2 changes: 1 addition & 1 deletion examples/react/remix/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
"@remix-run/react": "^2.17.1",
"@remix-run/serve": "^2.17.1",
"@tanstack/react-form-remix": "^1.28.3",
"@tanstack/react-store": "^0.8.1",
"@tanstack/react-store": "^0.9.1",
"isbot": "^5.1.30",
"react": "^19.0.0",
"react-dom": "^19.0.0"
Expand Down
2 changes: 1 addition & 1 deletion examples/react/standard-schema/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
"react": "^19.0.0",
"react-dom": "^19.0.0",
"valibot": "^1.1.0",
"zod": "^3.25.76"
"zod": "^4.3.6"
},
"devDependencies": {
"@types/react": "^19.0.7",
Expand Down
2 changes: 1 addition & 1 deletion examples/react/tanstack-start/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
"@tanstack/react-form-start": "^1.28.3",
"@tanstack/react-router": "^1.134.9",
"@tanstack/react-start": "^1.134.9",
"@tanstack/react-store": "^0.8.1",
"@tanstack/react-store": "^0.9.1",
"react": "^19.0.0",
"react-dom": "^19.0.0"
},
Expand Down
2 changes: 1 addition & 1 deletion examples/solid/standard-schema/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
"react-dom": "^19.0.0",
"solid-js": "^1.9.9",
"valibot": "^1.1.0",
"zod": "^3.25.76"
"zod": "^4.3.6"
},
"devDependencies": {
"typescript": "5.8.2",
Expand Down
2 changes: 1 addition & 1 deletion examples/svelte/standard-schema/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
"arktype": "^2.1.22",
"effect": "^3.17.14",
"valibot": "^1.1.0",
"zod": "^3.25.76"
"zod": "^4.3.6"
},
"devDependencies": {
"@sveltejs/vite-plugin-svelte": "^5.1.1",
Expand Down
2 changes: 1 addition & 1 deletion examples/vue/standard-schema/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
"react-dom": "^19.0.0",
"valibot": "^1.1.0",
"vue": "^3.5.13",
"zod": "^3.25.76"
"zod": "^4.3.6"
},
"devDependencies": {
"@vitejs/plugin-vue": "^5.2.4",
Expand Down
2 changes: 1 addition & 1 deletion packages/angular-form/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@
"src"
],
"dependencies": {
"@tanstack/angular-store": "^0.8.1",
"@tanstack/angular-store": "^0.9.1",
"@tanstack/form-core": "workspace:*",
"tslib": "^2.8.1"
},
Expand Down
4 changes: 2 additions & 2 deletions packages/form-core/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -53,11 +53,11 @@
"dependencies": {
"@tanstack/devtools-event-client": "^0.4.0",
"@tanstack/pacer-lite": "^0.1.1",
"@tanstack/store": "^0.8.1"
"@tanstack/store": "^0.9.1"
},
"devDependencies": {
"arktype": "^2.1.22",
"valibot": "^1.1.0",
"zod": "^3.25.76"
"zod": "^4.3.6"
}
}
Loading
Loading