Skip to content

Releases: playframework/playframework

Play 3.0.8

01 Jul 23:14
3.0.8
6a4473c
Compare
Choose a tag to compare

The Play Team is happy to announce the release of Play 3.0.8! 🥳

📗 About this Release

This release fixes several bugs and a CVE, improves Scala 3 support, and - as always - updates dependencies. We strongly recommend upgrading at your earliest convenience.

If you're considering upgrading to Play 3.0, please check the Play 3.0 release announcement for highlights and further details on how to migrate. Many projects have already smoothly upgraded to Play 3.0.

sbt 1.9.0 or newer is now required

Because of recent changes in how artifacts are published to Maven Central, older sbt versions can no longer retrieve Play's sbt plugins published starting July 1, 2025. If you're still using an older sbt release, you'll need to upgrade to sbt 1.9.0 or newer to continue fetching Play artifacts from Maven Central. Play 3.0.8 and newer will not work with earlier sbt versions. To be fair, when releasing Play 3.0, we already announced 1.9.0 as the minimum required sbt version, even though older versions may still have worked until now.

Scala 3 improvements

  • Twirl now supports using in it's templates, so you can define template parameters like:

    @(x: Int)(using y: Int)

    Thanks to @ajafri2001 for implementing this improvement 🙌:
    playframework/twirl#933 Prepend "using" at the callsite when definition site has implicit parameter

  • When using Play JSON, the JSON field ordering is now correctly preserved when compiling with Scala 3 - implemented by @xuwei-k:
    playframework/play-json#1177 fix field ordering Scala 3 writes macro

Noteworthy Pull Requests

Full Changelog

Following pull requests got merged for this release:

For more details see the full list of changes and the 3.0.8 milestone.

❤️ Thanks to our premium sponsors!

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.

🙇 Thanks to our contributors

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)!

Play 2.9.8

01 Jul 23:13
2.9.8
9d1bec8
Compare
Choose a tag to compare

The Play Team is happy to announce the release of Play 2.9.8! 🥳

📗 About this Release

This release fixes several bugs and a CVE, improves Scala 3 support, and - as always - updates dependencies. 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. Many projects have already smoothly upgraded to Play 2.9.

sbt 1.9.0 or newer is now required

Because of recent changes in how artifacts are published to Maven Central, older sbt versions can no longer retrieve Play's sbt plugins published starting July 1, 2025. If you're still using an older sbt release, you'll need to upgrade to sbt 1.9.0 or newer to continue fetching Play artifacts from Maven Central. Play 2.9.8 and newer will not work with earlier sbt versions. To be fair, when releasing Play 2.9, we already announced 1.9.0 as the minimum required sbt version, even though older versions may still have worked until now.

Scala 3 improvements

  • Twirl now supports using in it's templates, so you can define template parameters like:

    @(x: Int)(using y: Int)

    Thanks to @ajafri2001 for implementing this improvement 🙌:
    playframework/twirl#933 Prepend "using" at the callsite when definition site has implicit parameter

  • When using Play JSON, the JSON field ordering is now correctly preserved when compiling with Scala 3 - implemented by @xuwei-k:
    playframework/play-json#1177 fix field ordering Scala 3 writes macro

Noteworthy Pull Requests

Full Changelog

Following pull requests got merged for this release:

For more details see the full list of changes and the 2.9.8 milestone.

❤️ Thanks to our premium sponsors!

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.

🙇 Thanks to our contributors

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)!

Play 3.0.7

13 Mar 01:41
3.0.7
cf19f57
Compare
Choose a tag to compare

The Play Team is happy to announce the release of Play 3.0.7.

📗 About this Release

This patch release primarily upgrades dependencies, fixes minor bugs, and improves compatibility with Scala 3. We recommend upgrading as soon as possible.

If you're considering upgrading to Play 3.0, please check the Play 3.0 release announcement for highlights and further details on how to migrate. Many projects have already smoothly upgraded to Play 3.0.

