Loading...

[Update] MBC CQRS サーバーレス フレームワーク v1.2.0 をリリース

MBC CQRS サーバーレス フレームワーク v1.2.0 をリリースしました。今回のリリースでは、重要な破壊的変更と新機能が含まれています。

主な変更点

⚠️ 破壊的変更

  • core: publishSync() および publishPartialUpdateSync() が no-op 時に null を返すように変更されました。戻り値の型が Promise<CommandModel> から Promise<CommandModel | null> に変わります。結果にアクセスする前に null チェックを追加してください。(詳細
  • sequence: SequenceService.genNewSequence() が削除されました。代わりに generateSequenceItem() または generateSequenceItemWithProvideSetting() を使用してください。(詳細

✨ 新機能

Read-Your-Writes (RYW) 整合性

publishAsync 後、DynamoDB Stream の同期が完了する前でも、同一ユーザーの後続読み取りで書き込んだデータが即座に反映されるようになりました。

  • オプトイン方式:環境変数 RYW_SESSION_TTL_MINUTES を設定するだけで有効化(例:5
  • 新しい Repository クラスが CommandModule / @mbc-cqrs-serverless/core からエクスポートされます。DataService を RYW マージ付きでラップし、getItemlistItemsByPklistItems に対応
  • セッションテーブル {NODE_ENV}-{APP_NAME}-session の作成が必要です(dynamodbs/session.json 参照)
  • RYW_SESSION_TTL_MINUTES 未設定時は完全に無効 — 既存プロジェクトへの影響ゼロ

実装ガイドを見る | コアコンセプトを見る

MCP サーバー:新しいアンチパターン検出器

  • AP013: publishSync / publishPartialUpdateSync の結果を null チェックなしで使用するコードを検出
  • AP014: 削除済みの genNewSequence() の使用を検出
  • migration_guide プロンプトが v1.2.0 セクションで更新されました

🐛 バグ修正

  • import: ZIP オーケストレーターのインポートステータスハンドリングを修正。ImportStatusHandler がジョブ失敗時に importJobStatus 付きのタスク成功を送信するようになりました。

アップグレード方法

npm install @mbc-cqrs-serverless/core@1.2.0

破壊的変更の移行方法については、変更履歴 v1.2.0 をご確認ください。

関連リンク

Top