Тема
Матрица версий: Laravel ↔ экосистема
Совместимость мажоров Laravel с PHP и ключевыми пакетами студии (Filament, Livewire, Tailwind, React/Vue и т.д.). Срез: 2026-07-10. Источники:
composer.lockпарка (реестр), сверки_LXX-VALIDATION.mdи обзор Laravel 13.
Жизненный цикл Laravel
| Laravel 11 | Laravel 12 | Laravel 13 | |
|---|---|---|---|
| Релиз | 12.03.2024 | 24.02.2025 | 17.03.2026 |
| PHP | 8.2 – 8.4 | 8.2 – 8.4 | 8.3+ (реком. 8.4) |
| Багфиксы до | 13.08.2026 | ~Q3 2027 | |
| Security до | 24.02.2027 | ~Q1 2028 | |
| Статус на 2026-07 | ⚠️ EOL — вне поддержки; держать на последнем патче 11.x, планировать апгрейд | Мейнстрим студии; окно багфиксов закрывается через месяц | ✅ Актуальный; для всех новых проектов |
| Апгрейд на следующий | 11→12: near-zero breaking | 12→13: zero breaking, ~10 минут | — |
Ритм Laravel: 1 мажор в год (~Q1), миноры без breaking changes. Мажорные апгрейды с L9 стали почти бесплатными — «пересидеть на предыдущем мажоре» больше не окупается.
Бэкенд-пакеты × мажор Laravel
✅ — совместимо (подтверждено парком/доками) · ❌ — несовместимо · ❓ — проверять по packagist
| Пакет | L11 | L12 | L13 | Примечание |
|---|---|---|---|---|
| Filament 3.x | ✅ 3.2–3.3 | ✅ 3.3 | ❌ | Несовместим с L13: перед апгрейдом фреймворка сначала мигрировать админку |
| Filament 4.x | ✅ (11.28+) | ✅ (catalog: 4.10) | ❓ | Поддержку L13 проверять: illuminate/contracts ^13.0 на packagist |
| Filament 5.x | ❌ | ✅ | ✅ ≥ 5.6.6 | 5.0–5.3.5 L13 НЕ поддерживают — пинить нижнюю границу ^5.6.6 |
| Livewire 3.x | ✅ 3.7–3.8 | ✅ | ❌ | Идёт в комплекте с Filament 3/4 |
| Livewire 4.x | — | ❓ | ✅ | Линия для L13 / Filament 5 |
| spatie/permission 6.x | ✅ 6.25 | ✅ | ❌ | Апать вместе с мажором Laravel |
| spatie/permission 7.2+ / 8.x | ❓ | ✅ (8.0) | ✅ (7.2.2) | referendum на L13 работает с 7.2.2; freelance на L12 — с 8.0 |
| spatie/medialibrary ^11 | ✅ | ✅ | ✅ | Единая линия по всему парку |
| laravel/sanctum ^4 | ✅ | ✅ | ✅ 4.3 | |
| laravel/breeze ^2.4 | ✅ | ✅ | ✅ | referendum (L13) |
| laravel/boost | ^1 | ^1 | ^2.0 | MCP-сервер; для L13 — вторая мажорка |
| PHPUnit | 10.5 / 11 | 11 | ^12 | |
| Pest | 2 / 3 | 3 | ^4 |
Фронтенд × Laravel
Фронтенд-пакеты не привязаны к мажору Laravel — связка идёт через Vite (laravel-vite-plugin) и Inertia. Версию диктует проект, а не фреймворк.
| Пакет | Версии в парке | Примечание |
|---|---|---|
| Tailwind CSS | v3.2–3.4 (er, masha, notal, referendum) · v4 (весь мейнстрим L12) | 3→4 — breaking: CSS-first конфиг @theme вместо tailwind.config.js. Новые проекты — v4 |
| React | 19 (gulaev-dev, masha/TS) | Через Inertia + Vite; от мажора Laravel не зависит |
| Vue | 3 (referendum/TS, на L13) | Через Inertia 2 |
| Inertia (inertia-laravel) | v2 (masha, referendum) · v3 (gulaev-dev) | Протокол Inertia 2; серверный адаптер v2/v3 |
| Alpine.js | 3.x | Идёт с Livewire 3 и Blade-классикой |
| Vite | 7 (catalog) · 8 (gulaev-dev, referendum) | Любой мажор Laravel через laravel-vite-plugin |
| Ziggy | ^2.4–2.6 | Роуты Laravel в JS; L11–L13 |
Подход студии к выбору фронтенда: frontend/ (Blade + Filament для админок, React-острова для публички).
Три поколения стека в парке
| Поколение | Стек | Проекты | Спеки |
|---|---|---|---|
| Legacy-заморозка | L11 + Filament 3 + Tailwind 3 | er, masha | laravel_11/ |
| Мейнстрим | L12 + Filament 3 + Blade/Tailwind 4 + Postgres 16 + Redis 7 | artel-23ru, school, universal, freelance, gulaev-dev, notal | laravel_12/ |
| Передний край | L12 + Filament 4 (catalog) · L13 + Vue 3 (referendum) | catalog, referendum | laravel_13/ |
Эталон нового проекта (2026-H2)
jsonc
"require": {
"php": "^8.3", // рантайм и CI — 8.4
"laravel/framework": "^13.0",
"filament/filament": "^5.6.6", // нижняя граница L13-совместимости — НЕ ^5.0
"laravel/sanctum": "^4.0",
"spatie/laravel-medialibrary": "^11",
"spatie/laravel-permission": "^7.2"
}Фронт: Tailwind 4 + Vite 8; тесты: Pest 4 / PHPUnit 12; БД: Postgres 16 + Redis 7. Обоснование выбора L13 (а не L12) приведено в обзоре Laravel 13: стартовать на версии, теряющей багфиксы через месяц, — заведомый долг.
Как проверить совместимость пакета самому
bash
# что мешает поднять мажор Laravel (запускать в контейнере проекта):
composer why-not laravel/framework ^13.0
# сухой прогон установки пакета:
composer require vendor/pkg --dry-run- На packagist смотреть constraint
illuminate/contracts/illuminate/supportнужного релиза — это и есть поддерживаемые мажоры Laravel. - Документация версии:
laravel-boost__search-docsилиlaravel.com/docs/<мажор>.x.
⚠️ Любой мажорный апгрейд — только после
bash scripts/backup.sh, с зелёными тестами на{project}_test.migrate:fresh/refreshна рабочих БД запрещены.