The Play team is proud to announce the second milestone of Play 2.7.0. Like all milestone releases, the primary goal is to get feedback, so please let us know if something isn’t working or you see something that should be improved. If you are the author of a Play module, we would recommend checking out this release to see how it will affect your module.
There are several improvements and changes at this new release and you can see the most relevant ones in our roadmap. As we did for Play 2.6, we pushed to have a smooth migration from the previous version. Please see the migration guide for details on how to upgrade from 2.6.x. We especially value your feedback (and pull requests) on how to make upgrading to this release as smooth as possible.
So a sneak peek of the main changes.
Database not available handling: Play JDBC has been reviewed so if the database is unavailable when the application is initializing there will be no failure and the
Application initialization may complete. This prevents cascaded failures on bootup or the need to completely restart your app. It also implies you could have a running app without access to the database. This is a change in behaviour your application may be affected by, please review the migration guide and override the default settings if you need fail-fast behaviour when the database is down.
Coordinated Shutdown: Play has adopted the Akka’s Coordinated Shutdown. Play still provides the
ApplicationLifecycle but it has been rewired so it now runs as a task of Coordinated Shutdown. You can now move your shutdown logic to a phase before, after or in parallel to the execution of the
ApplicationLifecycle hooks giving you more control and faster graceful shutdown times. Library provider or some internals of the framework may now be refactored so the shutdown sequence is more predictable.
You can find the detailed list of changes on GitHub.
For other changes, you can see a summary of our progress on 2.7.0 in our roadmap document.
Together with Play 2.7.0-M2, we are also releasing compatible versions of standalone projects that directly depends on Play.
- Scalatest+Play 4.0.0-M2
- Play-Ebean 5.0.0-M2
- Play Slick 4.0.0-M2
Please note that these all intended to be a preview of the 2.7.0 release and we would not recommend using in a production application. We have made an effort to introduce most major API changes in this release, but we reserve the right to break everything in a future milestone or release candidate. The good news is that there’s still a chance to provide feedback, so please try it out and let us know what you think. Don’t hesitate file issues on the project or start a discussion on our forums if you have suggestions.
Finally, thanks to the community for their help with detailed bug reports, discussion about new features, and pull requests review.
Special thanks to the following contributors who helped with this release: Arnout Engelen, Daniel Manchester, Greg Methvin, Ignasi Marimon-Clos, Kavit, Koen De Groote, Marcos Pereira, Matthias Kurz, Sergey Chupov, Tim Moore, katainaka, walsh1995.