ANNOUNCE: Akka 2.4.1-RC1 (including streams and http)

203 views
Skip to first unread message

Johan Andrén

unread,
Jan 26, 2016, 7:39:48 AM1/26/16
to Akka User List

Dear hakkers,

we—the Akka committers—are proud to announce the FIRST RELEASE CANDIDATE for the upcoming release of Akka 2.4.2. The main change in this release is that it includes Streams & HTTP, with the akka-stream, akka-stream-testkit, akka-parsing, and akka-http-core modules no longer being marked “experimental”. In comparison to Streams & HTTP 2.0 the main changes are:

  • significant performance improvement for HTTP handling, now reaching roughly 75% of Spray’s performance—this is not the end of the performance work, we have only just begun
  • replacement of all uses of the Unit type (represented as BoxedUnit in Java) with the more descriptive types akka.Done (for signaling successful completion) and akka.NotUsed (for materialization results of stages that do not produce a value)
  • usage of Java 8 types in the Java DSLs: java.util.Optional instead of scala.Option and java.util.concurrent.CompletionStage instead of scala.concurrent.Future

Especially the second and third point mean that porting code from Streams & HTTP 2.0 to Akka 2.4.2 will require some mechanical source code changes, please refer to the migration guide for the details. While the core team was concentration on these sweeping changes some community members; Alexander Golubev, Stefano Galarraga, Gilad Hoch and @2beaucoup to name a few, got busy contributing new functionality and improving the existing one:

  • Automatic and manual reset of the BackoffSupervisor
  • CircuitBreaker implemented as an Actor pattern
  • Noisy logging of cluster heartbeats now silenced but available through a config setting
  • A rare bug where a node joining a cluster crashed before join completed and then not being able to connect after restart was fixed
  • Option to eagerly initialize persistence plugins
  • Improved OSGi manifests for HTTP and streams
  • New stream combinators added: batch, batchWeighted, reduce and watchTermination. 
  • HTTP - server side request timeouts added
  • Connection pools no longer fail if they are limited to a single connection
  • New directives to turn a posted form to maps and sequences

We intend to release version 2.4.2 as soon as we are confident that it is reasonably bug free and the documentation is top notch as well: we are aware that the getting started experience for Streams & HTTP is not perfect in places and there are some features that are entirely missing—stay tuned for updates and please let us know of anything you find to be suboptimal.

Binary Compatibility

Akka 2.4.x is backwards binary compatible with previous 2.3.x versions (exceptions listed below). This means that the new JARs are a drop-in replacement for the old one (but not the other way around) as long as your build does not enable the inliner (Scala-only restriction). It should be noted that Scala 2.11.x is is not binary compatible with Scala 2.10.x, which means that Akka’s binary compatibility property only holds between versions that were built for a given Scala version—akka-actor_2.11-2.4.2-RC1.jar is compatible with akka-actor_2.11-2.3.14.jar but not with akka-actor_2.10-2.3.14.jar.

Binary compatibility is not maintained for the following:

  • akka-testkit, akka-multi-node-testkit and akka-persistence-tck
  • experimental modules:
    • akka-persistence-query-experimental
    • akka-distributed-data-experimental
    • akka-typed-experimental
    • akka-http-experimental
    • akka-http-testkit-experimental
    • akka-http-spray-json-experimental
    • akka-http-xml-experimental
    • akka-http-jackson-experimental
  • features, classes, methods that were deprecated in 2.3.0 or earlier and removed in 2.4.x

Credits

Thanks to the Community! For this release we had the help of 32 committers. For the full list of stats see the announcement on the web site: http://akka.io/news/2016/01/26/akka-2.4.2-RC1-released.html

Special thanks to Alexander Golubev for his involvement in the development of Akka Stream.

Happy hakking!

– The Akka Team

Johan Andrén

unread,
Jan 26, 2016, 10:55:04 AM1/26/16
to Akka User List
Darn. 

Announcement subject is wrong, 2.4.2 RC-1 of course, not 2.4.1!

--
Johan Andrén
Typesafe -  Reactive apps on the JVM
Twitter: @apnylle

Jakob Odersky

unread,
Jan 28, 2016, 12:28:36 AM1/28/16
to akka...@googlegroups.com
Is the GitHub master up to date? My project worked perfectly with
streams experimental 2.0.2 but is unable to compile with 2.4.2-RC1.

Specifically, I am implementing a custom stage and referring to
`akka.stream.stage.GraphStageLogic.getStageActorRef`. With the lastest
RC, the compiler fails: "not found: value getStageActorRef", yet the
latest source code checkout says it's there
https://github.com/akka/akka/blob/master/akka-stream/src/main/scala/akka/stream/stage/GraphStage.scala.
Am I missing something? Also, is there an online API scaladoc
available?

thanks,
--Jakob
> --
>>>>>>>>>>> Read the docs: http://akka.io/docs/
>>>>>>>>>>> Check the FAQ:
>>>>>>>>>>> http://doc.akka.io/docs/akka/current/additional/faq.html
>>>>>>>>>>> Search the archives: https://groups.google.com/group/akka-user
> ---
> You received this message because you are subscribed to the Google Groups
> "Akka User List" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to akka-user+...@googlegroups.com.
> To post to this group, send email to akka...@googlegroups.com.
> Visit this group at https://groups.google.com/group/akka-user.
> For more options, visit https://groups.google.com/d/optout.

Johan Andrén

unread,
Jan 28, 2016, 3:10:14 AM1/28/16
to akka...@googlegroups.com
Hi Jacob,

Yes, GitHub master is where we work on what will be Akka 2.4.2.

getStageActorRef has been renamed to getStageActor and the signature has changed somewhat.

The online API Scaladoc can be found here: http://doc.akka.io/api/akka/2.4.2-RC1

--
Johan Andrén
Typesafe -  Reactive apps on the JVM
Twitter: @apnylle

You received this message because you are subscribed to a topic in the Google Groups "Akka User List" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/akka-user/FOmBL6MpMsY/unsubscribe.
To unsubscribe from this group and all its topics, send an email to akka-user+...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages