Dear hakkers,

We are excited to announce a new patch release of Akka 2.5. This version
contains several new features:


   -

   Artery transport with TCP and TLS
   <https://doc.akka.io/docs/akka/current/remoting-artery.html>
   -

   StreamRefs - Reactive Streams over the Network
   <https://www.youtube.com/watch?v=WaAPNSyyAWc> (click for 5min video)
   -

   Rolling update config validation
   
<https://doc.akka.io/docs/akka/current/cluster-usage.html#configuration-compatibility-check>,
   thanks to @renatocaval <https://github.com/renatocaval>


Other notable improvements and bug fixes:


   -

   Remove unused and quarantined outbound connections in Artery (memory
   leak), #23967 <https://github.com/akka/akka/issues/23967>
   -

   Fix blocking-io-dispatcher setting in Akka Streams, #24357
   <https://github.com/akka/akka/issues/24357>
   -

   Fix bug that caused stashed timer messages to be discarded, #24557
   <https://github.com/akka/akka/issues/24557>
   -

   Fix bug in automatic unsubscribe from DistributedPubSub on actor
   termination, thanks to @naiello <https://github.com/naiello>, #24294
   <https://github.com/akka/akka/issues/24294>
   -

   Akka Streams combinators
   -

      Flow.ask, #24325 <https://github.com/akka/akka/pull/24325>
      -

      Source.lazilyAsync, thanks to @kelebra <https://github.com/kelebra>,
      #24519 <https://github.com/akka/akka/issues/24519>
      -

      Flow.lazyInit, thanks to @gosubpl <https://github.com/gosubpl>, #24427
      <https://github.com/akka/akka/issues/24427>
      -

      Flow.wireTap, thanks to @catalin-ursachi
      <https://github.com/catalin-ursachi>, #15077
      <https://github.com/akka/akka/issues/15077>
      -

      Flow.divertTo, thanks to @viktorklang <https://github.com/viktorklang>,
      #24388 <https://github.com/akka/akka/issues/24388>
      -

      Flow.alsoTo eager cancellation by default, thanks to @jeremystone
      <https://github.com/jeremystone>, #24291
      <https://github.com/akka/akka/issues/24291>
      -

      Flow.collectType thanks to @hepin1989 <https://github.com/hepin1989>,
      #24254 <https://github.com/akka/akka/issues/24254>
      -

      Allow RestartFlow/RestartSink to restart only on failures, thanks to
      @nachinius <https://github.com/nachinius>, #24421
      <https://github.com/akka/akka/issues/24421>
      -

      Higher level API for TLS over TCP, #24153
      <https://github.com/akka/akka/issues/24153>


A total of 131 issues were closed since 2.5.9. The complete list can be
found on the 2.5.10 milestone
<https://github.com/akka/akka/milestone/126?closed=1> on github.
Artery transport with TCP and TLS

Customers and users have asked for encryption in the new remoting
implementation (Artery). Rather than adding encryption to Aeron (UDP) we
decided to include an alternative transport based on Akka Streams TCP/TLS,
which shares its basic infrastructure with the Aeron (UDP) transport.

It can also be used with plain TCP without TLS, which is a good alternative
when UDP can't be used. It’s also using less CPU than Aeron when the system
is idle or at low message rates.

We have done extensive testing of the new transport, and we continuously
run all of Akka's tests for remoting and clustering with the TCP transport
in the CI environment. However, since it's a new implementation the TCP/TLS
transport is not ready for usage in production yet, but please test it and
report any issues.

You find more information and instructions of how to enable TCP or TLS in
Artery in the documentation
<https://doc.akka.io/docs/akka/current/remoting-artery.html>.
StreamRefs - Reactive Streams over the network

Stream references, or “stream refs” for short, allow running Akka Streams
across multiple nodes within an Akka Cluster.

The screencast <https://www.youtube.com/watch?v=WaAPNSyyAWc> should give
you a good overview of this exciting feature.

The prime use case for stream refs is to replace raw actor or HTTP
messaging between systems where a long running stream of data is expected
between two entities. Often times, they can be used to effectively achieve
point to point streaming without the need of setting up additional message
brokers or similar secondary clusters.

