Laravel 12.18.0 Update
June 17, 2025Laravel 12.18.0 Update
The Laravel team released version 12.18.0 with several cool updates:
- String encrypt() & decrypt() helpers are now available on
Stringableinstances. - New
--batchedoption forphp artisan make:jobto generate batchable jobs. UsePolicyattribute to explicitly specify a model’s policy.- Per-request HTTP client exception truncation control.
🔐 1. String encrypt/decrypt helpers
Instead of doing this:
// Before
$encryptedToken = str('secret-api-token')
->pipe(fn(Stringable $str) => encrypt($str->value()))
->prepend('encrypted:')
->append(':end');
// After
$encryptedToken = str('secret-api-token')
->encrypt()
->prepend('encrypted:')
->append(':end');
It’s much cleaner and fluent now.
⚙️ 2. Batchable job option
Needed a batchable job? Now you can just run:
php artisan make:job ProcessPodcast --batched
The generated class looks like this:
namespace App\Jobs;
use Illuminate\Bus\Batchable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Queue\Queueable;
class ProcessPodcast implements ShouldQueue
{
use Batchable, Queueable;
public function handle(): void
{
if ($this->batch()->cancelled()) {
return;
}
// your processing logic here...
}
}
🏷️ 3. UsePolicy attribute
Now you can explicitly assign a policy:
#[UsePolicy(PostPolicy::class)]
class Post extends Model {}
No need to rely solely on convention.
🌐 4. HTTP client truncate exception limit
Control exactly how much of the exception response gets truncated per-call:
Http::truncateExceptionsAt(240)->post(/* ... */)
That’s the major highlights from Laravel 12.18.0. Check out the full changelog or GitHub diff to explore the rest.
Blog
Jun 30, 2025
What’s New in ECMAScript 2025 On June 25, 2025, Ecma International officially approved ES2025, adding several useful features: 1. 📦 Import At...
Jul 27, 2025
🔍 What Exactly is Array.fromAsync()? Array.fromAsync() is a static method introduced in ES2024 as part of JavaScript's growing support for asynchr...
Jul 01, 2025
Essential React Native UI & Interaction Components React Native provides a powerful set of built-in components for creating native mobile apps....
Jul 07, 2025
Mastering Laravel 12 Conditional Validation Laravel 12's validation system is super powerful, and conditional validation makes your forms...
Jun 30, 2025
📌 Building a Task Reminder App This guide shows how to set up a Laravel app using MongoDB to implement a task reminder system with authentication,...
Jul 24, 2025
🧠 What is Dynamic Import? Dynamic import allows you to load JavaScript modules at runtime—only when needed. This approach is fantastic for r...