Вышла новая версия фреймворка Play для разработки веб-приложений на Scala и Java.
Главное новшество этой версии — перевод всего стриминга, вебсокетов и всего асинхронного I/O с Play Iteratees на Akka Streams. Данный шаг позволил перейти к простому и стандартизированному API, общему для Scala и Java-разработчиков, получить back-pressure и существенно расширить возможности асинхронной обработки данных. Инструкции по миграции на новую платформу описаны на отдельной странице.
Основные изменения:
- Использование функциональных типов данных Java 8 вместо самописных библиотек.
- Java-разработчики получили API для разработки собственных фильтров и Body-parser'ов.
- Повышение производительности на 20% благодаря серии оптимизаций.
- Логгирование направляется в SLF4J. Logback теперь опционален. Поддержка логгирования SQL-запросов с анализом производительности.
- HTTP-стэк переведён на Netty 4.0. Ранее использовалась Netty 3.x. Так же продолжается работа в сторону переезда с Netty на akka-http.
- Переход на AsyncHttpClient 2.0 и Scalatest 3.0.
- Scala-2.10 больше не поддерживается. Окончательно удалён Plugins API. Переход на Dependency Injection близится к завершению.
Для пользователей Play-2.4.x доступно руководство по обновлению на 2.5