Kokil Thapa - Professional Web Developer in Nepal
Freelancer Web Developer in Nepal with 15+ Years of Experience

Kokil Thapa is an experienced full-stack web developer focused on building fast, secure, and scalable web applications. He helps businesses and individuals create SEO-friendly, user-focused digital platforms designed for long-term growth.

Laravel 12 New Features 2026 — What's Changed and Should You Upgrade?

By Kokil Thapa | Last reviewed: April 2026

Every new Laravel release generates excitement — and confusion. Developers want to know what actually changed, whether they should upgrade immediately, and what will break if they do. Laravel 12, released in February 2025, takes a different approach from the sweeping changes we saw in Laravel 11. As a web developer in Nepal who has shipped production Laravel applications since version 4.2, I will walk you through every significant change in Laravel 12, what it means for your projects, and whether the upgrade is worth it right now in 2026 AD (2083 BS).

Quick answer: Laravel 12 is a maintenance release focused on dependency upgrades and brand-new starter kits for React, Vue, Svelte, and Livewire. There are no major breaking changes — most applications can upgrade without modifying any application code.

What's New in Laravel 12?

Unlike Laravel 11 which restructured the entire application skeleton, Laravel 12 is a "refinement release." The core framework stays stable while the developer experience around project setup, authentication, and tooling gets a significant upgrade. Here is everything that changed.

1. Completely New Starter Kits

The biggest feature in Laravel 12 is the redesigned starter kit system. Laravel Breeze and Jetstream are no longer the recommended starting points. Instead, Laravel 12 ships with dedicated starter kits for each frontend stack:

Starter KitStackUI Components
ReactInertia 2, React 19, TypeScript, Tailwind 4shadcn/ui
VueInertia 2, Vue Composition API, TypeScript, Tailwind 4shadcn-vue
SvelteInertia 2, Svelte, TypeScript, Tailwind 4shadcn-svelte
LivewireLivewire 3, Laravel Volt, Tailwind 4Flux UI

Each starter kit comes pre-configured with login, registration, password reset, email verification, and profile management. The days of manually wiring up authentication scaffolding are over — you pick a stack during laravel new and get a fully working auth system immediately.

If you are building multi-tenant SaaS applications in Laravel, these starter kits save significant setup time on every new project.

2. WorkOS AuthKit Integration

Each starter kit also has a WorkOS AuthKit variant — a major addition for enterprise and B2B applications. WorkOS provides:

  • Social authentication — Google, Microsoft, GitHub, and Apple login out of the box
  • Passkey support — passwordless authentication using biometrics or hardware keys
  • Single Sign-On (SSO) — SAML and OIDC enterprise SSO for corporate clients
  • Free tier — up to 1 million monthly active users at no cost

To use WorkOS, select the WorkOS option when running laravel new and configure three environment variables: WORKOS_CLIENT_ID, WORKOS_API_KEY, and WORKOS_REDIRECT_URL.

This is particularly relevant for Nepal-based developers building SaaS products for international clients who require enterprise-grade authentication.

3. Carbon 3 Requirement

Laravel 12 drops support for Carbon 2 entirely. All date and time handling now requires Carbon 3, which brings:

  • Stricter typing — method signatures use PHP native types more consistently
  • Better immutabilityCarbonImmutable is now the recommended default
  • Improved timezone handling — critical for Nepal's UTC+5:45 offset which has caused edge cases in earlier Carbon versions
  • Smaller bundle — reduced memory footprint compared to Carbon 2

What you need to do: If your composer.json locks Carbon to ^2.0, update it to ^3.0. Then check any code that relied on Carbon 2's looser typing — particularly if you passed null to date methods that now require explicit types.

4. Built-In Health Checks

Laravel 12 introduces a native health check system. You can expose system status through built-in routes without installing third-party packages:

// routes/web.php Route::get('/health', function () { return response()->json([ 'status' => 'ok', 'database' => DB::connection()->getPdo() ? 'connected' : 'error', 'cache' => Cache::store()->get('health-check') !== null ? 'ok' : 'error', ]); });

The health check feature natively supports checking database connections, cache availability, and queue readiness. This is especially useful for deployment pipelines and monitoring tools like UptimeRobot — no more custom health check packages.

