この変更が意味すること
Svelte v5.55.10 がリリースされました。今回のリリースは Svelte 5 の非同期処理・バッチ処理基盤に関する複数のバグ修正に絞ったパッチアップデートです。
特に注目したいのは $derived(await ...) を切断されたエフェクトルートで使用した際の問題修正(#18273)と、バッチマージ時のエフェクト転送問題(#18254)です。Svelte 5 の非同期リアクティビティ機能を積極的に活用しているプロジェクトでは、これらのバグにより予期しない動作が発生していた可能性があります。
Breaking Changes はなく、v5.55.9 から安全にアップグレードできます。
主な変更点
バグ修正: エラーになったバッチのリンク解除
エラーが発生したバッチ、または正常に完了したバッチのリンク解除が適切に行われない問題を修正しました(#18264)。
バグ修正: バッチマージ時のエフェクト転送
複数のバッチをマージする際に、エフェクトが正しく転送されない問題を修正しました(#18254)。
バグ修正: 切断されたエフェクトルートでの $derived(await ...) 使用
切断されたエフェクトルートにおいて、$derived(await ...) が動作しない問題を修正しました(#18273)。Svelte 5 の非同期リアクティビティを活用しているプロジェクトに影響します。
バグ修正: @const 非同期ブロッカーのクロージャ参照経由での伝播
{(() => host)()} のようなテンプレート式が非同期値の解決を正しく待機するよう、@const の非同期ブロッカーをクロージャ参照経由で伝播する処理を修正しました(#18309)。
バグ修正: 一時的なテキストハイドレーションマーカーの除去
一時的な生テキストハイドレーションマーカーが DOM に残留する問題を修正しました(#18269)。
バグ修正: バッチの正常なリンク解除
バッチが正しくリンク解除されない問題を追加修正しました(#18298)。
バグ修正: 破棄されたバッチの確定処理
破棄されたバッチが適切に確定(settle)されない問題を修正しました(#18290)。
パフォーマンス改善: 委譲イベント伝播の最適化
委譲イベントの伝播処理において composedPath() の結果を直接ウォークするよう改善し、パフォーマンスを向上させました(#18268)。
EOL / サポート状況
Svelte の endoflife.date データは現時点では提供されていません。npm の latest タグは 5.55.10 です。Svelte 5 が現行の安定版であり、継続的にパッチが提供されています。
開発者への影響
$derived(await ...)利用者: 切断されたエフェクトルートでの動作が修正されます。予期しない undefined や非解決状態が発生していた場合はこのパッチで解消される可能性があります- 非同期コンポーネント利用者:
@constの非同期ブロッカーの伝播修正により、テンプレート内の非同期式が正しく評価されるようになります - バッチ処理利用者: エフェクト転送とバッチリンク解除の修正により、複雑なリアクティブグラフの安定性が向上します
- SSR 利用者: ハイドレーションマーカーの残留問題が修正され、クライアントサイドのハイドレーションがクリーンになります
アップデート方法
# npm
npm update svelte
# yarn
yarn upgrade svelte
# pnpm
pnpm update svelte
# bun
bun update svelte
データソース: GitHub Releases API, npm Registry AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。
