このリリースは主にパフォーマンスとインフラストラクチャの改善に焦点を当てており、特に小売向けAPIの最適化が中心となっています。
🔥 重要な変更
パフォーマンス改善
- 小売向け商品API (ProductsController) の大幅なリファクタリング
- 有効な価格を持つ商品のみを返すように最適化
Product.with_valid_prices_for_retail
スコープの導入
- Bullet gemを development/test環境に移動し、N+1クエリの検出を強化
インフラストラクチャ
- AWS関連アクションを最新バージョンに更新:
aws-actions/configure-aws-credentials
: v2 → v4amazon-ecr-login
: v1 → v2amazon-ecs-deploy-task-definition
: v1 → v2
依存関係のアップデート
- Ruby: 3.1.4 → 3.3.4
- Node.js: 20 → 22
- date-fns: 3.3.1 → 4.1.0
- その他gem・npmパッケージの更新
🛠 開発者向けの変更
CI/CD
- Rubocopの実行を別ワークフローに分離
- レビュー時の指摘事項を自動化
- reviewdogによるGitHub上での自動コメント機能追加
コード品質
- ProductsControllerのリファクタリング
- ステータス判定ロジックの簡素化
- 価格有効期間の判定を改善
📝 その他
- READMEの更新
- デプロイ手順の現代化
- EC2でのRails console実行手順をECS Execを使用する方式に変更
- 運用手順の簡素化
⚠️ 破壊的変更
- 小売向けAPI (
/api/v1/retail/products
) のレスポンス仕様変更- 有効な価格を持つ商品のみを返すように変更
status
フィールドの削除- 古い価格情報を持つ商品は404を返すように変更
https://github.com/tanomimaster/tanomimaster-www/compare/v3.12.1...v3.12.2