The Community Maintained High Velocity Web Framework For Java and Scala.
The Play Team is pleased to announce the release of Play 3.0.2! :tada:
This patch release addresses several bugs and introduces minor enhancements that may benefit you. We strongly recommend upgrading at your earliest convenience.
If you're considering upgrading to Play 3, please check the Play 3 release announcement for highlights and further details on how to migrate.
play.server.netty.transport = "native"
) now support AArch64 and RISC-V out of the box in Play:
AArch64
and RISC-V
(besides x86-64
) by @mkurzprivate[this]
by @xuwei-krepo.typesafe.com
and repo.scala-sbt.org
repositories. As a result, with this release, all dependencies (including those for testing) are now hosted exclusively on Maven Central. This change ensures that even if one of the deprecated repositories were to become unavailable (as has happened in the past), your projects would not be affected. Moreover, this move allows for the possibility that, 15 years from now, you could still download the Play 3.0.2+ source code and, with just Java and sbt installed, rebuild Play from the sources (assuming Maven Central is still operational, which is more likely). While this may seem a bit far-fetched, we occasionally receive reports from users attempting to rebuild an ancient Play release but are unable to do so because they cannot retrieve all the necessary dependencies.
/etc/hosts
by @mkurzFollowing pull requests got merged for this release:
TestServer.isRunning
should not throw exception but return false
by @mkurzAArch64
and RISC-V
(besides x86-64
) by @mkurznetty-reactive-streams-http
transitive dependencies by @mkurzprivate[this]
by @xuwei-kplay-stack
image in doc by @xuwei-kFor more details see the full list of changes and the 3.0.2 milestone.
If you find this OSS project useful for work, please consider asking your company to support it by becoming a sponsor. You can also individually sponsor the project by becoming a backer.
Finally, thanks to the community for their help with detailed bug reports, discussions about new features and pull request reviews. This project is only possible due to the help we had from amazing contributors. Special thanks to all code contributors who helped with this particular release (they are listed below)!
The Play Team is pleased to announce the release of Play 2.9.2! :tada:
This patch release addresses several bugs and introduces minor enhancements that may benefit you. We strongly recommend upgrading at your earliest convenience.
If you're considering upgrading to Play 2.9, please check the Play 2.9 release announcement for highlights and further details on how to migrate.
play.server.netty.transport = "native"
) now support AArch64 and RISC-V out of the box in Play:
AArch64
and RISC-V
(besides x86-64
) by @mkurzprivate[this]
by @xuwei-krepo.typesafe.com
and repo.scala-sbt.org
repositories. As a result, with this release, all dependencies (including those for testing) are now hosted exclusively on Maven Central. This change ensures that even if one of the deprecated repositories were to become unavailable (as has happened in the past), your projects would not be affected. Moreover, this move allows for the possibility that, 15 years from now, you could still download the Play 2.9.2+ source code and, with just Java and sbt installed, rebuild Play from the sources (assuming Maven Central is still operational, which is more likely). While this may seem a bit far-fetched, we occasionally receive reports from users attempting to rebuild an ancient Play release but are unable to do so because they cannot retrieve all the necessary dependencies.
/etc/hosts
by @mkurzFollowing pull requests got merged for this release:
TestServer.isRunning
should not throw exception but return false
(backport #12409) by @mkurzAArch64
and RISC-V
(besides x86-64
) (backport #12405) by @mkurznetty-reactive-streams-http
transitive dependencies (backport #12403) by @mkurzprivate[this]
(backport #12284) by @xuwei-ksbt-akka-version-check
now hosted on maven central by @mkurzFor more details see the full list of changes and the 2.9.2 milestone.
If you find this OSS project useful for work, please consider asking your company to support it by becoming a sponsor. You can also individually sponsor the project by becoming a backer.
Finally, thanks to the community for their help with detailed bug reports, discussions about new features and pull request reviews. This project is only possible due to the help we had from amazing contributors. Special thanks to all code contributors who helped with this particular release (they are listed below)!
The Play Team is delighted to announce the release of Play 3.0.1! 🥳
This is a pure patch release, not shipping any new features, but upgrading dependencies and fixing minor bugs reported by the community since our major Play 3 release two months ago. Many projects have already smoothly upgraded to Play 3.
If you're considering upgrading to Play 3, please check the Play 3 release announcement for highlights and further details on how to migrate.
nonce
in Comet helpers by @mkurzredirectLocation(...)
can now get the location of a Permanent Redirect by @tmccombsFollowing pull requests got merged for this release:
play.server.http.port
, even if disabled (backport #12256) by @mkurzakka.*
config won’t load automatically anymore by @mkurzscala.Symbol
literal in CspFilter.md
by @xuwei-kResolver.sonatypeRepo
by @xuwei-kFor more details see the full list of changes and the 3.0.1 milestone.
If you find this OSS project useful for work, please consider asking your company to support it by becoming a sponsor. You can also individually sponsor the project by becoming a backer.
Finally, thanks to the community for their help with detailed bug reports, discussions about new features and pull request reviews. This project is only possible due to the help we had from amazing contributors. Special thanks to all code contributors who helped with this particular release (they are listed below)!
The Play Team is delighted to announce the release of Play 2.9.1! 🥳
This is a pure patch release, not shipping any new features, but upgrading dependencies and fixing minor bugs reported by the community since our major Play 2.9 release two months ago. Many projects have already smoothly upgraded to Play 2.9.
If you're considering upgrading to Play 2.9, please check the Play 2.9 release announcement for highlights and further details on how to migrate.
nonce
in Comet helpers by @mkurzredirectLocation(...)
can now get the location of a Permanent Redirect by @tmccombsFollowing pull requests got merged for this release:
play-published-local-*
cache entries not found (backport #12015) by @ihostageplay.server.http.port
, even if disabled (backport #12256) by @mkurzakka.*
config won’t load automatically anymore (backport #12212) by @mkurzscala.Symbol
literal in CspFilter.md
(backport #12172) by @xuwei-kResolver.sonatypeRepo
(backport #12144) by @xuwei-kFor more details see the full list of changes and the 2.9.1 milestone.
If you find this OSS project useful for work, please consider asking your company to support it by becoming a sponsor. You can also individually sponsor the project by becoming a backer.
Finally, thanks to the community for their help with detailed bug reports, discussions about new features and pull request reviews. This project is only possible due to the help we had from amazing contributors. Special thanks to all code contributors who helped with this particular release (they are listed below)!
The Play Team is happy to announce the release of Play 2.8.21 :partying_face:
More details on EOL dates, supported dependencies and how Play deals with Akka’s License change can be found here. We recommend upgrading to Play 2.9 (built on Akka) or Play 3.0 (built on Pekko) as soon as possible:
Besides that, following pull requests got merged for this release:
[2.8.x]
for Steward's pull requests for 2.8.x branch by @ihostageFor more details see the full list of changes and the 2.8.21 milestone.
If you find this OSS project useful for work, please consider asking your company to support it by becoming a sponsor. You can also individually sponsor the project by becoming a backer.
Finally, thanks to the community for their help with detailed bug reports, discussions about new features and pull request reviews. This project is only possible due to the help we had from amazing contributors. Special thanks to all code contributors who helped with this particular release (they are listed below)!
The Play Team is thrilled to announce the release of Play 3.0.0! :tada: This release brings highly anticipated new features, including support for the latest Java LTS versions and Scala 3. It continues our commitment to making Play more modular, flexible, and secure. Play 3.0, together with Play 2.9, represents a significant milestone as they are the first major releases in almost four years and the first major releases entirely driven by the community. Starting in late 2021, the project transitioned from Lightbend Inc. to a core team of dedicated individuals, as detailed in our sponsorship page. This release is the result of months of hard work from the Play core team and our fantastic community, with more than 600 pull requests merged from 112 contributors.
For a detailed overview of all the new features, please visit our Play 3.0 release highlights page on the Play website.
Simultaneously with this release, we also introduced Play 2.9, which is nearly identical to Play 3.0. It offers the same features and will receive parallel maintenance, benefiting from identical enhancements and bug fixes.
Play 3, however:
groupId
to org.playframework
to emphasize that the project is now entirely community-driven and fully committed to Open Source.If you want to learn more about Apache Pekko and the motivation behind the switch to it in Play 3.0, read "How Play Deals with Akka’s License Change".
To get started with Play, follow the instructions on our Getting Started page. If you're migrating from an older version to Play 3.0, our migration guide will be a valuable resource.
Following pull requests got merged for this release:
addDependencyTreePlugin
by @mkurzorg.playframework
by @mkurztypesafehub/config
=> lightbend/config
by @xuwei-korg.playframework
by @mkurzorg.playframework
by @mkurzplay-published-local-*
cache entries not found by @ihostageorg.playframework
for Play 3 by @mkurzFor more details see the full list of changes and the 3.0.0 milestone.
If you find this OSS project useful for work, please consider asking your company to support it by becoming a sponsor. You can also individually sponsor the project by becoming a backer.
Finally, thanks to the community for their help with detailed bug reports, discussions about new features and pull request reviews. This project is only possible due to the help we had from amazing contributors. Special thanks to all code contributors who helped with this particular release (they are listed below)!
The Play Team is happy to announce the release of Play 2.8.20 :partying_face:
It's around the corner, basically some docs, migration guide and release notes missing, but no more pull requests. A first release candidate should follow within days :crossed_fingers: Sorry, it took a bit longer and was postponed a couple of times. With the first Play 2.9 RC we will also give an update on how we continue with Akka / Akka HTTP after September 2023.
This is mostly a bugfix release with some enhancements added. The most notable are:
StackOverflowError
in Play body parsers. Researched by @beny23, thanks!Besides that, following pull requests got merged for this release:
2.7.x
serias by @ihostage2.6.x
serias by @ihostage2.5.x
serias (backport #11628) by @ihostageFor more details see the full list of changes and the 2.8.20 milestone.
If you find this OSS project useful for work, please consider asking your company to support it by becoming a sponsor. You can also individually sponsor the project by becoming a backer.
Finally, thanks to the community for their help with detailed bug reports, discussions about new features and pull request reviews. This project is only possible due to the help we had from amazing contributors. Special thanks to all code contributors who helped with this particular release (they are listed below)!
The Play Team is happy to announce the release of Play 2.8.19 :partying_face:
Finally! Check out the documentation:
Another fix for WebSockets ships with this release as well:
If you are using the Netty backend the play.server.http[s].idleTimeout
setting will now be honored for WebSocket connections. Until now, when using Netty, a WebSocket connection never timed out. That might even was desirable for some use cases, but now that we have ping/pong support you have to make use of that to keep WebSocket connections open. That is the correct way of doing things and not closing connections after an idle timeout was actually a bug. The akka-http backend was always working correctly and didn't need to be fixed.
If you have
<shutdownHook class="ch.qos.logback.core.hook.DelayingShutdownHook"/>
in your logback config, you should remove that line. Play handles the shutdown of the logger context, the line shown is not necassary anymore since at least Play 2.7 and is a leftover that should have been removed a while ago. More details can be found in the according pull request.
Content-Disposition: form-data; name="..."; filename="..."
:capital_abcd:When Play renders a request body containing multipart/form data it will now encode the name and the filename fields according the "WHATWG HTML living standard" section 4.10.21.8. curl
, Firefox, Chrome and other libraries like Python's urllib3 follow the same approach. Until now, Play didn't encode those fields which could result in security implications. Just to be clear, this is not about receiving and parsing multipart/form data from a client, but when sending multipart/form data e.g. via ws or when using the RequestBuilder
to build a request for testing purposes. Details can be found in pull request #11571.
Now that sbt 1.8 got released there have been reports that it isn't working out of the box with Play, caused by a version conflict regarding scala-xml, see #11522. Unfortunately, right now, we don't have a fix for that yet. Even if we bump scala-xml to version 2.x in Play and all its dependencies, we can't currently make sbt 1.8 work with Play because of another problem described in #11527. The good news is, that isn't a showstopper if you still want to upgrade to sbt 1.8. You can do that right now by putting
ThisBuild / libraryDependencySchemes += "org.scala-lang.modules" %% "scala-xml" % VersionScheme.Always
in project/plugins.sbt
. That is possible because scala-xml 1.x and 2.x are compatible anyway. However, like described in #11527 you will not be able to use PlayNonBlockingInteractionMode
with sbt 1.8 then (which probably not many people do anyway)
Following pull requests got merged for this release:
set-output
by @ihostageFor more details see the full list of changes and the 2.8.19 milestone.
If you find this OSS project useful for work, please consider asking your company to support it by becoming a sponsor. You can also individually sponsor the project by becoming a backer.
Finally, thanks to the community for their help with detailed bug reports, discussions about new features and pull request reviews. This project is only possible due to the help we had from amazing contributors. Special thanks to all code contributors who helped with this particular release (they are listed below)!