Skip to content

Releases: playframework/playframework

Play 2.6.21

08 Jan 18:13
Compare
Choose a tag to compare

The Play Team is pleased to announce the release of Play Framework 2.6.21. This is the latest stable release of Play.

What is Play Framework?

Play is a high-productivity Java and Scala web application framework that integrates the components and APIs you need for modern web application development.

Play is based on a lightweight, stateless, web-friendly architecture and features predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications thanks to its reactive model, based on Akka Streams.

Getting Play

  1. To start a new project, visit https://www.playframework.com/download.
  2. To upgrade an existing Play 2.6 project, edit your project/plugins.sbt file and set the sbt-plugin to 2.6.21.
  3. To update an older Play project, take a look at the Play 2.6 Migration Guide.

Join the Play Community

Want to discuss the new release or have questions related to Play? Visit the Play Framework forum.

Changelog

Play 2.6.21 brings several bug fixes and performance improvements. Notable changes:

  1. playframework/playframework#8741: Forms - add support for IndexedSeq and Vector bindings.
  2. playframework/playframework#8920: Update guava to version 23.6.1.
  3. playframework/playframework#8890: Update Akka to 2.5.19
  4. playframework/playframework#8586: Update Akka Http to 10.0.15
  5. playframework/playframework#8772: Handle null content type as if the header was not set

And, as always, there are a good number of documentation improvements made by Play contributors. For more details see the full list of changes and the 2.6.21.

Credits

Thanks to the community for their detailed bug reports and contributions.

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: Amit Mhatre, Greg Methvin,
Gui Becker. L, Hajime Shiozawa, Juan J. Martínez, Kelvin Trambadiya, Marcin Aman, Marcos Pereira, Matthias Kurz, Renato Cavalcanti, Sandeep Chivukula, Roman Parshikov, Taylor Raack, Veselin Slavchev, Will Sargent, Yury Gribkov, fghzxm, picimaci
.

2.7.0-RC3

15 Nov 14:03
Compare
Choose a tag to compare
2.7.0-RC3 Pre-release
Pre-release

The Play team is proud to announce the first release candidate for Play 2.7.0 (due to a bug during the release process we had to skip RC1 and RC2, so RC3 is effectively the first RC). We expect this to be considerably more stable than the milestone releases, not only in terms of functionality but we are also moving closer to the idea of freezing the APIs.

As with milestones, 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. If there are changes not well documented in javadocs, scaladocs or our migration guides, please, let us know so that we can improve them before the general availability release.

There are many improvements and changes at this new release compared to Milestone 4. More than 50 pull requests were merged. But as we did for Play 2.6, we pushed to have a smooth migration from the previous version.

What is new

So a sneak peek of the main changes after Milestone 4:

A new way to access Http.Request in Java APIs: play.mvc.Http.Context is a crucial part of Java HTTP & MVC APIs, but it is not a good abstraction of how these APIs should work. It either has some concepts that could be better modelled or implementation details that are complex to test and to reason about in a multi-threading framework like Play. Matthias Kurz did an astonishing work to remodel the API, deprecate and document everything that changed.

A new HTTP error handler that understands client's preferred media type: the current HTTP error handler is excellent for web applications, but not for APIs where you want to report errors as JSON or other formats. The new handler is both capable of handling HTML and JSON and is extensible to add whichever format you need.

Improvements around application secret: the application secret is used as the key for ensuring that a Play session cookie is valid, i.e. has been generated by the server as opposed to spoofed by an attacker. However, the secret only specifies a string and does not determine the amount of entropy in that string. Anyhow, it is possible to put a lower bound on the amount of entropy in the secret by merely measuring how short it is.

For other changes, you can see a summary of our progress on 2.7.0 in our roadmap document.

Standalone projects

Together with Play 2.7.0-RC3, we are also releasing compatible versions of standalone projects that directly depends on Play.

  1. Scalatest+Play 4.0.0-RC1
  2. Play-Ebean 5.0.0-RC1
  3. Play WS 2.0.0-RC1
  4. Twirl 1.4.0-RC1
  5. Play Json 2.7.0-RC1
  6. Play Slick 4.0.0-RC1

Please note that these are all intended to be a preview of the upcoming general availability release, and we do 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 do small changes in a future 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.

Credits

