Play 2.8.19 #11606
mkurz
announced in
Announcements
Play 2.8.19
#11606
Replies: 1 comment
-
Thanks for your work @mkurz :) |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
The Play Team is happy to announce the release of Play 2.8.19 🥳
📗 What is new?
ping/pong support for WebSockets 🏓
Finally! Check out the documentation:
Using Netty, WebSockets time out now ⏳
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.Removed the shutdown hook from the default logback config 🪝
If you have
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.
Correctly encode
Content-Disposition: form-data; name="..."; filename="..."
🔠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 theRequestBuilder
to build a request for testing purposes. Details can be found in pull request #11571.A few words on Play's compatibility with sbt 1.8 🔧
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
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 usePlayNonBlockingInteractionMode
with sbt 1.8 then (which probably not many people do anyway)Further roadmap 🗺️
...news coming soon...
Merged pull requests
Following pull requests got merged for this release:
2.4.x
serias #11524) by @ihostageset-output
#11518 [2.8.x] Use environment file insteadset-output
by @ihostageFor more details see the full list of changes and the 2.8.19 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)!
This discussion was created from the release Play 2.8.19.
Beta Was this translation helpful? Give feedback.
All reactions