
April 12, 2026
7 min read
Table of Contents
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).
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 Kit | Stack | UI Components |
|---|---|---|
| React | Inertia 2, React 19, TypeScript, Tailwind 4 | shadcn/ui |
| Vue | Inertia 2, Vue Composition API, TypeScript, Tailwind 4 | shadcn-vue |
| Svelte | Inertia 2, Svelte, TypeScript, Tailwind 4 | shadcn-svelte |
| Livewire | Livewire 3, Laravel Volt, Tailwind 4 | Flux 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 immutability —
CarbonImmutableis 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
- Update
composer.json— changelaravel/frameworkto^12.0 - Update Carbon — ensure
nesbot/carbonis^3.0 - Run
composer update— resolve any dependency conflicts - Run your test suite — if tests pass, you are likely done
- Check for Carbon 2 usage — search for any code relying on deprecated Carbon 2 behavior
- Update PHP version — Laravel 12 requires PHP 8.2 or higher
How Does Laravel 12 Compare to Laravel 11?
Here is a side-by-side comparison of the two most recent Laravel versions:
| Feature | Laravel 11 | Laravel 12 |
|---|---|---|
| Release date | March 2024 | February 2025 |
| PHP minimum | PHP 8.2 | PHP 8.2 |
| App structure | Streamlined (removed kernel files, middleware directory) | Same as Laravel 11 |
| Starter kits | Breeze, Jetstream | React, Vue, Svelte, Livewire (new) |
| Auth options | Built-in | Built-in + WorkOS AuthKit |
| Carbon | Carbon 2 or 3 | Carbon 3 only |
| Health checks | Via packages | Built-in |
| Route attributes | Not available | PHP 8+ attributes supported |
| Job batching | Basic | Enhanced (progress, partial failure) |
| Tailwind | Tailwind 3 | Tailwind 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
- Test locally first — never upgrade directly on production. Set up a local environment, run
composer update, and execute your full test suite. - Check third-party packages — popular Nepal-specific packages (payment gateways like eSewa, Khalti) may need updates for Carbon 3 compatibility.
- Update CI/CD pipelines — if you use GitHub Actions or similar, update the PHP version matrix to 8.2+.
- Backup your database — standard practice before any framework upgrade, especially on live Nepal client sites.
- 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.

