Announcing Play 2.1.2

1,714 views
Skip to first unread message

James Roper

unread,
Jul 5, 2013, 9:06:06 PM7/5/13
to play-framework
The Play team are proud to announce the release of Play 2.1.2.  This release fixes a number of bugs and performance issues, including:

810 - Fixed XPath.selectText regression
820, 1229 - Made matching of Accept-Language headers spec compliant
839 - Ensured application loading is not done on a Netty thread
851 - Ensured Java actions use the right context classloader
924 - Allowed charset parameter to have quotes
945 - Fixed HTTP pipelining support
959 - Ensured chunked and stream results terminate
978 - Safe handling of incorrectly encoded URL paths
984 - Support for config.resource system property in dev mode
1050 - Switched to Scala ForkJoin pool
1090 - Performance improvements
1152 - Fixed 100-continue support

For full details of what has changed, please see here:


Furthermore, we've now published and will maintain a changelog for all stable versions since 2.1.0, you can find that here:


The new version can be downloaded from here:


Enjoy!

Regards,

James

--
James Roper
Software Engineer

Typesafe – Empowering professional developers to build amazing apps.
Twitter: @jroper

Matthias Nehlsen

unread,
Jul 6, 2013, 7:47:22 AM7/6/13
to play-fr...@googlegroups.com
Hi James,

Thank you for your work on this. I have found an issue though that might be related to pull request #959. 

I would like to log when SSE connections start and stop. With 2.1.1, this works:

/** Enumeratee for detecting disconnect of SSE stream */
def connDeathWatch(addr: String): Enumeratee[JsValue, JsValue] = Enumeratee.onIterateeDone{ () => println(addr + " - SSE disconnected") }

/** Controller action serving activity based on room */
def chatFeed(room: String) = Action { req =>
  println(req.remoteAddress + " - SSE connected")
  Ok.stream(chatOut &> filter(room) &> Concurrent.buffer(50) &> connDeathWatch(req.remoteAddress) &> EventSource()).as("text/event-stream") 
}

I would get this as expected:

0:0:0:0:0:0:0:1%0 - SSE connected
0:0:0:0:0:0:0:1%0 - SSE disconnected

But with 2.1.2, the Enumeratee.onIterateeDone is not triggered when the browser window is closed. Do you have any idea what the problem could be?

Here is the whole project if you want to have a look:

You mentioned in the comments section of #959 three months ago that you'll be getting rid of ChunkedResult soon anyways. Is there any more information on this anywhere? What will the replacement be?

Thanks,
Matthias 

Christopher Hunt

unread,
Jul 12, 2013, 12:16:26 AM7/12/13
to play-fr...@googlegroups.com
Hi Matthias,

I'll have a look and see what's going on here.

Meanwhile can I please get you to raise an issue for this one so can track things?

Thanks!

Kind regards,
Christopher

Christopher Hunt

unread,
Jul 12, 2013, 1:22:48 AM7/12/13
to play-fr...@googlegroups.com
Hi Matthias,

I just checked out your project and ran it against a local build of 2.1 checked out at the 2.1.2 tag. I cannot reproduce the issue. Here's my console output when running against 2.1.2:

play! 2.1-SNAPSHOT (using Java 1.7.0_12-ea and Scala 2.10.0), http://www.playframework.org

> Type "help play" or "license" for more information.
> Type "exit" or use Ctrl+D to leave this console.

[sse-chat] $ run

--- (Running the application from SBT, auto-reloading is enabled) ---

[info] play - Listening for HTTP on /0:0:0:0:0:0:0:0:9000

(Server started, use Ctrl+D to stop and go back to the console...)

[info] play - Application started (Dev)
0:0:0:0:0:0:0:1 - SSE connected
0:0:0:0:0:0:0:1 - SSE disconnected

The disconnection can sometimes take a second or so, but as per the above I'm definitely seeing it. If you continue to see the issue then please raise an issue.

Thanks.

Kind regards,
Christopher

-- 
Christopher Hunt
Senior Engineer
Typesafe – Build Reactive Apps on the JVM!

Twitter: @huntchr

Matthias Nehlsen

unread,
Jul 12, 2013, 3:15:10 AM7/12/13
to play-fr...@googlegroups.com
Hi Christopher,

Thanks for looking into this. Did you set the sbt-plugin in the project to 2.1.2? With that remaining at 2.1.1 everything works fine for me, also when using the official 2.1.2 version. Here's my output when updating that setting:

play! 2.1.2 (using Java 1.7.0_25 and Scala 2.10.0), http://www.playframework.org

> Type "help play" or "license" for more information.
> Type "exit" or use Ctrl+D to leave this console.

[sse-chat] $ run

--- (Running the application from SBT, auto-reloading is enabled) ---

[info] play - Listening for HTTP on /0:0:0:0:0:0:0:0:9000

(Server started, use Ctrl+D to stop and go back to the console...)

[info] play - Application started (Dev)
0:0:0:0:0:0:0:1 - SSE connected
0:0:0:0:0:0:0:1 - SSE connected

I am refreshing the connection in the browser in the output above and the disconnect event is never triggered. With 2.1.1 there would be the disconnect event in between, the way you have seen it. 

Thanks,
Matthias

Christopher Hunt

unread,
Jul 12, 2013, 3:32:20 AM7/12/13
to play-fr...@googlegroups.com, play-fr...@googlegroups.com
Hi Matthias

Yep, I changed the plugin...

I tested by closing the browser tab... You're refreshing though so I might try that. It could be a timing issue..  

Meanwhile we should jump off this thread and discuss this as an issue. I'm out and about presently. Could I encourage you to raise an issue?

Thanks.

Kind regards
Christopher

Sent from my iPhone
--
You received this message because you are subscribed to a topic in the Google Groups "play-framework" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/play-framework/IUWTfhf8Si4/unsubscribe.
To unsubscribe from this group and all its topics, send an email to play-framewor...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Matthias Nehlsen

unread,
Jul 12, 2013, 4:32:03 AM7/12/13
to play-fr...@googlegroups.com
Thanks, issue #1332 raised. Refreshing or closing doesn't make a difference here on my Mac (or Ubuntu server, for that matter). 
-Matthias

John Papadakis

unread,
Jul 15, 2013, 5:53:08 AM7/15/13
to play-fr...@googlegroups.com

In Play 2.1.2  the play.akka.actors configuration changed to akka.actors. At least this is the only way that play could locate the dispatchers. Is this change documented? Thanks

Jeetu raaz

unread,
Jul 15, 2013, 6:58:04 AM7/15/13
to play-fr...@googlegroups.com
Hi,
   is HTTPS supported in play 2.1 ?

James Roper

unread,
Jul 16, 2013, 3:51:40 AM7/16/13
to play-framework
On Mon, Jul 15, 2013 at 7:53 PM, John Papadakis <papa...@gmail.com> wrote:

In Play 2.1.2  the play.akka.actors configuration changed to akka.actors. At least this is the only way that play could locate the dispatchers. Is this change documented? Thanks

Actually that was fixing a regression in 2.1.1, where it changed from akka.actors to play.akka.actors.  The ticket was here:

 
--
You received this message because you are subscribed to the Google Groups "play-framework" group.
To unsubscribe from this group and stop receiving emails from it, send an email to play-framewor...@googlegroups.com.

For more options, visit https://groups.google.com/groups/opt_out.
 
 



--
James Roper
Software Engineer

Typesafe – Build reactive apps!
Twitter: @jroper
Reply all
Reply to author
Forward
0 new messages