Current release: 12.66.0, released 11 August 2026.
What it is
Laravel is an open-source web application framework for PHP. It provides a structured, convention-oriented way to build server-rendered websites, JSON APIs, background jobs, command-line tooling, authentication flows, database-backed applications, and integrations with common infrastructure services. Its core approach combines routing, controllers, middleware, dependency injection, configuration, validation, caching, queues, events, mail, storage abstractions, and an object-relational mapper called Eloquent. Laravel applications commonly use Blade templates for server-rendered views, although Laravel can also serve as an API backend or work with client-side frameworks through its frontend tooling and official starter approaches. The framework is distributed and managed through PHP's Composer package ecosystem, and its command-line tool, Artisan, is central to generating code, running migrations, managing queues, clearing caches, and performing operational tasks.
History
Laravel emerged in response to the need for a more expressive and modern PHP application framework with strong conventions and developer ergonomics. Early adoption centered on its clean routing syntax, database migrations, Eloquent ORM, Blade templating, and command-line workflow. As PHP itself gained stronger language features and more standardized package management, Laravel broadened from a conventional MVC framework into a larger application platform. Later eras added or expanded first-party patterns for API authentication, real-time communication, queue processing, scheduled work, testing, local development, deployment, frontend integration, and managed services. The framework has remained closely tied to the wider PHP ecosystem while maintaining distinctive conventions, a substantial first-party package ecosystem, and a large community of tutorials, packages, and hosting options.
Migration notes
Migration complexity depends on whether Laravel is being adopted, upgraded, or replaced. Moving into Laravel usually requires translating existing application structure into its conventions: HTTP endpoints become routes, controller actions and middleware; persistence is often redesigned around Eloquent models, relationships, query builders, and Laravel migration files; templates may need to move into Blade; and configuration, secrets, logging, caching, sessions, mail, queues, and filesystem access are commonly redirected through Laravel's abstractions. Existing PHP code can often be retained as domain services or Composer packages, but code tightly coupled to another framework's request lifecycle, ORM, templating system, global helpers, or dependency container generally needs adaptation. Database migration history deserves special care, since importing a live schema into Laravel's migration workflow may require establishing a baseline rather than replaying historical changes.
Upgrading an existing Laravel application can be affected by changes in supported PHP runtimes, Composer dependency constraints, framework configuration defaults, exception and authentication behavior, middleware registration, frontend build tooling, and first-party packages. Applications often accumulate dependencies on facades, helper functions, container bindings, Eloquent behavior, Blade directives, Artisan commands, and package-provided service providers. These make framework upgrades more than a source-level change. Test coverage, deployment rehearsal, queue-worker compatibility, cache and session invalidation plans, and review of generated configuration files are important because behavior can differ across environments.
Moving away from Laravel is complicated by the same integration points. Eloquent models may contain validation-adjacent rules, relationship logic, accessors, casts, scopes, events, and serialization behavior that must be separated before replacing the ORM. Controllers and middleware may depend on Laravel request objects, validation, authorization policies, sessions, redirects, response helpers, and the service container. Blade views, queue jobs, scheduled commands, event listeners, notifications, storage disks, cache drivers, and authentication guards can all embed Laravel-specific assumptions. A staged migration commonly extracts framework-independent domain logic and integration interfaces first, then replaces edge layers such as HTTP delivery, persistence, asynchronous work, and templates. Particular attention is needed for data serialization and API compatibility, background jobs already in flight, encrypted cookies and stored secrets, password hashing and authentication sessions, and operational dependencies on Artisan, Supervisor-style workers, cron scheduling, and Laravel-oriented deployment tooling.
Release history
Version support status
| Cycle | Status | Date |
|---|---|---|
| Laravel 13 | Supported | Support ends 30 September 2027 |
| Laravel 12 | Supported | Support ends 16 August 2026 |
| Laravel 11 | End of life | EOL 12 March 2026 |
| Laravel 10 | End of life | EOL 4 February 2025 |
| Laravel 9 | End of life | EOL 6 February 2024 |
| Laravel 8 | End of life | EOL 24 January 2023 |
| Laravel 7 | End of life | EOL 3 March 2021 |
| Laravel 6 | End of life | EOL 6 September 2022 |
| Laravel 5.8 | End of life | EOL 26 February 2020 |
| Laravel 5.5 | End of life | EOL 30 August 2020 |