5. Route Attributes (PHP 8+ Attributes)

Laravel 12 allows you to define routes using PHP 8+ attributes directly above controller methods, instead of exclusively in route files:

use Illuminate\Routing\Attributes\Get; use Illuminate\Routing\Attributes\Post; class BlogController extends Controller { #[Get('/blog/{slug}', name: 'blog.show')] public function show(string $slug) { // ... } #[Post('/blog', name: 'blog.store', middleware: 'auth')] public function store(Request $request) { // ... } }

This is optional — traditional route file definitions still work exactly the same. Route attributes are useful for keeping route definitions close to the controller logic, especially in large applications with hundreds of routes.

6. Enhanced Job Batching

Laravel 12 improves the job batching system introduced in Laravel 8. You can now:

  • Monitor progress in real-time with percentage completion callbacks
  • Detect partial failures without cancelling the entire batch
  • Chain batches — trigger a second batch only when the first completes successfully
  • Retry individual failed jobs within a batch without re-running the entire set

For applications processing bulk data — importing CSV files, sending newsletter batches, generating reports — these improvements reduce the need for custom queue management logic.

Should You Upgrade to Laravel 12?

Short answer: yes, and the upgrade is straightforward. Laravel 12 is explicitly designed as a maintenance release. The official upgrade guide confirms that most applications can upgrade without changing any application code.

Upgrade Steps

  1. Update composer.json — change laravel/framework to ^12.0
  2. Update Carbon — ensure nesbot/carbon is ^3.0
  3. Run composer update — resolve any dependency conflicts
  4. Run your test suite — if tests pass, you are likely done
  5. Check for Carbon 2 usage — search for any code relying on deprecated Carbon 2 behavior
  6. Update PHP version — Laravel 12 requires PHP 8.2 or higher
Breaking change watch: The Carbon 2 to Carbon 3 migration is the most common source of upgrade issues. If you use Carbon extensively (date calculations, time zones, formatting), test those code paths thoroughly before deploying.

How Does Laravel 12 Compare to Laravel 11?

Here is a side-by-side comparison of the two most recent Laravel versions:

FeatureLaravel 11Laravel 12
Release dateMarch 2024February 2025
PHP minimumPHP 8.2PHP 8.2
App structureStreamlined (removed kernel files, middleware directory)Same as Laravel 11
Starter kitsBreeze, JetstreamReact, Vue, Svelte, Livewire (new)
Auth optionsBuilt-inBuilt-in + WorkOS AuthKit
CarbonCarbon 2 or 3Carbon 3 only
Health checksVia packagesBuilt-in
Route attributesNot availablePHP 8+ attributes supported
Job batchingBasicEnhanced (progress, partial failure)
TailwindTailwind 3Tailwind 4

The key takeaway: Laravel 11 was the big structural overhaul. Laravel 12 polishes the developer experience on top of that foundation.

What Does Laravel 12 Mean for Nepal Developers?

For the Nepal developer community, Laravel 12 brings practical benefits:

  • Faster project bootstrapping — the new starter kits eliminate hours of auth setup on every client project. Nepal freelancers billing by the project can deliver faster.
  • Enterprise readiness — WorkOS SSO and passkey support means Nepal agencies can bid on corporate contracts requiring enterprise-grade authentication.
  • Better timezone handling — Carbon 3's improved timezone support benefits Nepal's UTC+5:45 offset, which has historically caused issues with half-hour and quarter-hour timezone calculations.
  • Improved hiring signals — knowing Laravel 12 features signals that a developer stays current. If you are positioning yourself as a Laravel developer, upgrading your knowledge is essential.

Nepal's Laravel ecosystem is growing. Several agencies and freelancers now specialize in Laravel development, and staying on the latest stable version ensures compatibility with modern packages and long-term security support. Learn about the cost of hiring a Laravel developer in Nepal if you are looking to build your next project.

What's Coming Next — Laravel 13

Laravel 13 was released in early 2026, continuing the annual release cycle. It introduces more significant changes than Laravel 12, including improved Eloquent performance, native AI/LLM integration helpers, and enhanced queue monitoring. If you are still on Laravel 11, upgrading through 12 to 13 is the recommended path — skipping major versions is not officially supported.

Practical Tips for Upgrading Nepal Projects

  1. Test locally first — never upgrade directly on production. Set up a local environment, run composer update, and execute your full test suite.
  2. Check third-party packages — popular Nepal-specific packages (payment gateways like eSewa, Khalti) may need updates for Carbon 3 compatibility.
  3. Update CI/CD pipelines — if you use GitHub Actions or similar, update the PHP version matrix to 8.2+.
  4. Backup your database — standard practice before any framework upgrade, especially on live Nepal client sites.
  5. Review Laravel best practices — an upgrade is a good time to refactor code that has drifted from framework conventions.

Laravel 12 is a smooth, low-risk upgrade that brings meaningful improvements to project setup and authentication. Whether you are a solo freelancer in Kathmandu or a team in Pokhara, upgrading now positions your stack for the future.

Frequently Asked Questions

Laravel 12 was released in February 2025 as a maintenance release.

Yes, Laravel 12 requires PHP 8.2 or higher to run.

No, Laravel 12 is a maintenance release and most apps upgrade without code changes.

Laravel 12 introduces four dedicated starter kits for React with Inertia 2 and shadcn/ui, Vue with Composition API and shadcn-vue, Svelte with Inertia 2, and Livewire with Flux UI and Laravel Volt. Each comes with full authentication scaffolding pre-configured.

WorkOS AuthKit is an optional authentication provider available in all Laravel 12 starter kits. It adds social login with Google, Microsoft, GitHub and Apple, passkey support for passwordless authentication, and enterprise SSO. It is free for up to one million monthly active users.

Laravel 12 requires Carbon 3 exclusively because it provides stricter typing, better immutability defaults with CarbonImmutable, improved timezone handling, and a smaller memory footprint. Dropping Carbon 2 ensures consistency across the framework and reduces maintenance burden.

Update laravel/framework to version 12 in composer.json, change nesbot/carbon to version 3, run composer update, and execute your test suite. Check any code using Carbon 2 specific behavior. The upgrade is straightforward since Laravel 12 has minimal breaking changes.

Route attributes let you define routes using PHP 8 plus attributes directly above controller methods instead of in separate route files. You use attributes like Get, Post, and Put with the URL path, route name, and middleware. This is optional and traditional route files still work.

Yes, Laravel 12 introduces native health check routes that let you expose system status without third-party packages. You can check database connections, cache availability, and queue readiness through built-in routes, which integrates easily with monitoring tools like UptimeRobot.

Laravel 12 enhances job batching with real-time progress monitoring, partial failure detection without cancelling entire batches, the ability to chain batches sequentially, and the option to retry individual failed jobs within a batch without re-running all jobs.

Yes, Nepal developers should upgrade to Laravel 12 because it is a low-risk maintenance release. The new starter kits save project setup time, Carbon 3 improves Nepal's UTC plus 5:45 timezone handling, and staying current ensures compatibility with modern packages and security updates.

Laravel Breeze and Jetstream are no longer the recommended starting points in Laravel 12. They have been replaced by dedicated starter kits for React, Vue, Svelte, and Livewire that come with modern UI component libraries like shadcn/ui and Flux UI pre-configured.

Skipping major Laravel versions is not officially supported. The recommended path is upgrading sequentially through each major version. Going from Laravel 11 to 12 first, then 12 to 13, ensures you catch and fix any breaking changes at each step without compounding issues.

The React starter kit uses shadcn/ui, the Vue kit uses shadcn-vue, the Svelte kit uses shadcn-svelte, and the Livewire kit uses Flux UI. All four kits are built on Tailwind CSS 4. These component libraries provide pre-built accessible components that follow modern design patterns.

Laravel 12 is excellent for SaaS applications. The new starter kits provide instant authentication scaffolding, WorkOS AuthKit adds enterprise SSO and social login, enhanced job batching handles bulk processing, and health checks support production monitoring. Combined with Laravel's existing multi-tenancy support, it is a strong SaaS foundation.

Share this article

Quick Contact Options
Choose how you want to connect me: