この変更が意味すること
NestJS v11.1.20 がリリースされました。パッチリリースですが、SSE(Server-Sent Events)周りの重要なバグ修正が複数含まれており、SSE を活用しているプロジェクトにとっては見逃せないアップデートです。
@Sse デコレータを使用している場合にイベントが消失する問題が修正されています。SSE でリアルタイム通信を行っているプロジェクトでイベントの欠損に心当たりがある場合は、このバージョンで解消される可能性があります。
主な変更点
@Sse でイベントが消失する問題を修正
@Sse デコレータを使用した SSE ストリームで、complete 時にイベントが失われるバグが修正されました。Observable が complete を発行するタイミングで最後のイベントが送信されずに消失するケースがありました。
PR: #16861 by @MatthiasBrehmer
SSE の writehead をライフサイクル完了後に遅延
SSE レスポンスの writeHead がライフサイクル(インターセプタ、ガードなど)完了後に実行されるよう修正されました。これにより、ライフサイクル内でヘッダーを変更する処理が正しく反映されるようになります。
PR: #16753 by @jkalberer
SSE メッセージ ID の strict null チェック
SSE メッセージの ID フィールドに対する strict null チェックが追加されました。ID が 0 の場合に falsy として扱われ無視される問題が解消されます。
PR: #16782 by @burhanharoon
深くネストされた transient プロバイダの解決を修正
複数階層にネストされた transient スコープのプロバイダが正しく解決されない問題が修正されました。DI(Dependency Injection)でトランジェントプロバイダを深くネストして利用しているプロジェクトに影響します。
PR: #16939 by @kamilmysliwiec
ServerRMQ のクラッシュを修正
@MessagePattern(undefined) と wildcards: true を組み合わせた場合に、ServerRMQ が起動時にクラッシュする問題が修正されました。
PR: #16850 by @lavieennoir
EOL / サポート状況
NestJS は明確な EOL ポリシーを公開していませんが、メジャーバージョンごとにサポートが移行します。
| バージョン | latest | ステージ |
|---|---|---|
| 11.x(現行) | 11.1.20 | active |
| 12.0.0 | alpha.2 | alpha(次期メジャー) |
| 10.x(レガシー) | 10.4.22 | legacy |
NestJS 12 は alpha 段階で、安定版リリースにはまだ時間がかかりそうです。
開発者への影響
- SSE 利用者:
@Sseでイベントが消失する問題が修正されています。リアルタイム通知やストリーミングで不具合があった場合は要確認 - SSE + インターセプタ利用者:
writeHeadのタイミング修正により、ライフサイクル内のヘッダー変更が正しく反映されるように - DI でトランジェントプロバイダを多用するプロジェクト: 深くネストされたケースでの解決が改善
- RabbitMQ(ServerRMQ)利用者:
@MessagePattern(undefined)とワイルドカードの組み合わせによるクラッシュが解消
アップデート方法
# npm
npm update @nestjs/core @nestjs/common @nestjs/testing
# pnpm
pnpm update @nestjs/core @nestjs/common @nestjs/testing
# yarn
yarn upgrade @nestjs/core @nestjs/common @nestjs/testing
データソース: GitHub Releases API, npm Registry AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。
