[Update] MBC CQRS サーバーレス フレームワーク v1.3.5 をリリース
Technology
Aug 01, 2026
MBC CQRS サーバーレス フレームワーク v1.3.5 をリリースしました。今回は、コマンドハンドラーの再開処理の堅牢化とセキュリティ監査ゲートの復活に加え、mbc new で生成するローカル開発環境の改善を行いました。デプロイ済みアプリの実行時挙動に影響する変更はありません(安全にアップグレードいただけます)。
主な変更点
バグ修正
- core: コマンドハンドラーの再開(resume)を read-after-write の競合に対して強化 — 先行コマンドが既に完了している場合の自己再開、残存 TOCTOU ウィンドウの解消、先行コマンド取得の指数バックオフ・リトライ、再開失敗の分類とアラーム発報を追加しました。
- core:
DynamoDbService.getItemにConsistentReadを追加し、再開の判定が古いレプリカではなく最新のコミット済み状態を読むようにしました。 - cli:
mbc newで生成した infra テンプレートのcdk synth/deploy失敗を修正しました(v1.3.4 で発生していた未定義識別子の参照)。v1.3.5 でデプロイ可能に戻ります。
新機能
- infra: コマンドハンドラーの Step Functions ステートマシンに CloudWatch アラーム(実行失敗・自己再開の劣化経路)を追加し、
wait_prev_commandに 24 時間のタイムアウトと catch を設定、SendTaskSuccessの IAM 権限を該当ステートマシンの ARN に限定しました。 - cli:
mbc newプロジェクトのローカル開発ツールを改善 — ローカルインフラのポートをLOCAL_*_PORT環境変数で可変化(デフォルトは不変)、cognito-local の JWT issuer をLOCAL_COGNITO_PORTに追従、Step Functions Local の事前登録を堅牢化しました。デプロイ済みアプリの実行時挙動には影響しません。
セキュリティ
- 一時的に無効化していたブロッキングな本番依存監査ゲート(
npm audit --omit=dev --audit-level=high)を復活させ、brace-expansionを修正しました。ルートワークスペースの本番監査は critical/high 0 件です。
アップグレード方法
npm install @mbc-cqrs-serverless/core@1.3.5
