Skip to main content
September 2026 broadened the options for per-tenant AI configuration and search engines, and added features that support storage, queue, and database operations. Laravel Cloud introduced preview environments that isolate resources for each pull request, along with request metrics that work without any additional packages. This page records the main changes, based on the official blog post “Laravel September product updates” published on October 2 and the official Laravel 13 release notes published in September. The Framework section also includes changes to official packages such as the AI SDK, Scout, and Echo. Don’t judge updates to these packages by the Framework version number alone. Sources:

Laravel Framework and official packages

Building per-tenant AI providers at runtime

The AI SDK’s Ai::build() can now build a provider from a configuration array. You can use credentials retrieved at runtime without changing the provider configuration registered in your application. For example, when each tenant uses its own Anthropic API key, you can create a provider from that tenant’s configuration and pass it to an agent’s prompt(). Providers built this way can also be specified as failover candidates. When handling credentials for multiple tenants, the key point is that you explicitly specify the provider used for each call instead of rewriting global configuration. For the basics of the AI SDK, see the AI SDK guide. Source: Build AI providers from runtime configuration

Typesense and Meilisearch search extensions in Scout

Scout’s Typesense engine now supports semantic search with semantic() and hybrid search with hybrid(). Vectors can be generated with Laravel AI, or you can use Typesense’s automatic embedding feature or vectors you prepare yourself. The Meilisearch engine can now use Meilisearch’s own embedders. Depending on your setup, you can choose between generating embeddings in your app or leaving it to the search engine. Following the search extensions in August, September added more options for generating embeddings on the Typesense and Meilisearch side. Check the per-engine configuration in Scout and the search guide. Sources: Semantic and hybrid search for Typesense, Native Meilisearch embedders

Real-time communication with Mercure

Laravel Echo gained a Mercure connector. It uses the browser’s standard EventSource API, so no additional client library is required. It supports private, presence, and encrypted channels, as well as whispers. Framework v13.32.0 includes a Mercure broadcast driver and support for installing Mercure via install:broadcasting. v13.33.0 also added support for relative Mercure Hub URLs. This feature combines the connector on the Echo side with the driver on the Laravel side. For configuration and authentication, see Mercure broadcasting. Sources: Mercure broadcasting in Laravel Echo, v13.32.0, v13.33.0

Copying and moving files between disks

v13.32.0 added copyToDisk() and moveToDisk() to the filesystem. You can stream transfers between different disks, such as moving files from a local disk to S3. The destination can be either a disk name or a filesystem instance. moveToDisk() deletes the source only after the copy succeeds. This reduces the need to assemble separate read, write, and delete steps in your application when migrating between disks. Sources: Copy or move files between disks, v13.32.0. Related page: Filesystem

Improved queue measurement, stopping, and retries

September’s releases gradually strengthened visibility into queue state and control over workers. In v13.34.0, queue:restart now shows an error for workers that cannot be restarted. This change makes it easier to notice situations where an operational command appears to succeed but the intended restart does not happen. Each item is sourced from the official release notes above. For the basics, see the queue guide, and for job-side control, see the advanced job control guide.

Additions to the database, Eloquent, and cache

  • Dropping vector indexes: v13.30.1 added dropVectorIndex() to the Schema Blueprint.
  • MySQL INPLACE operations: v13.33.0 added the inplace() DDL algorithm modifier for index and foreign key operations. Related page: Migrations.
  • Refreshing model attributes after writes: v13.33.0 added the ability to refresh configured model attributes after a write.
  • Casts that preserve NULL: v13.33.0 added an opt-in feature for AsCollection and AsArrayObject that stores an actual NULL.
  • Tagged memoized cache: v13.33.0 added support for memoizing tagged caches. Related page: Cache.
  • Schema information retrieval: v13.34.0 added getColumn() to the Schema Builder.
  • Database testing: v13.34.0 lets assertDatabaseCount accept an array.
  • Collections: v13.30.0 added chunkBy(), and v13.33.0 added sole support for the higher order proxy.

Fixes to existing behavior

Beyond new features, the releases also include fixes that affect existing applications.
  • v13.31.0 fixed an issue where lazy() and lazyById() ignored limit() and offset(), and an issue where Context was not propagated to concurrent processes.
  • v13.32.0 fixed an issue where tag expiration was not synchronized on touch() for Redis tagged caches.
  • v13.34.0 fixed an issue where retrying a multipart request in the HTTP client lost the contents of attached streams.
  • v13.34.0 fixed an issue where the pivot wherePivotBetween() was ignored by sync(), detach(), and updateExistingPivot().
  • v13.34.0 fixed an issue where DatabaseLock swallowed deadlocks inside transactions.
This list does not cover every change in September. For minor fixes and dependency updates, check each release note.

Laravel Cloud

The official monthly blog post introduced the following changes. Source: Laravel Cloud changelog. Related page: Introducing Laravel Cloud

Laravel Forge

  • Redirect rule management: You can now bulk import rules from CSV and choose whether to append to or replace existing rules. CSV export and reordering rule execution by dragging are also supported.
  • Server muting: You can now select servers to mute in your notification settings. Use it to keep notifications from staging and test environments out of your inbox.
Source: Laravel Forge changelog

August 2026 updates

A look back at read-through disks, Scout search extensions, and the Managed Queues revamp in Cloud.

Mercure broadcasting

Review the setup for integrating Mercure with Laravel and Echo.
Last modified on October 3, 2026