Вчера запланированно вышел Laravel 6! Для тех, кто не хочет, или не умеет в английский, пересказываю вкратце, чего там нового.
Во-первых, с этого момента нумерация версий Ларавел будут соответствовать правилам SemVer: MAJOR.MINOR.PATCH. То есть, если кто не знает, MAJOR — серьезные изменения, нарушающие обратную совместимость, MINOR — изменения, ничего не ломающие и PATCH — правки и фиксы, не привносящие нового. Наверно, это хорошо, хотя лично мне и так было нормально.
Во-вторых, Laravel 6.0 — это LTS-версия, то есть версия, которая будет поддерживаться долго. Долго — это, в данном случае, два года фиксов ошибок и три года фиксов уязвимостей.
Другие новшества:
- улучшена возможность контроля ситуации, когда доступ к функции у юзера есть/нет (например, для вывода сообщений);
- в классы асинхронных заданий (Jobs) добавлена поддержка Middleware;
- добавлены ленивые коллекции (LazyCollections), позволяющие работать с большими объемами данных как с обычными коллекциями Ларавела. Почитайте док по ссылке, это интересно;
- улучшена генерация подзапросов в Eloquent;
- генератор фронтэнда (например, на Vue.js) вынесен в отдельный пакет laravel/ui.
Как обычно, есть Upgrade Guide — руководство по апгрейду до последней версии. В руководстве утверждается, что, если вы держали руку на пульсе и у вас последний Laravel 5.8 — управитесь с обновлением примерно за час. Не забудьте запустить тесты!
А я, как руки дойдут, проверю и отпишусь.