Noteworthy Pull Request

  • #13115 [3.0.x] Avoid error at shutdown if tmpdir is not writeable but was not used in the first place (backport #13039) by @gaeljw
  • #13112 [3.0.x] Module: Accept constructor with (com.typesafe.config.Config) (backport #13044) by @tsawada
  • #13005 [3.0.x] Change access modifier to package private for RoutingDsl.{Route,RouteParam} (backport #13003) by @WojciechMazur

Full Changelog

Following pull requests got merged for this release:

For more details see the full list of changes and the 3.0.7 milestone.

❤️ Thanks to our premium sponsors!



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.

🙇 Thanks to our contributors

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)!

Play 2.9.7

13 Mar 01:41
2.9.7
05b1321
Compare
Choose a tag to compare

The Play Team is happy to announce the release of Play 2.9.7.

📗 About this Release

This patch release primarily upgrades dependencies, fixes minor bugs, and improves compatibility with Scala 3. We recommend upgrading as soon as possible.

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. Many projects have already smoothly upgraded to Play 2.9.

Noteworthy Pull Request

  • #13116 [2.9.x] Avoid error at shutdown if tmpdir is not writeable but was not used in the first place (backport #13039) by @gaeljw
  • #13111 [2.9.x] Module: Accept constructor with (com.typesafe.config.Config) (backport #13044) by @tsawada
  • #13006 [2.9.x] Change access modifier to package private for RoutingDsl.{Route,RouteParam} (backport #13003) by @WojciechMazur

Full Changelog

Following pull requests got merged for this release:

For more details see the full list of changes and the 2.9.7 milestone.

❤️ Thanks to our premium sponsors!



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.

🙇 Thanks to our contributors

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)!

Play 3.0.6

29 Nov 09:56
3.0.6
2e56aff
Compare
Choose a tag to compare

The Play Team is pleased to announce the release of Play 3.0.6! 🎉

📗 About this Release

Play is pretty stable at this point - we hardly get bug reports, which is great! This release primarily upgrades dependencies, and we strongly recommend upgrading at your earliest convenience.

If you're considering upgrading to Play 3.0, please check the Play 3.0 release announcement for highlights and further details on how to migrate. Many projects have already smoothly upgraded to Play 3.0.

Noteworthy Pull Request

  • playframework/play-ws #866 Use latest netty-reactive-streams version, ahc comes with outdated one by @mkurz
    • Ensures the shaded AsyncHttpClient dependency shipped with play-ws uses the latest Netty release. This resolves an issue where AsyncHttpClient depended on an outdated version of netty-reactive-streams, which also pulled in an outdated Netty release. Now everything is up-to-date.
  • #12818 [3.0.x] Fix jjwt 0.12 compatibility for setExpiration method by @PromanSEW

Full Changelog

Following pull requests got merged for this release:

For more details see the full list of changes and the 3.0.6 milestone.

❤️ Thanks to our premium sponsors!



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.

🙇 Thanks to our contributors

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)!

Play 2.9.6

29 Nov 09:56
2.9.6
b900221
Compare
Choose a tag to compare

The Play Team is pleased to announce the release of Play 2.9.6! 🎉

📗 About this Release

Play is pretty stable at this point - we hardly get bug reports, which is great! This release primarily upgrades dependencies, and 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. Many projects have already smoothly upgraded to Play 2.9.

Noteworthy Pull Request

  • playframework/play-ws #866 Use latest netty-reactive-streams version, ahc comes with outdated one by @mkurz
    • Ensures the shaded AsyncHttpClient dependency shipped with play-ws uses the latest Netty release. This resolves an issue where AsyncHttpClient depended on an outdated version of netty-reactive-streams, which also pulled in an outdated Netty release. Now everything is up-to-date.
  • #12820 [2.9.x] Fix jjwt 0.12 compatibility for setExpiration method (backport #12818) by @PromanSEW

Full Changelog

Following pull requests got merged for this release:

For more details see the full list of changes and the 2.9.6 milestone.

❤️ Thanks to our premium sponsors!



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.

🙇 Thanks to our contributors

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)!

Play 3.0.5

24 Jul 10:19
3.0.5
4c2d760
Compare
Choose a tag to compare

The Play Team is happy to announce the release of Play 3.0.5! 🥳