Stream refs are well suited for any system in which you need to send
messages between nodes and need to do so in a flow-controlled fashion.
Typical examples include sending work requests to worker nodes, as fast as
possible, but not faster than the worker node can process them, or sending
data elements which the downstream may be slow at processing. It is
recommended to mix and introduce stream refs in Actor messaging based
systems, where the actor messaging is used to orchestrate and prepare such
message flows, and later the stream refs are used to do the flow-controlled
message transfer.

You find more details in the documentation
<https://doc.akka.io/docs/akka/current/stream/stream-refs.html>.
Akka Typed

There are several breaking changes since 2.5.8 and 2.5.9 in the
under-development “may change” Akka Typed module. Most of the development
has been completed and from now on only minor adjustments in the APIs are
expected. Akka Typed 2.5.10 should be stable enough to start using for
development.

Our goal is to ship a production ready version of Akka Typed soon and
therefore we have removed the new runtime implementation and initially only
support running typed actors with the underlying untyped actor system. See
the Coexistence
<https://doc.akka.io/docs/akka/current/typed/coexisting.html> documentation.

Some major structural changes to Akka Typed have been done, such as
splitting up in separate modules e.g. akka-actor-typed with package root
akka.actor.typed, and akka-cluster-typed with package akka.cluster.typed.

Other notable improvements of Akka Typed:


   -

   New documentation
   <https://doc.akka.io/docs/akka/current/typed/index.html>, including a
   useful Interactions Patterns
   <https://doc.akka.io/docs/akka/current/typed/interaction-patterns.html>
   section
   -

   TestKits <https://doc.akka.io/docs/akka/current/typed/testing.html> for
   synchronous and asynchronous testing
   -

   Improved Persistence API
   <https://doc.akka.io/docs/akka/current/typed/persistence.html>
   -

   Improved Receptionist API
   <https://doc.akka.io/docs/akka/current/typed/actor-discovery.html>
   -

   Integration with Akka Streams
   <https://doc.akka.io/docs/akka/current/typed/stream.html>
   -

   Support for stashing
   <https://doc.akka.io/docs/akka/current/typed/stash.html>
   -

   Factory methods in Actor moved to Behaviors e.g. Actor.immutable renamed
   to Behaviors.immutable
   -

   deferred renamed to setup
   -

   ctx.spawnAdapter replaced by ctx.messageAdapter and ctx.ask


Credits

For this release we had the help of 36 committers – thank you all very much!

commits  added  removed

    38   9046     3376 Patrik Nordwall

    32   8484     2425 Johan Andrén

    17  13258     4738 Konrad `ktoso` Malawski

    16   2653      535 Christopher Batey

    14    622      148 Johannes Rudolph

    13    653      185 Arnout Engelen

     8    514      259 Martynas Mickevičius

     5    300       97 Richard Imaoka

     3    428      760 Catalin Ursachi

     3    104       39 Roman Filonenko

     3     46       23 Josep Prat

     2    781       10 gosubpl

     2    270       26 Viktor Klang (√)

     2    135       33 Stefano Bonetti

     2      5        5 Song Kun

     1   4811      102 Renato Cavalcanti

     1    198        9 虎鸣

     1    141       10 Ignacio (nachinius) Peixoto

     1    110        0 Oleksii Tkachuk

     1    101        3 Evgeny Veretennikov

     1     59       26 jeremystone

     1     51        6 Albert Serrallé Ríos

     1     55        1 Anil Gursel

     1     33       10 Arron Norwell

     1     31        7 pwliwanow

     1     36        0 Nick Aiello

     1     11       11 Denys Zadorozhnyi

     1     19        2 ryota-sakamoto

     1      1        7 James Roper

     1      4        4 Victor Hiairrassary

     1      5        2 Daniel Urban

     1      1        2 Sebastian Harko

     1      1        1 Fredrik Meyer

     1      1        1 Ryan C. Hill

     1      1        1 Marc Piechura

     1      1        0 Julien Broi



Happy hakking!

– The Akka Team


-- 

Patrik Nordwall
Akka Tech Lead
Lightbend <http://www.lightbend.com/> -  Reactive apps on the JVM
Twitter: @patriknw

-- 
>>>>>>>>>>      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+unsubscr...@googlegroups.com.
To post to this group, send email to akka-user@googlegroups.com.
Visit this group at https://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.

Reply via email to