Finally, thanks to the community for their help with detailed bug reports, discussion about new features, and pull requests review.

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: Andrii, Dale Wijnand, Dmitry Avershin, Erik LaBianca, Greg Methvin, Gui Becker. L, Ignasi Marimon-Clos, Marcos Pereira, Matthias Kurz, NickBlow, Play Team, Radim Kolar, Takahiro Takashima, Taylor Raack, Veselin Slavchev, Will Sargent, fghzxm, natefitzgerald, picimaci, sullis, techmoksha

Play Team!

2.7.0-M4

15 Oct 13:56
Compare
Choose a tag to compare
2.7.0-M4 Pre-release
Pre-release

The Play team is proud to announce the fourth 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 are pushing 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 since milestone 3.

gRPC support: This release continues the effort to support gRPC endpoints via Play Routers for Akka gRPC. Improvements on these release include testkit changes to support SSL and HTTP/2 so gRPC can be used in tests.

Road to remove Http.Context: Quite a few changes made it into this release in preparation to eventually remove Http.Context. So far, the effort is focused on providing alternatives and deprecating the code that will be removed in a later version.

Dependencies updates: most of the dependencies are now update to the latest version. This includes Akka (playframework/playframework#8638), Akka-HTTP (playframework/playframework#8597), ssl-config (playframework/playframework#8691), Play-WS (playframework/playframework#8623) and Guice (playframework/playframework#8657).

And there are many fixes and documentation improvements that were also backported to 2.6.x branch.

You can find the detailed list of changes on GitHub.

Credits

Finally, thanks to the community for their help with detailed bug reports, discussion about new features, and pull requests review.

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: Aakash Jain, Alexandr Tarasyuk, Amit Mhatre, Arnout Engelen, Ben McCann, Dale Wijnand, Dmitry Avershin, Erik LaBianca, Ignasi Marimon-Clos, Juan J. Martínez, Jules Ivanic, Marcos Pereira, Matthias Kurz, Nishan Patel, Play Team, Rich Dougherty, Roman Parshikov, Schmitt Christian, Shenker93, Yawar Amin, Yinan Ding, Yury Gribkov, chenweisomebody126, denisname, techmoksha.

Play Team!

2.6.20

09 Oct 08:45
Compare
Choose a tag to compare

The Play Team is pleased to announce the release of Play Framework 2.6.20. This is the latest stable release of Play.

What is Play Framework?

Play is a high-productivity Java and Scala web application framework that integrates the components and APIs you need for modern web application development.

Play is based on a lightweight, stateless, web-friendly architecture and features predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications thanks to its reactive model, based on Akka Streams.

Getting Play

  1. To start a new project, visit https://www.playframework.com/download.
  2. To upgrade an existing Play 2.6 project, edit your project/plugins.sbt file and set the sbt-plugin to 2.6.20.
  3. To update an older Play project, take a look at the Play 2.6 Migration Guide.

Join the Play Community

Want to discuss the new release or have questions related to Play? Visit the Play Framework forum.

Changelog

Play 2.6.20 brings several bug fixes and performance improvements. Notable changes:

  1. playframework/playframework#8642: Honor play settings on AkkaHttpServer for client auth in SSL.
  2. playframework/playframework#dc3e11977: Update Akka 2.5.17.
  3. playframework/playframework#8586: Added Java APIs for general dependency-injection to be DI framework agnostic
  4. playframework/playframework#8614: Fix PhantomReference approach for TempFileCreator

And, as always, there are a good number of documentation improvements made by Play contributors. For more details see the full list of changes and the 2.6.20.

Credits

Thanks to the community for their detailed bug reports and contributions.

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: Alexandr Tarasyuk, Dale Wijnand, Ignasi Marimon-Clos, Marcos Pereira, Matthias Kurz, Renato Cavalcanti, Shenker93, Yinan Ding, techmoksha.

2.6.19

13 Sep 16:26
Compare
Choose a tag to compare

The Play Team is pleased to announce the release of Play Framework 2.6.19. This is the latest stable release of Play.

What is Play Framework?

Play is a high-productivity Java and Scala web application framework that integrates the components and APIs you need for modern web application development.

Play is based on a lightweight, stateless, web-friendly architecture and features predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications thanks to its reactive model, based on Akka Streams.

Getting Play

  1. To start a new project, visit https://www.playframework.com/download.
  2. To upgrade an existing Play 2.6 project, edit your project/plugins.sbt file and set the sbt-plugin to 2.6.19.
  3. To update an older Play project, take a look at the Play 2.6 Migration Guide.

Join the Play Community

Want to discuss the new release or have questions related to Play? Visit the Play Framework forum.

Changelog

Play 2.6.19 brings several bug fixes and performance improvements. Notable changes:

  1. playframework/playframework#8590: Upgrade Akka version to 2.5.16 including an important bug fix.
  2. playframework/playframework#8598: Upgrade Akka HTTP to 10.0.14
  3. Special note on Akka 2.5.16 upgrade. In Akka 2.5.12 there was a bug fix that introduced a backward incompatible change. This didn't affect Play users because we were still depending on Akka 2.5.11. This new release is bringing in Akka 2.5.16 and therefore you may need to adapt your code.

And, as always, there are a good number of documentation improvements made by Play contributors. For more details see the full list of changes and the 2.6.19.

Credits

Thanks to the community for their detailed bug reports and contributions.

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: Marcos Pereira, Matthias Kurz, Sheldon Young, denisname, techmoksha.

2.7.0-M3

27 Aug 21:22
Compare
Choose a tag to compare
2.7.0-M3 Pre-release
Pre-release

The Play team is proud to announce the third 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.

So a sneak peek of the main changes since milestone 2.

Coordinated Shutdown improvements: Play has adopted the Akka’s Coordinated Shutdown and it is available since the previous milestone. In this one we have made a bunch of small improvements to ensure this will be sound. See playframework/playframework#8531, playframework/playframework#8532, playframework/playframework#8553, and playframework/playframework#8583 for more details.

Dependencies updates: most of the dependencies are now update to the latest version. This includes Akka (playframework/playframework#8576), Guava (playframework/playframework#8581), Play-JSON (playframework/playframework#8577) and Play-WS (playframework/playframework#8578).

And there are many fixes and documentation improvements that were also backported to 2.6.x branch.

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.

Credits

Finally, thanks to the community for their help with detailed bug reports, discussion about new features, and pull requests review.

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: Marcos Pereira, Greg Methvin, Arne Schuldt, Matthias Kurz, Justin Pihony, Lj Chen, Henri Cook, nafg, Play Team, SheldonSoftdev, Tanin Na Nakorn, Tim Moore, Tzu-Chiao Yeh, Kazuhiro Sera.

Play Team!

2.6.18

20 Aug 18:37
Compare
Choose a tag to compare

The Play Team is pleased to announce the release of Play Framework 2.6.18. This is the latest stable release of Play.

Changelog

Play 2.6.18 brings several bug fixes and performance improvements. Notable changes:

  1. playframework/playframework#8162: Add support to more easily configure HTTP max header length for Akka HTTP Server backend.
  2. playframework/playframework#8550: Better logging while executing database evolutions.
  3. playframework/playframework#8549: CSRF filter considers either the cookie or the session, but not both.

And, as always, there are a good number of documentation improvements made by Play contributors. For more details see the full list of changes and the 2.6.18.

Credits

Thanks to the community for their detailed bug reports and contributions.

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: Arne Schuldt, Greg Methvin, Justin Pihony, Kazuhiro Sera, Marcos Pereira, Play Team, Tanin Na Nakorn, Tzu-Chiao Yeh, nafg.

2.7.0-M2

21 Jul 11:27
Compare
Choose a tag to compare
2.7.0-M2 Pre-release
Pre-release

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.

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.

See 2.7.0-M1...2.7.0-M2 for a detailed list of changes.

Standalone projects

Together with Play 2.7.0-M2, we are also releasing compatible versions of standalone projects that directly depends on Play.

  1. Scalatest+Play 4.0.0-M2
  2. Play-Ebean 5.0.0-M2
  3. 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.

2.6.17

19 Jul 17:35
Compare
Choose a tag to compare

The Play Team is pleased to announce the release of Play Framework 2.6.17. This is the latest stable release of Play.

Play 2.6.17 brings bug fixes, some updates and build improvements. For more details see the full list of changes and 2.6.17 issues on GitHub.

Credits

Thanks to the community for their detailed bug reports and contributions.

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: Marcos Pereira and NickBlow.

2.6.16

19 Jul 17:31
Compare
Choose a tag to compare

The Play Team is pleased to announce the release of Play Framework 2.6.16. This is the latest stable release of Play.

Changelog

Play 2.6.16 brings bug fixes, some updates and build improvements. For more details see the full list of changes and 2.6.16 issues on GitHub.

Credits

Thanks to the community for their detailed bug reports and contributions.

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: Marcos Pereira, Arnout Engelen, Daniel Manchester, Greg Methvin, Kavit, Play Team, Schmitt Christian, Tim Moore, Yinan Ding, YuitoSato, Adam Lane, katainaka.