Tuesday, 12 April 2016

Akka Framework 2.4.0 New Features

Introduction


In this post, we will list out Akka Framework 2.4.0 Release new features and improvements.

This is release for Scala 2.11 and Java SE 8. It also supports Scala 2.12 latest version.

NOTE:- Will try to deliver a Tutorial on Akka Framework soon through my new blog:


https://rams4scala.wordpress.com

Akka 2.4.0 release have the following new features or improvements:

  1. dropped support for Java 6 & 7 as announced in the last roadmap update, and now require Java 8 or later
  2. dropped support for Scala 2.10, kept 2.11 and added 2.12 (which is at milestone 2 currently); this is in keeping with our policy to support the Scala version that is “current” when the first milestone comes out plus any later version that is published during this series’ lifetime
  3. Akka Persistence was promoted to a fully supported module (not experimental)
  4. added experimental stream based API for the Query Side of Akka Persistence (implementations must be provided by query plugins corresponding to the journal plugins for the various data stores)
  5. improved support for Akka Persistence event migrations by Serializer with String Manifest and Event Adapters and prepared comprehensive documentation of strategies for schema evolution of persistent events
  6. made Akka Persistence failure handling more robust and support rejections of events
  7. Akka Persistence can now use multiple different Journals within one ActorSystem (thanks to Andrei Pozolotin, who also split out ClusterMetrics into their own module)
  8. introduced Persistent FSM, thanks to an awesome contribution from leonidb
  9. simplified setting up Akka Clusters behind NAT (including inside Docker containers)
  10. added the experimental Akka Typed module previously codenamed Project GĂ„lbma, a new way of formulating Actor interactions with full type-system support
  11. promoted the ClusterSingleton, ClusterClient, DistributedPubSub and ClusterSharding patterns to fully a supported Cluster Tools module, including various API and configuration improvements
  12. ClusterSharding also learnt a few new tricks (graceful shutdown, asynchronous shard allocation, reviving entries after migration thanks to Dominic Black, and more flexible use of roles [thanks to Richard Marscher)
  13. ClusterClient now uses custom failure detection to avoid quarantining in case of transient network failures
  14. added experimental Akka Distributed Data which was previously known as Akka Data Replication (see akka-data-replication migration guide), the Distributed Data module is useful for sharing eventually consistent data (CRDTs) between nodes in an Akka Cluster
  15. new experimental feature that makes it possible to promote new members to WeaklyUp during network partitions, thanks to Hector Veiga for contributing
  16. the SLF4J logging adapter can now apply the log filtering rules prior to sending to the EventStream, see the migration guide
  17. make it possible to use any version of Protobuf for serialization of application messages, the internal dependency to Protobuf has been replaced by embedding a shaded (renamed package) version, if you use Protobuf in your application you need to add the dependency to your build, see migration guide
  18. but the biggest feature is probably that Akka 2.4 will be binary backwards compatible with Akka 2.3, see the detailed description below.


Thank you. 

I will try to deliver some posts with useful examples in my coming posts.