30秒で判断
- 対応すべき人: Svelte 5 を利用中で、フォームの
select初期値指定・SvelteMapを使ったリアクティブなマップ操作・SSR/CSP まわりの実装を行っている方。 - 対応不要な人: Svelte を使用していない方。破壊的変更はなく、現行の挙動で問題が出ていなければ急ぐ必要はありません。
- 確認コマンド:
npm ls svelteで現在のバージョンを確認。
この変更が意味すること
Svelte 5.57.0 は、破壊的変更を伴わない minor リリースです。フォームやリアクティブなデータ構造、SSR/CSP まわりで「あると嬉しい」実用的な API がまとめて追加されました。
とくに select の defaultValue 対応や SvelteMap の getOrInsert 系メソッドは、これまで手書きの補助ロジックで補っていたパターンを言語機能側で吸収してくれるため、コードの見通しが良くなります。既存アプリの挙動を変える変更ではないので、通常の更新サイクルで取り込めます。
主な変更点
新機能(Minor Changes)
selectのdefaultValueサポート(#18591) — フォームの初期選択値を素直に指定できるようになりました。SvelteMapにgetOrInsert/getOrInsertComputedを追加(#18728) — 「キーが無ければ値を入れて返す」パターンを1メソッドで表現でき、リアクティブなマップ操作が簡潔になります。createContextにhas関数を追加(#18472) — コンテキストの存在確認を明示的に行えます。svelte/serverからRenderOutput/SyncRenderOutput/Csp/Sha256Sourceを export(#18648) — SSR や CSP(Content Security Policy)まわりの型・ユーティリティを直接利用できるようになりました。
バグ修正(Patch Changes)
- テンプレートのストア購読を、ストアを代入する Promise の解決までブロックするよう修正(#18582)。
$derivedの teardown 時エラーをinvoke_error_boundary経由でルーティングするよう修正(#18486)。SvelteDateのスナップショットをリアクション内で追跡するよう修正(#18700)。- アンマウント時に
svelte:headのアンカーを除去するよう修正(#18697)。
EOL / サポート状況
Svelte は endoflife.date の追跡対象外のため、明示的なEOLスケジュールは提供されていません。5 系が現行の安定版です。
| メジャーライン | 最新 | 状態 |
|---|---|---|
| 5 | 5.57.0 | active |
開発者への影響
- フォーム実装で
selectの初期値をdefaultValueで直接指定でき、初期化ロジックを簡素化できます。 SvelteMapのgetOrInsert/getOrInsertComputedにより、キャッシュやカウンタなど「無ければ作る」処理を短く書けます。svelte/serverの CSP 関連 export により、SSR で nonce/hash ベースの CSP を組み込む際の型付けが楽になります。- いずれも後方互換の追加・修正で、移行作業は不要です。
アップデート方法
npm install svelte@5.57.0
# または
pnpm add svelte@5.57.0
破壊的変更はないため、通常の依存更新のタイミングで取り込めば十分です。新機能を使う場合のみ、該当箇所の実装を見直してください。
データソース: GitHub Releases API, endoflife.date, npm Registry, PyPI AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。
