つみかさね
L

Laravel v13.37.0

リリース日: 2026-10-17データソース: GitHub Releases, npm, endoflife.date
影響度スコア
30/ 100影響度: 中
Breaking Changes0/40
新機能8/25
バグ修正17/20
セキュリティ0/15
依存関係5/15
LaravelPHPキュージョブbackend

30秒で判断

  • 対応すべき人: Laravel 12系・13系を利用しており、onOneServer() と withoutOverlapping() を併用するジョブ、キュー投入失敗時のユニークロック、多数データベース環境での getForeignKeys() のパフォーマンスに関心がある方
  • 対応不要な人: Laravelを使用していない方。該当機能(ジョブの重複制御・キューのユニークロック・自己参照one-of-many関連のhas()/withCount())を利用していない方
  • 確認コマンド: php artisan --version(または composer show laravel/framework)で現在のバージョンを確認

この変更が意味すること

Laravel 13.37.0は、12.x系・13.x系の両ブランチに対するバグ修正と小規模な機能追加を含むリリースです。破壊的変更の記載はなく、ジョブ・キュー周りの不具合修正が中心です。

とくに onOneServer() と withoutOverlapping() を併用した場合のジョブ競合修正と、キューへのジョブ投入に失敗した際にユニークロックが解放されない不具合の修正は、スケジュール済みジョブやキューを多用するプロジェクトにとって実務上の影響が大きい変更です。12系・13系を利用しているプロジェクトであれば、通常のアップデートサイクルで取り込む価値があります。

主な変更点

onOneServer() と withoutOverlapping() 併用時のジョブ競合を修正

両方のメソッドを併用してジョブをスケジュールしている場合に発生していた競合状態が修正されました。

キュー投入失敗時にユニークロックを解放

ユニークジョブをキューに投入する処理が失敗した際、ユニークロックが解放されずに残ってしまう不具合が修正されました。

limiter の block() タイムアウトでfaked Sleepを尊重

テストでSleepをフェイクしている場合に、limiter の block() タイムアウトがそれを尊重するよう修正されました。

多数データベース環境でのgetForeignKeys()パフォーマンス改善

多数のデータベースを抱えるMariaDB/MySQLサーバーにおいて、getForeignKeys() のパフォーマンスが改善されました。

自己参照one-of-many関連のhas()/withCount()を修正

自己参照のone-of-many関連に対する has() と withCount() の不具合が修正されました。

その他

  • whereBelongsTo() / whereAttachedTo() のコレクション型の修正
  • queue:failed コマンドへの --queue オプション追加
  • 13.xのデフォルトキュー設定へのバックグラウンド接続追加
  • キューワーカーがジョブ間でスティッキー接続をフラッシュ可能に(13.x)

EOL / サポート状況

バージョンステータスEOL
13active2028-03-17
12active2027-02-24
11eol2026-03-12
10eol2025-02-04
9eol2024-02-06

13系は2028年3月まで、12系は2027年2月まで長期的にサポートされます。11系以前はすでにEOLのため、利用中の場合はアップグレードを検討してください。

開発者への影響

  1. onOneServer() と withoutOverlapping() を併用するジョブのスケジューリングで競合が解消されます
  2. キュー投入失敗時のユニークロック解放により、意図せずロックが残り続ける状態を回避できます
  3. 多数データベース環境では getForeignKeys() のパフォーマンス向上が見込めます
  4. 破壊的変更はないため、12系・13系内でのアップデート負荷は小さい見込みです

アップデート方法

composer update laravel/framework

アップデート後は php artisan test などでアプリケーションの動作を確認してください。


データソース: GitHub Releases API, endoflife.date AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。

export const impactScoreData = {
  "total": 30,
  "level": "medium",
  "label": "影響度: 中",
  "factors": [
    {"name": "Breaking Changes", "score": 0, "maxScore": 40},
    {"name": "新機能", "score": 8, "maxScore": 25},
    {"name": "バグ修正", "score": 17, "maxScore": 20},
    {"name": "セキュリティ", "score": 0, "maxScore": 15},
    {"name": "依存関係", "score": 5, "maxScore": 15}
  ]
};

export const breakingChangesData = {
  "count": 0,
  "items": []
};

export const updateAdviceData = {
  "rating": 3,
  "maxRating": 5,
  "label": "ジョブ・キュー機能を使うなら適用を推奨",
  "shouldUpdate": [
    "onOneServer()とwithoutOverlapping()を併用するジョブを運用している",
    "キューのユニークロックや自己参照one-of-many関連を利用している"
  ],
  "canWait": [
    "Laravelを使用していない",
    "該当するジョブ・キュー機能を利用していない"
  ]
};

export const versionNavData = {
  "previousVersion": "13.36.0",
  "nextVersion": null
};

export const actionGuideData = {
  "evaluation": {
    "priority": "medium",
    "actionRequired": "recommended"
  },
  "action": {
    "steps": [
      "テスト環境で13.37.0へのアップデートを検証する",
      "本番環境に適用する",
      "ジョブ・キュー周りの動作を確認する"
    ],
    "skipIf": [
      "Laravelを使用していない",
      "12系・13系を使用していない(該当バージョン外)",
      "ジョブの重複制御・キューのユニークロック・自己参照one-of-many関連のいずれも利用していない"
    ],
    "notes": ["破壊的変更はないため、12系・13系内であれば移行負荷は小さい見込みです"]
  },
  "impact": {
    "targets": ["Laravel 12/13利用者", "キュー機能利用者"],
    "scope": "partial"
  },
  "changeCategory": "バグ修正"
};

アップデート判断

★★★★★
ジョブ・キュー機能を使うなら適用を推奨

アップデートすべき場合

  • ●onOneServer()とwithoutOverlapping()を併用するジョブを運用している
  • ●キューのユニークロックや自己参照one-of-many関連を利用している

様子見でよい場合

  • ●Laravelを使用していない
  • ●該当するジョブ・キュー機能を利用していない
Xでシェアはてブ
データソース: GitHub Releases API, npm Registry, endoflife.date (MIT License), NVD (NIST)
AI解説は Claude API により自動生成されています。正確性については原文リリースノートをご確認ください。