Laravel 12: Features, Helpers &amp; Upgrade Notes | Mohamed Said        [  ![Mohamed Said](https://cdn.msaied.com/01KT78WE565VEMM3PSNQAAB0MH.png)   Mohamed Said Laravel Backend Engineer  ](https://msaied.com) [ Home ](https://msaied.com) [ Projects ](https://msaied.com/projects) [ Articles  ](https://msaied.com/articles) [ Certificates ](https://msaied.com/certificates) [ Contact ](https://msaied.com#contact-section) 

       [  ](https://github.com/EG-Mohamed)       

 [ Home ](https://msaied.com) [ Projects ](https://msaied.com/projects) [ Articles ](https://msaied.com/articles) [ Certificates ](https://msaied.com/certificates) [ Contact ](https://msaied.com#contact-section) 

  [ home ](https://msaied.com)    [ articles ](https://msaied.com/articles)    New in Laravel 12: Features, Helpers, and Upgrade Notes        On this page       1. [  What Actually Changed in Laravel 12 ](#what-actually-changed-in-laravel-12)
2. [  Revamped Starter Kits ](#revamped-starter-kits)
3. [  Per-Request Context Propagation ](#per-request-context-propagation)
4. [  New and Refined Helpers ](#new-and-refined-helpers)
5. [  Upgrade Notes ](#upgrade-notes)
6. [  Takeaways ](#takeaways)

  ![New in Laravel 12: Features, Helpers, and Upgrade Notes](https://cdn.msaied.com/209/c713447686bc1eb0a921b4027e4e4df8.png)

  #laravel   #php   #upgrade   #backend  

 New in Laravel 12: Features, Helpers, and Upgrade Notes 
=========================================================

     16 Jun 2026      3 min read    ![Mohamed Said](https://cdn.msaied.com/01KT78WE565VEMM3PSNQAAB0MJ.jpg)  Mohamed Said  

       Table of contents

1. [  01   What Actually Changed in Laravel 12  ](#what-actually-changed-in-laravel-12)
2. [  02   Revamped Starter Kits  ](#revamped-starter-kits)
3. [  03   Per-Request Context Propagation  ](#per-request-context-propagation)
4. [  04   New and Refined Helpers  ](#new-and-refined-helpers)
5. [  05   Upgrade Notes  ](#upgrade-notes)
6. [  06   Takeaways  ](#takeaways)

 What Actually Changed in Laravel 12
-----------------------------------

Laravel 12 is a focused release. Rather than sweeping architectural shifts, it doubles down on developer ergonomics, tightens the application skeleton, and formalises patterns that were previously left to convention. If you are running Laravel 11 in production, the upgrade is low-risk — but there are a handful of decisions worth understanding before you `composer update`.

---

### Revamped Starter Kits

The most visible change is the complete overhaul of the first-party starter kits. The old Breeze and Jetstream scaffolding has been replaced by a unified `laravel/starter-kit` system that ships with three official stacks: **React**, **Vue**, and **Livewire**, each backed by Inertia v2 or Livewire v3 respectively.

```bash
laravel new my-app --kit=react
laravel new my-app --kit=livewire

```

The kits are now proper Composer packages rather than stub-copied files, which means you get upstream fixes without re-scaffolding. Authentication views, middleware, and route registration are all published on demand:

```bash
php artisan kit:publish --views

```

For existing apps, there is no forced migration — Breeze still installs fine — but new projects should prefer the new kits.

---

### Per-Request Context Propagation

Laravel 12 promotes the `Context` facade (introduced experimentally in 11.x) to a first-class feature with guaranteed per-request isolation under Octane and queue workers.

```php
use Illuminate\Support\Facades\Context;

// In a middleware
Context::add('request_id', (string) Str::uuid());
Context::add('tenant_id', $request->user()?->tenant_id);

// Anywhere downstream — including queued jobs that inherit context
$requestId = Context::get('request_id');

```

Queued jobs now automatically receive a snapshot of the context at dispatch time. You opt out per-job if you need a clean slate:

```php
class HeavyReport implements ShouldQueue
{
    use WithoutContextSnapshot; // new trait
}

```

This is a significant win for distributed tracing and multi-tenant logging without reaching for a global singleton.

---

### New and Refined Helpers

**`str()->wrap()`** — wraps a string with a prefix and optional suffix:

```php
Str::of('world')->wrap('Hello, ', '!'); // "Hello, world!"

```

**`Arr::from()`** — a null-safe alternative to `(array)` casting that handles `Arrayable`, `JsonSerializable`, and plain scalars uniformly:

```php
$items = Arr::from($collection); // no more (array) casting surprises

```

**`Number::spellOut()`** — converts integers to English words, useful for invoice generation:

```php
Number::spellOut(1042); // "one thousand and forty-two"

```

---

### Upgrade Notes

**PHP requirement:** Laravel 12 requires PHP **8.2** minimum. PHP 8.1 is dropped.

**Skeleton changes:** The `bootstrap/app.php` fluent API introduced in Laravel 11 is unchanged, but `config/app.php` loses several keys (`aliases`, `providers`) that are now auto-discovered. If you reference them programmatically, switch to `app()->getProviders()` or tagged bindings.

**Removed deprecations:**

- `Route::prefix()` chained without a closure now throws — wrap your grouped routes properly.
- `$request->validate()` no longer accepts a `Validator` instance directly; use `$this->validate()` in controllers or construct the validator explicitly.

**Composer update path:**

```bash
composer require laravel/framework:^12.0 --update-with-dependencies
php artisan migrate
php artisan config:clear

```

Run `php artisan about` after upgrading — it now surfaces the active starter kit, context driver, and queue connection in a single view.

---

### Takeaways

- The new starter kit system is package-based; prefer it for greenfield projects.
- `Context` propagation to queued jobs is automatic in Laravel 12 — use it for tracing and tenant isolation.
- PHP 8.1 support is gone; audit your dependencies before upgrading.
- `Arr::from()`, `str()->wrap()`, and `Number::spellOut()` are small but genuinely useful additions.
- The upgrade from Laravel 11 is straightforward if you have already adopted the 11.x skeleton conventions.

 Found this useful?

          [  ](https://twitter.com/intent/tweet?url=https%3A%2F%2Fmsaied.com%2Farticles%2Fnew-in-laravel-12-features-helpers-and-upgrade-notes&text=New+in+Laravel+12%3A+Features%2C+Helpers%2C+and+Upgrade+Notes) [  ](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fmsaied.com%2Farticles%2Fnew-in-laravel-12-features-helpers-and-upgrade-notes) 

 Frequently Asked Questions 
----------------------------

  3 questions  

     Q01  Is the Laravel 12 upgrade from Laravel 11 a big effort?        For most apps, no. The main blockers are the PHP 8.2 minimum requirement and a handful of removed deprecations around Route::prefix() and $request-&gt;validate(). If your Laravel 11 app already uses the new bootstrap/app.php skeleton, the upgrade is largely a composer update. 

      Q02  Does Context propagation work with Laravel Horizon and Redis queues?        Yes. Laravel 12 serialises the Context snapshot into the job payload at dispatch time and restores it before the job handle() method is called, regardless of the queue driver. Horizon workers benefit automatically. 

      Q03  Can I still use Breeze or Jetstream with Laravel 12?        Yes, both packages continue to work. The new starter kit system is the recommended path for new projects, but there is no deprecation of Breeze or Jetstream in Laravel 12. 

  Continue reading

 More Articles 
---------------

 [ View all    ](https://msaied.com/articles) 

 [ ![Laravel Eloquent Global Scopes: Pitfalls, Testing, and Composing Them Safely](https://cdn.msaied.com/211/8b9b19e7ecbf690b182ffbe6bffc9530.png) laravel eloquent testing 

### Laravel Eloquent Global Scopes: Pitfalls, Testing, and Composing Them Safely

Global scopes are powerful but easy to misuse. Learn how to write, test, and safely compose Eloquent global sc...

  ![Mohamed Said](https://cdn.msaied.com/01KT78WE565VEMM3PSNQAAB0MJ.jpg)  Mohamed Said 

 16 Jun 2026     1 min read  

  Read    

 ](https://msaied.com/articles/laravel-eloquent-global-scopes-pitfalls-testing-and-composing-them-safely) [ ![Eloquent Custom Relations: Polymorphic Pivots, HasManyThrough Tricks, and Raw Join Relations](https://cdn.msaied.com/210/b47272214946c6adcd02ddf74b7df816.png) laravel eloquent database 

### Eloquent Custom Relations: Polymorphic Pivots, HasManyThrough Tricks, and Raw Join Relations

Beyond belongsTo and hasMany lies a set of underused Eloquent relation techniques. This guide covers custom re...

  ![Mohamed Said](https://cdn.msaied.com/01KT78WE565VEMM3PSNQAAB0MJ.jpg)  Mohamed Said 

 16 Jun 2026     3 min read  

  Read    

 ](https://msaied.com/articles/eloquent-custom-relations-polymorphic-pivots-hasmanythrough-tricks-and-raw-join-relations) [ ![Laravel Broadcasting with Reverb: Per-Channel Authorization and Presence Channels at Scale](https://cdn.msaied.com/208/b654521431b6021da07c8209170ed9e9.png) laravel reverb broadcasting 

### Laravel Broadcasting with Reverb: Per-Channel Authorization and Presence Channels at Scale

Go beyond basic event broadcasting. Learn how to lock down private and presence channels with fine-grained aut...

  ![Mohamed Said](https://cdn.msaied.com/01KT78WE565VEMM3PSNQAAB0MJ.jpg)  Mohamed Said 

 16 Jun 2026     3 min read  

  Read    

 ](https://msaied.com/articles/laravel-broadcasting-with-reverb-per-channel-authorization-and-presence-channels-at-scale) 

   [  ![Mohamed Said](https://cdn.msaied.com/01KT78WE565VEMM3PSNQAAB0MH.png)   Mohamed Said Laravel Backend Engineer  ](https://msaied.com)Senior Backend Engineer specializing in Laravel, scalable SaaS platforms, APIs, and cloud infrastructure. I build secure, high-performance web applications that help businesses grow.

Explore

- [Home](https://msaied.com)
- [Projects](https://msaied.com/projects)
- [Articles](https://msaied.com/articles)
- [Certificates](https://msaied.com/certificates)
- [Contact](https://msaied.com#contact-section)

Connect

- [   hello@msaied.com ](mailto:hello@msaied.com)
- [   +20 109 461 9204 ](tel:+201094619204)

© 2026 Mohamed Said. All rights reserved.

 [  ](https://github.com/EG-Mohamed) [  ](https://www.linkedin.com/in/msaiedm/) [  ](https://wa.me/201094619204) [  ](mailto:hello@msaied.com) [  ](https://drive.google.com/file/u/0/d/1MF20IPRJyzfy32mhEutjL5EpSls0w2Q8/view)
