Laravel 12.16.0 - New Features for Developers
June 3, 2025Laravel 12.16.0 - New Features for Developers
1. New Validation Rule: in_array_keys
You can now validate that an array contains at least one of the specified keys:
Validator::make($request->all(), [
'config' => 'array|in_array_keys:api_key,access_token,oauth_token',
'config.api_key' => 'nullable|string|min:32|max:64',
// ...
]);
This in_array_keys rule checks for the presence of any given key.
2. Fluent Rule Method: Rule::contains()
This gives you a cleaner and more expressive way to check array contents:
Validator::make($request->all(), [
'roles' => [
'required',
'array',
Rule::contains([Role::Admin, Role::Editor]),
],
]);
This replaces the older string-based contains: validation rule.
3. New Helper: Arr::hasAll()
use Illuminate\Support\Arr;
$array = ['name'=>'Taylor','language'=>'php'];
Arr::hasAll($array, ['name']); // true
Arr::hasAll($array, ['name','language']); // true
Arr::hasAll($array, ['name','ide']); // false
You're able to check if an array has *all* specified keys.
4. toUri() on Stringable
$sentence = 'Go to {https://euhosting.com/support} for support.';
$uri = str($sentence)->between('{','}')->toUri();
return $uri->value();
This converts a string segment into a URI object easily.
5. Additional Fixes & Enhancements
- Added option to always defer cache operations.
- Bug fixes around RedisStore, TestResponse, ResponseFactory, and more.
Blog
Jun 26, 2025
Guide to Scroll‑Driven Animations with CSS CSS animations can now be linked to user scrolling without any JavaScript — just pure CSS. 1. Thr...
Aug 03, 2025
Laravel 12.21.0 introduces two game-changing features aimed at writing cleaner, more maintainable code. The update includes the new whereValueBetwe...
Jul 26, 2025
1. Origins: Born Inside Facebook In 2011, Facebook engineers faced the increasing complexity of building interactive UIs at scale. They developed...
Jul 02, 2025
Bypassing $fillable Safely with forceFill() in Laravel Ever used create() in Laravel and noticed some fields like role or status didn’t save? T...
Aug 06, 2025
When building applications with React, there’s always a need to manage data that changes based on user interaction or from fetching external r...
Jul 07, 2025
Laravel 12.19: Elegant Query Builders with PHP Attributes In Laravel 12.19, you can now use the #[UseEloquentBuilder] PHP attribute to assign a cus...