Laravel 开源生态更新日志(2025年11月)
Laravel 开源生态的最新更新和改进。
Laravel Framework 12.x
Add daysOfMonth() Method to Schedule Tasks on Specific Days
Pull request by @yousefkadah
Previously, there wasn't a way to schedule tasks on multiple arbitrary days of the month (e.g., 1st, 10th). A daysOfMonth() method was added that allows scheduling tasks to run on multiple specific days of the month with a clean, intuitive API.
$schedule->command('process-payroll')
->daysOfMonth(1, 15) // 1st and 15th of each month
->timezone('America/New_York');[12.x] Add encoding Validation Rule for Uploaded Files
Pull request by @ziadoz
A new encoding validation rule was added that checks the contents of a file or string matches a specific encoding using mb_check_encoding(), ensuring that uploaded files are encoded as expected before processing.
Validator::validate($input, [
'attachment' => [
'required',
File::types(['csv'])->encoding('utf-8'),
],
]);Interval Helper Functions
Pull request by @taylorotwell
New interval helper functions were added for fluently getting the current time with adjustments:
use Illuminate\Support\{ now, minutes }
Cache::put('name', 'Taylor', minutes(5));
Invitation::create([
'expires_at' => now()->plus(hours: 6),
]);Queue Pause/Resume
Pull request by @yousefkadah
Sometimes you may need to temporarily prevent a queue worker from processing new jobs without stopping the worker entirely. Now you can with newly added artisan commands:
php artisan queue:pause database:default
php artisan queue:continue database:default[12.x] New @hasStack Blade Directive
Pull request by @browner12
The new @hasStack directive can be used to wrap @stack directives for conditional output depending on if the stack is empty or not. This is useful if you want some markup to wrap the stack only if it is not empty.
@hasStack("list")
<ul>
@stack("list")
</ul>
@endifAdd --middleware Filter to route:list
Pull request by @jasonmccreary
A --middleware option was added to the route:list command to filter output by middleware. This can be a single middleware class name or a middleware group name, allowing you to easily see routes with the specified middleware applied.
php artisan route:list --middleware=api
php artisan route:list --middleware=ThrottleRequests[12.x] Introduce WithCachedRoutes Testing Trait
Pull request by @cosmastech
A new testing trait called WithCachedRoutes was introduced. This testing trait stores the routes as a static property within a Testing\CachedState object during test setup, ensuring subsequent tests do not need to read from disk.
[12.x] New Factory@insert() Method
Pull request by @cosmastech
The insert() method was added to Eloquent Factories, allowing you to perform a mass insert of models. This increases performance during testing with numerous of database records.
[12.x] Add ucwords to Str and Stringable
Pull request by @braxey
A ucwords method was added to Stringable, allowing fluent uppercasing of the first letter of a string. Note that this differs from title in that the rest of the string remains untouched.
// Taylor Otwell, Creator Of Laravel
$name = $this->string('taylor otwell, creator of laravel')->ucwords();PHP 8.5 Compatibility
A number of packages were updated to ensure they maintained compatibility with the newly released PHP 8.5, including:
- Laravel Framework
- Dusk
- Folio
- Fortify
- Helpers
- Horizon
- Installer
- Jetstream
- Pail
- Pennant
- Pulse
- Reverb
- Sanctum
- Scout
- Socialite
- Telescope
- Tinker
Inertia

The Inertia website and docs got a major glow up!
Inertia finally has the website it deserves, showing off all of its power and flexibility as the best way to create a SPA with the backend and frontend of your choice.
Furthermore, the docs are now hosted on Mintlify and received a complete refresh that supercharges them with cleaner formatting, an AI chat, and a more comprehensive search. Both users and LLMs should be very satisfied with this update.
Boost
Add Gemini
Pull request by @iruoy
Google's Gemini has been added to Boost. This addition marks the completion of our support for all major code environments, further empowering developers with enhanced Laravel capabilities.
Put User-Defined Guidelines at the Top
Pull request by @phpfour
User guidelines now take precedence over the Boost presets while maintaining the overrides strategy, giving developers more control over how instructions are interpreted by agents.
Add Sail Support in Guidelines
Pull request by @pushpak1300
Sail now has first-class support across all guidelines. When a project installs Boost with Sail enabled, agent instructions now automatically switch to Sail-specific commands rather than native CLI commands.
Remove Filament Guidelines
Pull request by @pushpak1300
With the new third-party guidelines feature, these guidelines can now live within the Filament package and automatically stay full up to date with any new Filament features introduced.
Add OpenCode Support
Pull request by @calebdw
Developers now have seamless integration of OpenCode in their workflows, with the ability to take advantage of its power just like any other agent.
MCP
Add _meta Support
Pull request by @pushpak1300
The MCP package now fully supports the _meta field as documented in the MCP specification. Users can now attach metadata at three different levels: on tools/resources/prompts (in listings), on the result envelope (for execution metadata), and on individual content items.
public function handle(Request $request): Response
{
return Response::text('The content generated by the tool.')
->withMeta('x', 'y');
}