Laravel 12 in 2026: New Features, Starter Kits and Interview Questions
Laravel 12 brings redesigned starter kits with React 19, Vue 3, Livewire 4, and WorkOS AuthKit. A complete guide covering new features, upgrade path, and key interview questions for 2026.

Laravel 12 new features center on a complete overhaul of the framework's starter kits and a deliberately minimal set of breaking changes. Released on February 24, 2025, this version replaces both Breeze and Jetstream with modern, framework-specific scaffolding built on React 19, Vue 3, Svelte 5, and Livewire 4. The release philosophy prioritizes stability: most Laravel 11 applications upgrade without a single code change.
Laravel 12 is a maintenance release. The upgrade from Laravel 11 requires no application code changes in most projects. The team focused on shipping quality-of-life improvements throughout the 11.x cycle instead of accumulating breaking changes.
Redesigned Starter Kits Replace Breeze and Jetstream
The most visible change in Laravel 12 is the replacement of Breeze and Jetstream with four purpose-built starter kits. Unlike the previous packages that installed into existing projects, these kits scaffold an entirely new project with all code visible and modifiable from day one.
Each kit ships with authentication, registration, password reset, email verification, and user profile management out of the box.
| Starter Kit | Stack | UI Library | |------------|-------|------------| | React | Inertia 2, React 19, TypeScript | shadcn/ui | | Vue | Inertia 2, Vue 3, TypeScript | shadcn-vue | | Svelte | Inertia 2, Svelte 5, TypeScript | shadcn-svelte | | Livewire | Livewire 4, Laravel Volt | Flux UI |
All four kits include Tailwind CSS 4, dark/light/system mode support, and multiple layout variants for authentication pages (simple, card, and split).
# Install a new Laravel project with the React starter kit
laravel new my-app
# Or specify a community starter kit
laravel new my-app --using=vendor/custom-starter-kitLaravel 12 also introduces the ability for anyone to create and publish custom starter kits, registered through the --using flag. This opens the door for Blade-only kits, API-only setups, and domain-specific scaffolding that the community has been requesting.
WorkOS AuthKit Integration for Enterprise Authentication
Each starter kit offers a WorkOS AuthKit variant, adding enterprise-grade authentication features without custom implementation:
- Social authentication (Google, GitHub, Microsoft, and more)
- Passkeys for passwordless login via biometrics
- Single Sign-On (SSO) with SAML and OIDC providers
The WorkOS free tier supports up to one million monthly active users, making it viable for projects of any scale. Configuration requires setting WorkOS API keys in the .env file and selecting the WorkOS variant during kit installation.
'workos' => [
'client_id' => env('WORKOS_CLIENT_ID'),
'api_key' => env('WORKOS_API_KEY'),
'redirect_url' => env('WORKOS_REDIRECT_URL'),
],This integration eliminates the need for packages like Socialite for basic social login flows, though Socialite remains available for custom OAuth implementations.
Dependency Updates and PHP Requirements
Laravel 12 requires PHP 8.2 through 8.5 and mandates Carbon 3 for all date and time operations. Carbon 2 support has been dropped entirely, bringing stricter typing and better immutability guarantees.
Other upstream dependency updates include Symfony 7 components, which align Laravel with the latest stable releases across the PHP ecosystem.
// Carbon 3 enforces stricter typing
use Carbon\Carbon;
$now = Carbon::now(); // Returns CarbonImmutable by default in strict mode
$future = $now->addDays(30);
// $now remains unchanged — immutability enforcedLaravel 12 receives bug fixes until August 2026 and security patches until February 2027. Laravel 13, released March 17, 2026, is now the latest major version — but upgrading from 12 to 13 involves zero breaking changes.
Notable Quality-of-Life Improvements in Patch Releases
While the initial 12.0 release focused on starter kits, subsequent patches through 12.12.2 (the latest 12.x release) have introduced useful additions:
Array and Collection Helpers
use Illuminate\Support\Arr;
// Filter by values instead of keys (added in 12.46.0)
$filtered = Arr::onlyValues(['admin', 'editor', 'viewer'], ['admin', 'editor']);
// Result: ['admin', 'editor']
$excluded = Arr::exceptValues(['admin', 'editor', 'viewer'], ['viewer']);
// Result: ['admin', 'editor']
// Check if a collection has multiple items
$users = collect([/* ... */]);
if ($users->containsManyItems()) {
// Handle bulk operation
}Gate and Authorization Enhancements
use Illuminate\Support\Facades\Gate;
// UnitEnum support in Gate::has() (added in 12.45.2)
enum Permission {
case ViewDashboard;
case ManageUsers;
}
if (Gate::has(Permission::ViewDashboard)) {
// Ability is defined — more type-safe than string-based checks
}Schema and Container Fixes
The Schema::getTables(), Schema::getViews(), and Schema::getTypes() methods now return results from all schemas by default. The dependency injection container respects default values of class properties when resolving instances, and mergeIfMissing() supports nested dot notation for cleaner request handling.
Ready to ace your Laravel interviews?
Practice with our interactive simulators, flashcards, and technical tests.
Upgrade Guide: Laravel 11 to Laravel 12
The upgrade path from Laravel 11 to 12 is intentionally simple. Most applications require only a dependency version bump.
Step 1 — Update composer.json:
{
"require": {
"php": "^8.2",
"laravel/framework": "^12.0",
"nesbot/carbon": "^3.0"
}
}Step 2 — Run Composer update:
composer updateStep 3 — Check for edge cases. The five areas most likely to need adjustment:
Concurrency::runwith associative arrays now returns keyed results- Local disk defaults to
storage/app/privateinstead ofstorage/app - Carbon 2 calls must be updated to Carbon 3 API
- Schema methods now return cross-schema results
- Named arguments in Laravel method calls may break if parameter names changed
For applications using Eloquent, middleware, or queue systems, the upgrade typically completes in minutes.
Essential Laravel 12 Interview Questions for 2026
Technical interviews for Laravel roles in 2026 cover both framework fundamentals and awareness of recent changes. The questions below reflect what hiring teams actively ask, organized by seniority level.
Junior-Level Questions
What changed in Laravel 12's starter kits compared to Breeze?
Breeze and Jetstream required installation into an existing project and added their own package dependencies. Laravel 12 starter kits generate a complete new project with all authentication code directly in the application — no hidden package logic. The starter kits use modern frontend stacks (React 19, Vue 3, Svelte 5, or Livewire 4) with TypeScript and shadcn/ui components by default.
Explain the Service Container and Dependency Injection in Laravel.
The service container is Laravel's tool for managing class dependencies. When a class declares type-hinted constructor parameters, the container automatically resolves and injects the appropriate instances. In Laravel 12, the container now respects default property values during resolution — a subtle but important behavioral change.
// The container resolves dependencies automatically
class OrderService
{
public function __construct(
private PaymentGateway $gateway, // Auto-resolved
private int $retryLimit = 3 // Default respected in Laravel 12
) {}
}Mid-Level Questions
How does middleware work in Laravel, and what changed in recent versions?
Middleware filters HTTP requests before they reach the controller. Laravel 12 fixed an infinite recursion bug where a middleware group referencing itself caused a stack overflow. Middleware can handle authentication, CORS, rate limiting, and request logging. Custom middleware is created with php artisan make:middleware.
Describe the queue system architecture.
Laravel queues defer time-intensive tasks (email sending, report generation, image processing) to background workers. Jobs are dispatched to drivers like Redis, Amazon SQS, or the database. Laravel 12 backported cloud queue support from 13.x, expanding deployment options for serverless environments.
// Dispatching a job to the queue
use App\Jobs\ProcessInvoice;
ProcessInvoice::dispatch($order)
->onQueue('invoices')
->delay(now()->addMinutes(5));Senior-Level Questions
Compare the Repository Pattern with direct Eloquent usage in Laravel applications.
Direct Eloquent usage in controllers creates tight coupling between the HTTP layer and the database. The Repository Pattern introduces an abstraction layer: a repository interface defines data access methods, and a concrete class implements them with Eloquent. This separation improves testability (repositories can be mocked), supports switching data sources, and enforces single-responsibility boundaries.
The trade-off is added complexity. Small applications rarely benefit from repositories. Large applications with multiple data sources, complex queries, or strict testing requirements gain meaningful architectural clarity.
How would you prepare a Laravel 12 application for the upgrade to Laravel 13?
Laravel 13 shipped with zero breaking changes from 12, making the upgrade straightforward. The key preparation steps: ensure PHP 8.3+ compatibility (13 drops PHP 8.2), audit any use of deprecated Carbon 2 patterns, and test custom service providers against the new attribute-based configuration system. Teams interested in Laravel 13's AI SDK should evaluate their vector search and RAG requirements early, as native pgvector support only works with PostgreSQL.
Interviewers in 2026 increasingly ask about the upgrade path between Laravel versions. Demonstrating awareness of the 11 to 12 to 13 migration chain — and the zero-breaking-change philosophy — signals practical experience over theoretical knowledge.
Laravel 12 vs Laravel 13: Should Teams Upgrade Now?
| Feature | Laravel 12 | Laravel 13 |
|---------|-----------|------------|
| PHP Requirement | 8.2 - 8.5 | 8.3 - 8.5 |
| Starter Kits | React/Vue/Svelte/Livewire | Same + Team Multi-Tenancy |
| AI SDK | Beta (laravel/ai) | Stable, production-ready |
| Vector Search | Not available | Native pgvector support |
| Passkeys | Via WorkOS only | Native in Fortify |
| Breaking Changes from 11 | Minimal | Zero from 12 |
| Bug Fixes Until | August 2026 | Q3 2027 |
For teams not using AI features or passkeys, Laravel 12 remains fully supported through August 2026. The upgrade to 13 can happen whenever PHP 8.3 compatibility is confirmed across all dependencies.
Conclusion
- Laravel 12 replaces Breeze and Jetstream with four modern starter kits built on React 19, Vue 3, Svelte 5, and Livewire 4 — all code lives directly in the application
- WorkOS AuthKit integration adds social login, passkeys, and SSO without custom implementation — free up to one million monthly users
- The upgrade from Laravel 11 requires no code changes in most applications — Carbon 3, Symfony 7, and PHP 8.2+ are the main dependency shifts
- Patch releases through 12.12.2 added
Arr::onlyValues(),Arr::exceptValues(),containsManyItems(), and UnitEnum support in Gate - Interview preparation for 2026 should cover starter kit differences, service container changes, and the Laravel 12-to-13 upgrade path
- Laravel 13 (March 2026) offers native AI SDK, vector search, and passkeys — but Laravel 12 receives security fixes until February 2027
Start practicing!
Test your knowledge with our interview simulators and technical tests.
Tags
Share
Related articles

Laravel and PHP Interview Questions: Top 25 in 2026
The 25 most common Laravel and PHP interview questions. Eloquent ORM, middleware, artisan, queues, tests and architecture with detailed answers and code examples.

Laravel Middleware Deep Dive: Authentication, Rate Limiting and Custom Middleware
Master Laravel middleware with practical examples covering authentication guards, rate limiting with throttle, custom middleware creation, and advanced patterns for production applications.

Eloquent ORM: Patterns and Optimizations for Laravel
Master Eloquent ORM with advanced patterns and optimization techniques. Eager loading, query scopes, accessors, mutators and performance for Laravel applications.