概要
- Zod 4 が正式リリース、パフォーマンスと効率が大幅向上
- Zod 3との共存 で移行を簡易化、詳細はMigration guide参照
- zod/v4-mini でバンドルサイズを大幅削減、特に厳しいプロジェクト向け
- 新機能 :メタデータ管理、再帰型、ローカライズ、エラープリティプリント等
- API刷新 と設計改善で今後の拡張・連携を強化
Zod 4: 新時代のTypeScriptスキーマバリデーション
リリースと移行戦略
- Zod 4 は1年間の活発な開発を経て安定版として公開、 パフォーマンス・効率性・新機能 を大幅強化
- Clerk OSS Fellowship による支援に感謝、開発期間延長にも柔軟に対応
- 移行の円滑化のため、 Zod 3とZod 4はzod@3.25で同時配信、既存エコシステムとの互換性維持
- Zod 4の利用 は
/v4サブパスからimportすること - 将来的にはnpmで zod@4.0.0 としてパッケージルートからエクスポート予定、
zod/v4サブパスも維持 - 詳細なバージョニング理由や破壊的変更は Migration guide やGitHub issueで確認すること
成長と背景
- Zod v3.0 (2021年5月リリース)時点:GitHub stars 2,700、週60万ダウンロード
- 現在(Zod 4) :GitHub stars 37,800、週3,100万ダウンロードに拡大
- Zod 3の設計限界 を突破し、要望の多かった新機能・パフォーマンス向上・設計改善を一挙実現
- 最も投票数の多かったオープンissueの9/10を解決、新たな基盤として長期活用を目指す
パフォーマンス・効率性の向上
- ベンチマーク
- 文字列パース:14倍高速化
- 配列パース:7倍高速化
- オブジェクトパース:6.5倍高速化
- TypeScriptコンパイル効率
- tscの型インスタンス生成数:zod/v3で25,000超→zod/v4で約175に削減
.extend()や.omit()の連鎖によるコンパイラ負荷を大幅軽減、10倍高速化- tsgo compiler との連携で大規模スキーマでも編集性能を維持
バンドルサイズ削減とzod/v4-mini
- コアバンドルサイズ
- zod/v3:12.47kb(gzip)
- zod/v4:5.36kb(gzip、57%削減)
- zod/v4-mini 導入
- 機能APIをラップ関数化し、未使用APIのtree-shakingを容易化
- zod/v4-mini:1.88kb(gzip、zod@3比で85%削減・6.6倍小型化)
- バンドルサイズ厳格プロジェクト に推奨、詳細はzod/v4-mini docs参照
新機能・拡張
- メタデータ管理
- スキーマに型付きメタデータを付与、schema registryで管理
.meta()でグローバル登録、JSON Schema変換時も自動反映
- 再帰型サポート
- 型キャスト不要で再帰・相互再帰スキーマをシンプルに定義可能
- ローカライズAPI
- エラーメッセージの多言語対応(現時点で英語のみ、今後拡充予定)
- エラープリティプリント
z.prettifyErrorでZodErrorを読みやすい文字列に変換可能
- string format API刷新
- z.string().email()等のメソッドは非推奨、z.email()等のトップレベル関数推奨
- カスタムemail正規表現や共通パターンも提供
- template literal型サポート
- TypeScriptのtemplate literal型をバリデーション可能に
- 数値型フォーマット
- 固定幅整数・浮動小数点型(int8, uint8, float32等)やBigInt型もサポート
- 高度なboolean coercion
z.stringbool()でenvスタイルの真偽値変換、カスタマイズも可能
- エラーAPIの統一・刷新
- errorパラメータに一本化、従来のmessage/invalid_type_error/required_error/errorMapは非推奨
- discriminated unionの拡張
- union, pipe, ネストオブジェクト等もサポート、union同士の合成も可能
- z.literal()の複数値対応
- refinementの実装改善
- スキーマ内部で管理し、他のメソッドとの併用が容易に
- .overwrite()導入
- 型を変更しない変換処理をrefinementとして記述可能、transformとの違い明確化
- zod/v4/coreサブパッケージ
- zod/v4・zod/v4-mini共通の基盤、他ライブラリへの組み込み容易化
- スキーマライブラリ開発者向けにFor library authors guideも整備
今後・コミュニティ
- ドキュメント・設計解説記事 を順次公開予定
- GitHub DiscussionsやX/Bluesky でフィードバック・質問受付
- ライブラリアーサー向けガイド でZod 3/4両対応やMini対応のベストプラクティスを解説
Zod 4は、TypeScriptバリデーションの新たな標準として、パフォーマンス・拡張性・開発体験を大きく進化させました。今後のエコシステム発展にも注目してください。