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
Jul 07, 2025
How to cache report queries with fixed timelines How to generate large reports asynchronously using job queues 1. 🧠 Report Query Caching wi...
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...
Aug 17, 2025
Laravel Global Scopes: Automatic Query Filtering Eloquent Importance: Enforce consistent filters across all model queries (e.g., Soft Del...
Jul 06, 2025
Using Web Components the Smart Way A lot of developers assume Web Components are meant to replace full SPA frameworks like React or Vue. But in rea...
Jul 30, 2025
Why Performance Is Non-Negotiable In today’s fast-paced world, no one has time to wait for a slow-loading website. On mobile, users abandon...
Jul 16, 2025
🌐 Mastering Modern CSS: The Power of if(), Popover Hints, and Smart Styling CSS is getting smarter. In this guide, we’ll explore how the new...