この変更が意味すること
Svelte 5.53.12 はリアクティビティエンジンの信頼性とパフォーマンスを改善するパッチリリースです。4件のバグ修正と1件の内部改善が含まれています。
特に $derived の値がバッチをまたいで正しく計算されるようになった修正は、複数の状態更新が同時に発生する場面で影響する可能性があります。また、クリーンなルートノードの不要な走査を回避する最適化により、大規模なコンポーネントツリーでのパフォーマンスが向上しています。
フォーム関連では <select> の __value が change イベント時に正しく更新されるようになり、セレクトボックスの値同期に関する問題が解消されました。
主な変更点
select.__value の change イベント時の更新修正
<select> 要素の内部プロパティ __value が change イベント発火時に正しく更新されるようになりました。これまでは change イベントのタイミングで __value が古い値のまま残るケースがあり、バインディングで値の不整合が発生する可能性がありました(#17745)。
derived 値のバッチ間での正確性を確保
$derived で定義されたリアクティブな値が、複数のバッチをまたいで正しく計算されるようになりました。状態更新が複数のバッチに分割される場面で derived の値が古いままになる問題が修正されています。複雑なリアクティブ依存関係を持つコンポーネントでの信頼性が向上します(#17917)。
async RHS における assignment_value_stale の対応
代入の右辺(RHS)が非同期処理を含む場合に assignment_value_stale のチェックが正しく動作するようになりました。async な代入処理を利用しているコンポーネントでの値の stale 判定に関するエッジケースの修正です(#17925)。
クリーンなルートの走査回避
変更のないクリーンなルートノードへの不要な走査が回避されるようになりました。リアクティビティの更新サイクルにおいて、実際に変更があったノードだけを効率的に処理できるようになり、パフォーマンスが向上します。大規模なコンポーネントツリーを持つアプリケーションで特に効果が期待できます(#17928)。
invariant ヘルパーの追加(内部改善)
デバッグ用の invariant ヘルパー関数が追加されました。内部のアサーション処理がより構造化され、開発時のデバッグ体験が向上します(#17929)。
EOL / サポート状況
Svelte は endoflife.date での正式なサイクル管理対象外ですが、npm のタグ状況は以下の通りです。
| バージョン系列 | 最新 | ステータス |
|---|---|---|
| 5.x | 5.53.12 | 最新(active) |
Svelte 5 が現在のアクティブ系列です。
開発者への影響
- フォーム利用者:
<select>の__value同期問題が解消され、セレクトボックスのバインディングがより信頼性の高いものになります - 複雑なリアクティブ依存関係を持つアプリ: derived 値のバッチ間正確性が改善され、状態の不整合リスクが減ります
- 大規模アプリ: クリーンルートの走査回避により、リアクティビティ更新のオーバーヘッドが軽減されます
- async 処理を含むコンポーネント: async RHS の stale 判定が正しくなり、非同期代入のエッジケースが解消されます
アップデート方法
# npm
npm install svelte@5.53.12
# pnpm
pnpm update svelte@5.53.12
# yarn
yarn upgrade svelte@5.53.12
データソース: GitHub Releases API, npm Registry AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。
