Profile    Mohammed Shiroz Status   Loading  
Logo
Share This
Back to blog
Filter by:
Tags
//Article title

Laravel 12 Is Out: What Changed and How to Upgrade

26 Feb 2025Category : News

About Post

A new major version of your framework usually means a weekend of reading upgrade guides and fixing things that used to work.

Laravel 12, released on 24 February, is refreshingly different. The Laravel team describes it as a maintenance release: it updates dependencies, keeps breaking changes to a minimum, and puts its big new ideas into how you start a project rather than how your existing one runs. For most apps, upgrading should be one of the least dramatic major upgrades you've done.

Here's what's new, what to watch for, and a checklist for moving an app over.

Why a "quiet" major release is good news

Laravel ships a major version roughly once a year, and the jump from 10 to 11 brought a big change to the application skeleton (the slimmer structure with bootstrap/app.php doing much of the configuration). Laravel 12 doesn't do anything like that. Most Laravel 11 apps should be able to upgrade without touching their application code.

That's exactly what you want from a framework that runs real businesses. Boring upgrades mean teams actually stay current, which means they keep getting security fixes.

The headline feature: new starter kits

The visible change is the new set of application starter kits, which replace Breeze and Jetstream as the recommended way to begin a new app. There are three:

  • React, built with Inertia, TypeScript, Tailwind and shadcn/ui components.
  • Vue, with the same Inertia and TypeScript approach.
  • Livewire, for teams that prefer to stay in PHP and Blade, using the Flux UI component library.

Each comes with authentication screens and a clean dashboard layout ready to build on. The interesting design choice is that the kit's code is placed in your app, not hidden in a package. It's your code from day one, to change however you like.

Each kit also has an optional variant using WorkOS AuthKit, for teams that want social logins, passkeys or single sign-on without building them. The standard variants keep using Laravel's own built-in authentication.

Breeze and Jetstream don't disappear from existing apps, but they're no longer where new development is heading. If you're starting something new, the new kits are the place to begin.

What to check before you upgrade

"Minimal breaking changes" isn't "zero". The official upgrade guide is short, and you should read it end to end, but these are the items I'd look at first:

  • Dependencies: laravel/framework goes to ^12.0, and if you use them, PHPUnit to ^11.0 and Pest to ^3.0. Laravel 12 requires PHP 8.2 or newer.
  • Carbon 3: support for Carbon 2 has been removed. If any of your code or packages pin Carbon 2, that's your first blocker.
  • UUIDs: the HasUuids trait now generates ordered UUIDv7 values. If you depend on the old random UUIDv4 behaviour, switch to the HasVersion4Uuids trait.
  • SVG images: the image validation rule no longer accepts SVG files by default. Use image:allow_svg where you really want them.
  • Your packages: the real work in most upgrades isn't Laravel itself, it's waiting for every third-party package to declare Laravel 12 support.

An upgrade checklist

  1. Make sure you're on the latest Laravel 11 release and your test suite is green.
  2. Check that every package in composer.json supports Laravel 12. composer outdated and each package's changelog are your friends.
  3. Create a branch and update the version constraints:
    "require": {
        "php": "^8.2",
        "laravel/framework": "^12.0"
    },
    "require-dev": {
        "phpunit/phpunit": "^11.0"
    }
  4. Run composer update and fix whatever Composer complains about first.
  5. Go through the upgrade guide's list and search your code for each affected feature (HasUuids, the image rule, Carbon usage).
  6. Run the full test suite, then click through the critical flows by hand: login, payments, file uploads, anything with dates.
  7. Deploy to staging first, with real-looking data, and watch the logs and queues for a day.
  8. Clear and rebuild caches on deploy (config:cache, route:cache, view:cache) and restart your queue workers.

Upgrade tip: keep the framework upgrade in its own pull request. Don't mix it with features or refactors. If something breaks, you want to know it was the upgrade, and you want to be able to roll back cleanly.

Should you upgrade now?

For new projects: yes, start on Laravel 12 and try the new starter kits.

For existing apps: there's no rush, but there's also little reason to wait long. Laravel 11 keeps receiving bug and security fixes for a while (the release notes list the support dates), so you can plan the upgrade properly instead of doing it in a panic. Because this release is so light, it's a good one to do early, while the diff is small and your packages are catching up.

A side note: a busy day for developer tools

24 February turned out to be a big day beyond Laravel too. On the same day, Anthropic released Claude 3.7 Sonnet and a research preview of Claude Code, an agentic coding tool that works directly in your terminal. I'll write more once I've spent proper time with it, but it's an interesting coincidence: a framework release built around starter kits that become your code, and a tool built to help you work on that code.

The short version

  • Laravel 12 is a maintenance release with minimal breaking changes.
  • New starter kits for React, Vue and Livewire, with an optional WorkOS AuthKit flavour.
  • Check Carbon 3, HasUuids, SVG validation and your packages before upgrading.
  • Upgrade in a dedicated branch, test, stage, then ship.

Are you upgrading your apps to Laravel 12 right away, or waiting for your packages to catch up first?

Comments (0)
Leave your review

Thanks for your valuable comments. Your comments has been updated and appreciate your getting in touch...

01. About Shiroz

Mohammed Shiroz

Hi, I'm Mohammed Shiroz, a software engineer and AI enthusiast from Sri Lanka who turns ideas into intelligent, real-world solutions. With over 9 years of hands-on experience, I currently lead real estate ERP development at Kate Group, a...

03.My Projects

04. Categories

Ready To order Your Project ?

Get in Touch
Close