メインコンテンツへスキップ
2026年10月は、リクエストの表現方法、データベースの読み取り先、複数サーバーでのスケジュール実行を制御する機能が増えました。Laravel Cloudではメール送信と定期実行の設定が簡単になり、ForgeではPHPのセキュリティ更新やプロビジョニング失敗を把握しやすくなっています。 本ページは、11月4日公開の公式ブログ「Laravel October Product Updates」と、公式Framework Changelogの10月分をもとにした月次記録です。2026年11月7日に一次情報を確認し、FrameworkはLaravel 13系のみを対象にしています。11月のリリースは含めません。 参照元:

Laravel Framework

10月のリリース範囲

公式Changelogの主要な新機能に加え、リリースノートから日付と導入バージョンを確認しました。 以下では、公式Changelogに掲載された9項目を詳しく紹介します。細かな修正や依存関係の変更は、各リリースノートを参照してください。

QUERYルートでリクエストボディを持つ検索を定義

v13.35.0で、HTTPのQUERYメソッドに対応するRoute::query()が追加されました。GETのクエリ文字列ではなく、リクエストボディで検索条件を受け取るルートを定義できます。
Route::any()もQUERYリクエストに一致し、ルート一覧はこのメソッドを認識します。上のSearchProductsControllerは、検索処理を実装したアプリケーション側のInvokable Controllerを想定しています。
webミドルウェアグループのQUERYルートは、CSRF検証の対象です。「検索だからGETと同じように検証を省略できる」とは扱わず、CSRFトークンを送信してください。
一次情報: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に切り替えます。セッション単位の保護ではなく、アプリケーション側で重要な読み取りの範囲を明示したい場合に使えます。
同じ接続を使うEloquentクエリやリレーションのクエリにも適用されます。コールバックの結果を返し、例外が発生しても以前の読み取り設定を復元するため、後続の処理へ切り替えが残りません。 一次情報:Temporarily Read from the Write Database Connection、Laravel 13公式database.md

スケジュールを単一サーバー実行にまとめて設定

複数サーバーでスケジューラーを動かす場合に、タスクごとのonOneServer()指定漏れを減らすため、v13.35.0でSchedule::alwaysOnOneServer()が追加されました。AppServiceProviderのboot()で呼び出すと、対象となるスケジュールへまとめて適用できます。
これは設定を呼び出して初めて有効になる既定値です。名前のないスケジュール済みクロージャーは対象外で、引き続き各サーバーで動きます。
onOneServer()には、全サーバーで共有する中央キャッシュが必要です。公式ドキュメントが挙げる対応ドライバーはdatabase、memcached、dynamodb、redisです。設定を追加するだけで、サーバー間のロック基盤が用意されるわけではありません。
一次情報:Run Scheduled Tasks on One Server by Default、Laravel 13公式scheduling.md。関連ページ:タスクスケジューリング

Fakeでプロパティを指定してディスパッチを検証

v13.35.0で、Queue・Bus・Event・NotificationのFakeに、期待するプロパティの配列を渡せるようになりました。単純な属性比較のために、毎回コールバックを書く必要がなくなります。 たとえば、公開orderプロパティを持つShipOrderジョブと、テストで用意した$orderを使う場合は、次のように検証できます。
指定したプロパティはすべて一致する必要があります。値は厳密比較されますが、Eloquentモデルはis()で比較されるため、同じモデルを表す別インスタンスも扱えます。Fakeはディスパッチの検証であり、ジョブ本体の実行結果を検証するものではありません。 一次情報:Assert Fake Dispatches by Their Properties、Laravel 13公式queues.md。関連ページ:キュー、モック

ワーカーのメモリ上限を割合で指定

v13.35.0から、queue:workの--memoryに、PHPのmemory_limitに対する割合を指定できます。環境ごとに固定MB値を計算し直さず、PHPの設定に合わせてワーカーの終了しきい値を調整できます。
ホストやコンテナ全体のメモリ量に対する割合ではありません。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ワークロードで実行できます。
読み取り・書き込み両方の接続でワークロードを設定し、コールバック終了時にはOLTPへ戻します。例外時も復元され、Vitessではない通常のMySQL接続では、ワークロードを変えずにコールバックを実行します。 一次情報:Use OLAP Workloads with Vitess Connections、Laravel 13公式database.md

既存バリデーションルールをBuilderから見つける

v13.36.0で、従来は文字列で指定していた多くのルールにRuleのBuilderメソッドが追加されました。requiredWith()、acceptedIf()、regex()、timezone()などをIDEの補完で見つけやすくし、既存の検証動作を維持したまま記述方法を選べます。
メソッド名はcamel caseです。文字列ルールとの混在も可能で、既存ルールを一括で書き換える必要はありません。 一次情報:Discover More Validation Rules Through Builders、Laravel 13公式validation.md。関連ページ:バリデーション

Laravel Cloud

公式月次ブログでは、次の3項目が紹介されています。 一次情報:Laravel October Product Updates — Laravel Cloud、Laravel Cloud changelog。関連ページ:Laravel Cloudの紹介

Laravel Forge

  • PHPセキュリティ更新の通知:10月のPHPセキュリティリリースで影響を受けるバージョンをサーバーごとに表示し、修正版の提供状況を案内します。Recheck versionsで、実際にインストールされているバージョンを再確認できます。表示の再確認とPHPのアップデートは別の操作です。
  • プロビジョニング失敗の扱い:完了できないサーバーを失敗状態として表示し、通知・次の操作の案内・削除操作を提供します。PHPとNginxのインストールも、失敗を確定する前に再試行します。
月次ブログでは、10月のPHP・Node.jsセキュリティ対応を振り返るPost-mortemの公開にも触れています。対応内容や更新判断は、公式の案内を参照してください。 一次情報:Laravel October Product Updates — Laravel Forge、Laravel Forge changelog

関連記事

2026年9月のアップデート

AIプロバイダーの実行時構築、検索拡張、Mercure、Cloudの隔離プレビュー環境を振り返ります。

データベースガイド

読み書き分離やDB接続の基本を確認します。
最終更新日 2026年11月7日