- Laravel October Product Updates
- Laravel Framework changelog — October 2026
- Laravel Framework changelog RSS
Laravel Framework
10月のリリース範囲
公式Changelogの主要な新機能に加え、リリースノートから日付と導入バージョンを確認しました。
以下では、公式Changelogに掲載された9項目を詳しく紹介します。細かな修正や依存関係の変更は、各リリースノートを参照してください。
QUERYルートでリクエストボディを持つ検索を定義
v13.35.0で、HTTPのQUERYメソッドに対応するRoute::query()が追加されました。GETのクエリ文字列ではなく、リクエストボディで検索条件を受け取るルートを定義できます。
Route::any()もQUERYリクエストに一致し、ルート一覧はこのメソッドを認識します。上のSearchProductsControllerは、検索処理を実装したアプリケーション側のInvokable Controllerを想定しています。
一次情報:Register QUERY Routes、Laravel 13公式routing.md。関連ページ:ルーティング、CSRF保護
書き込み後の別リクエストでも古い読み取りを避ける
読み書きを分離したデータベースでは、更新直後の読み取りが、まだ同期されていないRead replicaへ向かうことがあります。既存のsticky設定が同一リクエスト内を対象にするのに対し、v13.38.0のPreventStaleDatabaseReadsは、同じセッションの後続リクエストにも保護期間を設けます。
bootstrap/app.phpでIlluminate\Foundation\Http\Middleware\PreventStaleDatabaseReadsをimportし、withMiddleware()のコールバック内で、$middleware->web(append: [PreventStaleDatabaseReads::class]);として追加します。自動で有効になる機能ではありません。
ミドルウェアはデフォルトDB接続への書き込み時刻をセッションへ記録し、既定では書き込みから2秒間、その接続の読み取りをWrite DBへ向けます。期間は、登録するクラスをPreventStaleDatabaseReads::for(5)などに替えて変更できます。
セッションを使うため、StartSessionより後に実行する必要があります。別セッションや別DB接続の読み取りまで切り替える機能ではなく、レプリカの同期完了を検知するものでもありません。
一次情報:Avoid Stale Reads After Database Writes、Laravel 13公式database.md。関連ページ:データベース、セッション
特定の処理だけWrite DBから読み取る
同じv13.38.0で追加されたConnection::usingWritePdo()は、コールバックの実行中だけ、その接続の読み取り先をWrite DBに切り替えます。セッション単位の保護ではなく、アプリケーション側で重要な読み取りの範囲を明示したい場合に使えます。
スケジュールを単一サーバー実行にまとめて設定
複数サーバーでスケジューラーを動かす場合に、タスクごとのonOneServer()指定漏れを減らすため、v13.35.0でSchedule::alwaysOnOneServer()が追加されました。AppServiceProviderのboot()で呼び出すと、対象となるスケジュールへまとめて適用できます。
onOneServer()には、全サーバーで共有する中央キャッシュが必要です。公式ドキュメントが挙げる対応ドライバーはdatabase、memcached、dynamodb、redisです。設定を追加するだけで、サーバー間のロック基盤が用意されるわけではありません。Fakeでプロパティを指定してディスパッチを検証
v13.35.0で、Queue・Bus・Event・NotificationのFakeに、期待するプロパティの配列を渡せるようになりました。単純な属性比較のために、毎回コールバックを書く必要がなくなります。 たとえば、公開orderプロパティを持つShipOrderジョブと、テストで用意した$orderを使う場合は、次のように検証できます。
is()で比較されるため、同じモデルを表す別インスタンスも扱えます。Fakeはディスパッチの検証であり、ジョブ本体の実行結果を検証するものではありません。
一次情報:Assert Fake Dispatches by Their Properties、Laravel 13公式queues.md。関連ページ:キュー、モック
ワーカーのメモリ上限を割合で指定
v13.35.0から、queue:workの--memoryに、PHPのmemory_limitに対する割合を指定できます。環境ごとに固定MB値を計算し直さず、PHPの設定に合わせてワーカーの終了しきい値を調整できます。
memory_limitが無制限の-1である場合は、割合ではなくMB値を使ってください。しきい値で終了したワーカーの再起動は、Supervisorなどのプロセス監視に任せます。
一次情報:Set Queue Worker Memory Limits as Percentages、Laravel 13公式queues.md
Markdownを専用のContent-Typeで返す
v13.35.0で、レスポンスファクトリーにmarkdown()が追加されました。Markdown本文をtext/markdownとして返し、ステータスコードと追加ヘッダーも指定できます。
wantsMarkdown()などでレスポンス形式を選ぶ処理と組み合わせられます。MarkdownをHTMLへ変換して返す機能ではなく、Markdown自体をレスポンスとして提供するためのAPIです。
一次情報:Return Markdown Responses、Laravel 13公式responses.md。関連ページ:レスポンス
Vitessで分析クエリをOLAPモードで実行
v13.36.0で、MySQL接続にisVitess()とolap()が追加されました。VitessやPlanetScaleを利用しているかを判定し、分析用途のクエリをOLAPワークロードで実行できます。
既存バリデーションルールをBuilderから見つける
v13.36.0で、従来は文字列で指定していた多くのルールにRuleのBuilderメソッドが追加されました。requiredWith()、acceptedIf()、regex()、timezone()などをIDEの補完で見つけやすくし、既存の検証動作を維持したまま記述方法を選べます。
Laravel Cloud
公式月次ブログでは、次の3項目が紹介されています。
一次情報:Laravel October Product Updates — Laravel Cloud、Laravel Cloud changelog。関連ページ:Laravel Cloudの紹介
Laravel Forge
- PHPセキュリティ更新の通知:10月のPHPセキュリティリリースで影響を受けるバージョンをサーバーごとに表示し、修正版の提供状況を案内します。Recheck versionsで、実際にインストールされているバージョンを再確認できます。表示の再確認とPHPのアップデートは別の操作です。
- プロビジョニング失敗の扱い:完了できないサーバーを失敗状態として表示し、通知・次の操作の案内・削除操作を提供します。PHPとNginxのインストールも、失敗を確定する前に再試行します。
関連記事
2026年9月のアップデート
AIプロバイダーの実行時構築、検索拡張、Mercure、Cloudの隔離プレビュー環境を振り返ります。
データベースガイド
読み書き分離やDB接続の基本を確認します。