📗 About this Release

This patch release primarily upgrades dependencies and fixes a bug that may occur in specific situations during file uploads. We recommend upgrading as soon as possible.

If you're considering upgrading to Play 3.0, please check the Play 3.0 release announcement for highlights and further details on how to migrate. Many projects have already smoothly upgraded to Play 3.0.

Noteworthy Pull Request

  • #12779 [3.0.x] Prevent TemporaryFile to be deleted before returning a response (backport #12772) by @tkawachi
    • Prevent a TemporaryFile from being deleted until the response is finished.
  • #12785 [3.0.x] Pekko 1.0.3 (backport #12781) by @mkurz
    • Upgrades to the latest stable release of Pekko.
  • #12796 [3.0.x] Backport Pekko 1.1.0-M1 explicit supervision strategy setting by @gwak
    • Allows you to upgrade to Pekko 1.1.0-M1 if desired.

Full Changelog

Following pull requests got merged for this release:

For more details see the full list of changes and the 3.0.5 milestone.

❤️ Thanks to our premium sponsors!

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.

🙇 Thanks to our contributors

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)!

Play 2.9.5

24 Jul 10:18
2.9.5
c11fab4
Compare
Choose a tag to compare

The Play Team is happy to announce the release of Play 2.9.5! 🥳

📗 About this Release

This patch release primarily upgrades dependencies and fixes a bug that may occur in specific situations during file uploads. We recommend upgrading as soon as possible.

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. Many projects have already smoothly upgraded to Play 2.9.

Noteworthy Pull Request

  • #12780 [2.9.x] Prevent TemporaryFile to be deleted before returning a response (backport #12772) by @tkawachi
    • Prevent a TemporaryFile from being deleted until the response is finished.

Full Changelog

Following pull requests got merged for this release:

For more details see the full list of changes and the 2.9.5 milestone.

❤️ Thanks to our premium sponsors!

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.

🙇 Thanks to our contributors

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)!

Play 3.0.4

17 Jun 15:43
3.0.4
fafc043
Compare
Choose a tag to compare

The Play Team is delighted to announce the release of Play 3.0.4! 🎉

📗 About this Release

This patch release addresses a couple of bugs and upgrades dependencies. We recommend upgrading as soon as possible.

If you're considering upgrading to Play 3.0, please check the Play 3.0 release announcement for highlights and further details on how to migrate. Many projects have already smoothly upgraded to Play 3.0.

Noteworthy Pull Request

  • #12724 [3.0.x] Update changed assets in subprojects (backport #12721) by @mkurz
    • Fixes #12484 "Asset changes in subprojects" by @n4cer
    • Fixes #12636 "Issue with sbt-web/sassify, sub-projects, and the Play dev server..." by @mikesname

Full Changelog

Following pull requests got merged for this release:

For more details see the full list of changes and the 3.0.4 milestone.

❤️ Thanks to our premium sponsors!

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.

🙇 Thanks to our contributors

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)!

Play 2.9.4

17 Jun 15:43
2.9.4
3c8156e
Compare
Choose a tag to compare

The Play Team is delighted to announce the release of Play 2.9.4! 🎉

📗 About this Release

This patch release addresses a couple of bugs and incompatibilities, and upgrades dependencies. We recommend upgrading as soon as possible.

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. Many projects have already smoothly upgraded to Play 2.9.

Noteworthy Pull Requests

  • #12719 [2.9.x] Fix https compatibility with akka-http 10.6.x by @dwickern
    • Fixes #12711 "Play 2.9 incompatible with akka-http 10.6.x when using https" by @dwickern
  • #12725 [2.9.x] Update changed assets in subprojects (backport #12721) by @mkurz
    • Fixes #12484 "Asset changes in subprojects" by @n4cer
    • Fixes #12636 "Issue with sbt-web/sassify, sub-projects, and the Play dev server..." by @mikesname

Full Changelog

Following pull requests got merged for this release:

For more details see the full list of changes and the 2.9.4 milestone.

❤️ Thanks to our premium sponsors!

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.

🙇 Thanks to our contributors

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)!