:mega: Play 2.8.0 Released
The Play Team is proud to announce the release of Play 2.8.0. This release adds many new features and continues our efforts to make Play more modular, flexible, and secure. Play 2.8.0 is the result of more than 10 months of relentless work from our fantastic community, comprehending more than a thousand changes made from 80 contributors.
:green_book: What is new?
The highlights in Play 2.8.0 include, but are not limited by:
Akka 2.6
Akka 2.6.0 was released a little over a month ago, and it has new APIs with type-safety for Akka Actors, better stability for Akka Cluster with Artery, and improved serialization.
Play 2.8.0 integrates Akka Typed with Dependency Injection, full integration with Akka Jackson support, and initial support for Akka Cluster Sharding Typed. These lay down the basis to evolve integration with multiple Akka Typed APIs, such as Akka Persistence Typed.
Scala 2.13
Play 2.8.0 not only supports Scala 2.13 but uses it as the default version. Play, all the samples, and seeds all use Scala 2.13 by default now.
Java 11
Play 2.8.0 is the first version were we officially support Java 11. Play, its standalone modules, samples and seeds are all tested against AdoptOpenJDK 8 & 11. We continue to support Java 8 as the default version.
Final changes to remove Global State
This was a long journey we started a few versions ago, deprecating the APIs, providing dependency injection support, and many other changes. Therefore, Play 2.8 removes APIs such as Play.current
, Play.maybeApplication
, and others that depend on them.
Improvements to Results APIs
Many minor improvements were made in the Java API: sendFile
, sendPath
and sendResource
now support an onClose
callback; send*
methods now accept a parameter to set Content-Type
header; the type parameter for file names when serving files is now an Optional
which makes the API nicer when you need to send Optional.empty
(instead of null
). Moreover, Range results now support to pre-seek the Source when returning results for requests containing a Range
header.
:gift: Updated Dependencies
Besides updates to newer versions of our own libraries (play-json, play-ws, twirl, cachecontrol, etc), many other important dependencies were updated to the newest versions:
- specs2 4.8.1
- Jackson 2.10.1
- Mockito 3.2.0
- HikariCP 3.4.1
- Hibernate Validator 6.1.0.Final
- Lightbend Config 1.4.0
- Caffeine 2.8.0
- sbt-native-packager 1.5.1
As usual, you can see the more details of those new features in the release highlights and learn how to migrate in our migration guide.
:world_map: How to start or migrate to Play 2.8
To get started with Play, follow the instructions in our Getting Started page. And if you need to migrate from an older version to Play 2.8, see our migration guide.
:bow: Thanks to our contributors
Finally, many, many thanks to the community for their help with detailed bug reports, discussion about new features, and pull requests.
Thanks to Lightbend for their continued sponsorship of the Play core team's efforts. Lightbend offers commercial support for Play.
Special thanks to the following contributors who helped with this release:
commits added removed
231 17330 7071 Matthias Kurz
155 7104 3190 Marcos Pereira
154 29514 21862 Dale Wijnand
88 105 105 Scala Steward
53 920 2376 Renato Cavalcanti
43 829 536 gurkankaymak
42 2256 432 Ignasi Marimon-Clos
16 129 990 Will Sargent
12 734 836 Greg Methvin
9 11 9 Albaro Pereyra
6 72 46 Regan Koopmans
5 10 10 sullis
4 16 16 Bryant Larsen
4 199 206 João Ferreira
4 43 6 Eugene Yokota
4 30 36 Roman Parshikov
4 16 3 John Duffell
4 178 54 yuuri111
4 296 25 Nick Howes
3 4 5 Jafer Khan
3 69 6 Jakub Kozłowski
3 48 57 Ruth Stento
3 106 25 Arnout Engelen
3 8 22 warrior911
3 20 0 Ivan Toporkov
3 63 21 golemiso
3 9 9 James Roper
3 38 38 Lukas Rytz
2 17 15 To-om
2 16 2 Rafael Zanella
2 4 4 John Gutierrez
2 18 3 Philippe Vinchon
2 2 2 Natsumi
2 56 0 Radim Kolar
2 7 9 yohei.naruse
2 3 1 Emmanuel Guiton
2 46 12 ctoomey
2 2 2 Byron Weber Becker
2 2 2 Valentin Stoyanov
2 8 8 duncangodwin
2 53 0 a1kemist
2 428 15 Peerapat A
2 61 41 xuwei-k
2 48 48 Hajime Shiozawa
2 42 0 Geovanny Junio
2 5 1 Felix
2 1416 4 Gabriel Klappenbach
2 6 3 Dominik Dorn
2 35 5 Ander Parra
1 2 2 Benoit Lemoine
1 2 2 YourPsychiatrist
1 2 0 Henri Cook
1 2 1 igarashi-kazuya
1 109 8 Mat2095
1 0 1 Naoki Takezoe
1 58 0 morellik
1 0 37 Tim Moore
1 56 0 Cédric Chantepie
1 19 1 Yinan Ding
1 15 5 Emmanuel GUITON
1 1 1 Owen Miller
1 32 5 Brandon Brown
1 4 4 takashima0411
1 10 7 Seung-Zin Nam
1 0 10 Johannes Rudolph
1 1 1 Yoshiyuki Sakamoto
1 1 17 Francis De Brabandere
1 14 0 Daniel Knittl-Frank
1 0 5 Seth Tisue
1 1 1 nickweitzel
1 1 1 etienne
1 3 26 Fajr Febriansyah
1 62 16 Valy Dia
1 2 2 Santiago
1 1 1 PJ Fanning
1 41 8 srirachapills
1 2 0 bwbecker
1 1 1 Sergey Morgunov
1 0 1 Nafer Sanabria
1 1 1 Felix Meißner
1 113 48 gaurang-sawhney
1 1 1 Zachary Mulgrew
1 1 1 Jiangwr
1 1 1 Nikolas
Source code(tar.gz)
Source code(zip)