All Versions
88
Latest Version
Avg Release Cycle
28 days
Latest Release
735 days ago

Changelog History
Page 7

  • v1.3.2 Changes

    October 20, 2017

    ๐Ÿš€ Maintenance Release for Akka.NET 1.3

    ๐Ÿ›  Updates and bugfixes:

    • ๐Ÿ›  Bugfix: Akka incorrectly schedules continuations after .Ask, causing deadlocks and/or delays
    • ๐Ÿ›  Bugfix: ByteString.ToString is sometimes broken for Unicode encoding
    • ๐Ÿ›  Bugfix: ClusterShardingMessageSerializer Exception after upgrade from 1.2.0 to 1.3.1
    • ๐Ÿ›  Bugfix: Fix an inconstant ToString on ConsistentRoutee when the node is remote vs. local
    • ๐Ÿ“š Various documentation fixes
    • ๐Ÿ”€ Akka.Streams: Implement MergePrioritized
    • Akka.Streams: Implement Restart Flow/Source/Sink
    • โšก๏ธ Akka.TestKit.Xunit: updated xunit dependency to 2.3.0 stable.
    • ๐Ÿšš Akka.Cluster.TestKit: removed dependency on Akka.Tests.Shared.Internals
    COMMITS LOC+ LOC- AUTHOR
    9 137 59 Aaron Stannard
    8 2713 997 Alex Valuyskiy
    3 486 95 Bartosz Sypytkowski
    3 12 12 Sebastien Bacquet
    2 33 7 ravengerUA
    2 184 102 Arjen Smits
    1 71 7 Adam Friedman
    1 7 4 Sam Neirinck
    1 604 481 zbynek001
    1 6 6 Kenneth Ito
    1 42 3 Lukas Rieger
    1 40 2 Joshua Benjamin
    1 4 5 derrickcrowne
    1 3 2 Mikhail Moussikhine
    1 20 0 Arturo Sevilla
    1 2 0 Pawel Banka
    1 17 11 planerist
    1 1 4 lesscode

    You can view the full v1.3.2 change set here.

  • v1.3.1 Changes

    September 05, 2017

    ๐Ÿš€ Maintenance Release for Akka.NET 1.3

    ๐Ÿ›  Updates and bugfixes:

    • ๐Ÿ›  Bugfix: Hyperion NuGet package restore creating duplicate assemblies for the same version inside Akka
    • ๐Ÿ“š Various documentation fixes and updates
    • ๐Ÿ›  Bugfix: issue where data sent via UDP when ByteString payload had buffers with length more than 1, UdpSender only wrote the first part of the buffers and dropped the rest.
    • ๐Ÿ›  Bugfix: Akka.IO.Tcp failed to write some outgoing messages.
    • ๐Ÿ‘Œ Improved support for OSX & Rider
    • ๐Ÿ›  Bugfix: Akka.Persistence support for SerializerWithStringManifest required by Akka.Cluster.Sharding and Akka.Cluster.Tools
      • Akka.Persistence.Sqlite and Akka.Persistence.SqlServer were unable to support SerializerWithStringManifest, so using Akka.Cluster.Sharding with Sql plugins would not work.
    • ๐Ÿ›  Bugfix: Akka.Streams generic type parameters of the flow returned from current implementation of Bidiflow's JoinMat method were incorrect.
    • ๐Ÿ›  Bugfix: PersistenceMessageSerializer was failing with the wrong exception when a non-supported type was provided.

    โš  Akka.Persistence backwards compability warning:

    • โšก๏ธ Akka.Persistence.Sql introduces an additional field to the schema used by Sql-based plugins to allow for the use of SerializerWithStringManifest called serializer_id. It requires any previous Sql schema to be updated to have this field. Details are included in the Akka.Persistence.Sqlite plugin README.md file. Users of the Akka.Persistence.Sqlite plugin must alter their existing databases to add the field serializer_id int (4):
    ALTER TABLE {your_event_journal_table_name} ADD COLUMN `serializer_id` INTEGER ( 4 )
    ALTER TABLE {your_snapshot_table_name} ADD COLUMN `serializer_id` INTEGER ( 4 )
    

    ๐Ÿ‘€ See the full set of Akka.NET 1.3.1 fixes here.

  • v1.3.0 Changes

    August 11, 2017

    ๐Ÿ”‹ Feature Release for Akka.NET ๐Ÿš€ Akka.NET 1.3.0 is a major feature release that introduces the significant changes to Akka.NET and its runtime.

    ๐Ÿ‘ .NET Core and .NET Standard 1.6 Support ๐Ÿš€ This release introduces support for .NET Standard 1.6 for our core libraries and .NET Core 1.1 for the MultiNode Test Runner standalone executable. All packages for Akka.NET are dual-released under both .NET 4.5 and .NET Standard 1.6.

    ๐Ÿ— As a side note: Akka.NET on .NET 4.5 is not wire compatible with Akka.NET on .NET Core; this is due to fundamental changes made to the base types in the CLR on .NET Core. It's a common problem facing many different serializers and networking libraries in .NET at the moment. You can use a X-plat serializer we've developed here: https://github.com/akkadotnet/akka.net/pull/2947 - please comment on that thread if you're considering building hybrid .NET and .NET Core clusters.

    ๐Ÿš€ Akka.Persistence Released to Market โšก๏ธ Akka.Persistence has graduated from beta status to stable modules and its interfaces are now considered to be stable. We'll begin updating all of the Akka.Persistence plugins to stable and to add .NET Standard / .NET 4.5 support to each of them as well following this patch.

    ๐Ÿ“š DocFx-based Documentation Site ๐Ÿ“š Documentation is now generated using DocFx and compiled from within the Akka.NET project rather than a separate documentation repository.

    API Changes This release does not maintain wire format compatibility with the previous release (v1.2.3) inside Akka.Remote; primarily this is due to having to upgrade from Google Protobuf2 to Protobuf3 in order to add .NET Standard support, but we've also taken the liberty of making other serialization improvements while we're at it. So be advised that during an upgrade from 1.2.* to 1.3.* there will be periods of network disruption between nodes using different versions of the service.

    ๐ŸŽ Akka.Remote Performance Improvements Akka.Remote's throughput has been significantly increased.

    ๐Ÿ‘€ See the full set of Akka.NET 1.3.0 fixes here.

    COMMITS LOC+ LOC- AUTHOR
    64 7109 2670 Marc Piechura
    61 2420 6703 Nick Chamberlain
    46 2316 10066 Aaron Stannard
    42 56428 85473 Alex Valuyskiy
    32 7924 9483 ravengerUA
    31 17284 13592 Bartosz Sypytkowski
    25 2527 1124 Gregorius Soedharmo
    21 7810 1688 zbynek001
    11 1932 2167 Sean Gilliam
    9 946 219 Arjen Smits
    4 679 105 alexvaluyskiy
    4 344 6 Lealand Vettleson
    4 1644 2210 Arkatufus
    3 32 6 Lukas Rieger
    3 153 17 Quartus Dev
    2 8 11 Pawel Banka
    2 4866 12678 olegz
    2 1148 176 Ismael Hamed
    1 62 5 Mikhail Kantarovskiy
    1 4 2 tstojecki
    1 22 2 Maxim Cherednik
    1 1 1 Sean Killeen
  • v1.2.3 Changes

    July 07, 2017

    ๐Ÿš€ Maintenance Release for Akka.NET 1.2

    Resolves a bug introduced in Akka.NET 1.2.2 that caused Akka.Remote to not terminate properly under some conditions during ActorSystem.Terminate.

    ๐Ÿ‘€ See the full set of Akka.NET 1.2.3 fixes here.

    COMMITS LOC+ LOC- AUTHOR
    3 46 63 Aaron Stannard
  • v1.2.2 Changes

    June 28, 2017

    ๐Ÿš€ Maintenance Release for Akka.NET 1.2

    ๐Ÿ›  Finally, fully resolves issues related to Akka.Cluster nodes not being able to cleanly leave or join a cluster after a period of network instability. Also includes some minor fixes for clustered routers and Akka.Persistence.

    ๐Ÿ‘€ See the full set of Akka.NET 1.2.2 fixes here.

    COMMITS LOC+ LOC- AUTHOR
    13 589 52 Aaron Stannard
  • v1.2.1 Changes

    June 22, 2017

    ๐Ÿš€ Maintenance Release for Akka.NET 1.2

    Resolves issues related to Akka.Cluster nodes not being able to cleanly leave or join a cluster after a period of network instability.

    ๐Ÿ‘€ See the full set of Akka.NET 1.2.1 fixes here.

    COMMITS LOC+ LOC- AUTHOR
    15 1362 753 alexvaluyskiy
    7 635 1487 ravengerUA
    7 1966 764 Nick Chamberlain
    4 420 345 Aaron Stannard
    3 18715 999 Alex Valuyskiy
    2 1943 3492 Sean Gilliam
    2 104 24 Jaskula Tomasz
    1 6 10 Szer
    1 20 25 Lealand Vettleson
  • v1.2.0 Changes

    April 11, 2017

    ๐Ÿ”‹ Feature Release for Akka.NET ๐Ÿš€ Akka.NET 1.2 is a major feature release that introduces the following major changes:

    Akka.Remote now uses DotNetty for its transport layer โฌ†๏ธ The biggest change for 1.2 is the removal of Helios 2.0 as the default transport and the introduction of DotNetty. The new DotNetty transport is fully backwards compatible with the Helios 1.4 and 2.* transports, so you should be able to upgrade from any Akka.NET 1.* application to 1.2 without any downtime. All of the helios.tcp HOCON is also supported by the DotNetty transport, so none of that needs to updated for the DotNetty transport to work out of the box.

    ๐Ÿ‘ In addition, the DotNetty transport supports TLS, which can be enabled via the following HOCON:

    akka {
      loglevel = DEBUG
      actor {
        provider = Akka.Remote.RemoteActorRefProvider,Akka.Remote
      }
      remote {
        dot-netty.tcp {
          port = 0
          hostname = 127.0.0.1
          enable-ssl = true
          log-transport = true
          ssl {
            suppress-validation = true
            certificate {
              # valid ssl certificate must be installed on both hosts
              path = "<valid certificate path>" 
              password = "<certificate password>"
              # flags is optional: defaults to "default-flag-set" key storage flag
              # other available storage flags:
              #   exportable | machine-key-set | persist-key-set | user-key-set | user-protected
              flags = [ "default-flag-set" ] 
            }
          }
        }
      }
    }
    

    ๐Ÿ”’ You can read more about Akka.Remote's TLS support here.

    ๐Ÿ‘€ See the complete DotNetty transport HOCON here.

    Akka.Streams and Akka.Cluster.Tools RTMed Akka.Streams and Akka.Cluster.Tools have graduated from beta status to stable modules and their interfaces are now considered to be stable.

    CoordinatedShutdown โฑ One of the major improvements in Akka.NET 1.2 is the addition of the new CoordinatedShutdown plugin, which is designed to make it easier for nodes that are running Akka.Cluster to automatically exit a cluster gracefully whenever ActorSystem.Terminate is called or when the process the node is running in attempts to exit. CoordinatedShutdown is fully extensible and can be used to schedule custom shutdown operations as part of ActorSystem termination.

    ๐Ÿ“„ You can read more about how to use CoordinatedShutdown here.

    โž• Additional Changes ๐Ÿ“š In addition to the above changes, there have been a large number of performance improvements, bug fixes, and documentation improvements made to Akka.NET in 1.2. Read the full list of changes in Akka.NET 1.2 here.

    COMMITS LOC+ LOC- AUTHOR
    17 4840 4460 Alex Valuyskiy
    16 4046 1144 Aaron Stannard
    12 8591 2984 Sean Gilliam
    6 971 1300 Sergey
    5 6787 2073 Bartosz Sypytkowski
    4 6461 8403 Arjen Smits
    4 333 125 ravengerUA
    3 71 65 Marc Piechura
    3 300 24 Nick Chamberlain
    2 79 40 Maxim Salamatko
    2 305 20 Ismael Hamed
    1 136 12 Sergey Kostrukov
    1 1015 45 Lukas Rieger
    1 1 0 siudeks
  • v1.1.3 Changes

    January 22, 2017

    ๐Ÿš€ Maintenance release for Akka.NET v1.1

    ๐Ÿ›  Akka.NET v1.1.3 features some new libraries and an enormous number of bug fixes.

    Akka.DistributedData Beta ๐Ÿ”€ First, we've introduced an alpha of a new module intended for use with Akka.Cluster: Akka.DistributedData. The goal of this library is to make it possible to concurrently read and write replicated copies of the same entity across different nodes in the cluster using conflict-free replicated data types, often referred to as "CRDTs." These replicas can eventually be merged together in a fully consistent manner and are excellent choices for applications that require a high level of availability and partition tolerance.

    ๐Ÿšง The library is still a bit of a work in progress at the moment, but you are free to use it via the following command:

    PS> Install-Package Akka.DistributedData -pre
    

    ๐Ÿ—„ Akka.Serialization.Wire Deprecated; Replaced with Akka.Serialization.Hyperion ๐Ÿ‘€ Wire recently changed its license to GPLv3, which is a poor fit for a technology like Akka.NET. Therefore, our default serializer beginning in Akka.NET 1.5 will be Hyperion instead. You can see how to set it up here: http://getakka.net/docs/Serialization#how-to-setup-hyperion-as-default-serializer

    ๐ŸŽ Other bug fixes, performance improvements, and changes ๐Ÿ‘€ You can see the full list of changes in Akka.NET 1.1.3 here.

    COMMITS LOC+ LOC- AUTHOR
    19 878 228 Aaron Stannard
    10 41654 3428 Sean Gilliam
    5 11983 4543 Marc Piechura
    4 37 33 Arjen Smits
    4 12742 300 Bartosz Sypytkowski
    3 144 74 Max
    2 99 8 ZigMeowNyan
    2 7 7 zbynek001
    2 4 2 Andrey Leskov
    2 225 767 Alex Valuyskiy
    2 212 8 Gordey Doronin
    1 8 499 Sean Farrow
    1 5 5 tomanekt
    1 4 2 Andrew Young
    1 3 2 boriskreminskimoldev
    1 28 3 Roman Eisendle
    1 24 36 Maxim Salamatko
    1 2 2 Jeff
    1 190 38 Sergey
    1 15 9 voltcode
    1 12 2 Alexander Pantyukhin
    1 107 0 Mikhail Kantarovskiy
    1 101 0 derrickcrowne
  • v1.1.2 Changes

    September 21, 2016

    ๐Ÿš€ Maintenance release for Akka.NET v1.1

    Akka.NET 1.1.2 introduces some exciting developments for Akka.NET users.

    ๐Ÿ”ง Mono Support and Improved IPV4/6 Configuration ๐Ÿš€ First, Akka.NET 1.1.2 is the first release of Akka.NET to be production-certified for Mono. We've made some changes to Akka.Remote, in particular, to design it to work within some of the confines of Mono 4.4.2. For instance, we now support the following HOCON configuration value for the default Helios TCP transport:

     helios.tcp {
          # Omitted for brevity
          transport-protocol = tcp
    
          port = 2552
    
          hostname = ""
    
          public-hostname = ""
    
          dns-use-ipv6 = false
          enforce-ip-family = false
    }
    

    ๐Ÿ helios.tcp.enforce-ip-family is a new setting added to the helios.tcp transport designed to allow Akka.Remote to function in environments that don't support IPV6. This includes Mono 4.4.2, Windows Azure WebApps, and possibly others. When this setting is turned on and dns-use-ipv6 = false, all sockets will be forced to use IPV4 only instead of dual mode. If this setting is turned on and dns-use-ipv6 = true, all sockets opened by the Helios transport will be forced to use IPV6 instead of dual-mode.

    ๐Ÿš€ Currently, as of Mono 4.4.2, this setting is turned on by default. Mono 4.6, when it's released, will allow dual-mode to work consistently again in the future.

    โœ… We run the entire Akka.NET test suite on Mono and all modules pass.

    Akka.Cluster Downing Providers ๐Ÿ”ง We've added a new feature to Akka.Cluster known as a "downing provider" - this is a pluggable strategy that you can configure via HOCON to specify how nodes in your Akka.NET cluster may automatically mark unreachable nodes as down.

    0๏ธโƒฃ Out of the box Akka.Cluster only provides the default "auto-down" strategy that's been included as part of Akka.Cluster in the past. However, you can now subclass the Akka.Cluster.IDowningProvider interface to implement your own strategies, which you can then load through HOCON:

  • v1.1.1 Changes

    July 15, 2016

    ๐Ÿš€ Maintenance release for Akka.NET v1.1

    โฌ†๏ธ Akka.NET 1.1.1 addresses a number of bugs and issues reported by end users who made the upgrade from Akka.NET 1.0.* to Akka.NET 1.1.

    DNS improvements โฌ†๏ธ The biggest set of fixes included in Akka.NET 1.1.1 deal with how the Helios transport treats IPV6 addresses and performs DNS resolution. In Akka.NET 1.0.* Helios only supported IPV4 addresses and would use that as the default for DNS. In Akka.NET 1.1 we upgraded to using Helios 2.1, which supports both IPV6 and IPV4, but changed the default DNS resolution strategy to use IPV6. This caused some breakages for users who were using the public-hostname setting inside Helios in combination with a hostname value that used an IPV4 address.

    0๏ธโƒฃ This is now fixed - Akka.NET 1.1.1 uses Helios 2.1.2 which defaults back to an IPV4 DNS resolution strategy for both inbound and outbound connections. We've also fixed the way we encode and format IPV6 addresses into ActorPath and Address string representations (although we still have an issue with parsing IPV6 from HOCON.)

    If you need to use IPV6 for DNS resolution, you can enable it by changing the following setting:

    akka.remote.helios.tcp.dns-use-ipv6 = true

    ๐Ÿ‘€ You can see the full list of Akka.NET 1.1.1 changes here.