This is just a quick follow up on what is going on in the Akka.NET community.
On our last core developer meeting we discussed a few topics, do note that nothing here is set in stone, things may change in the future but here are the topics we have been discussing:
Paket for dependency management
We are aiming to remove the old Nuget based dependency management for the Akka.NET project and replace it with Paket instead.
This only relates to how the project is built and how we manage dependencies internally.
The reason for this is that we are seeing problems with versioning of core dependencies, some modules have references to different versions of the same 3rd party libraries, e.g. Json.NET, ProtoBuf etc.
Switching default Serializer
Our current serializer; Json.NET have served us well for the 1.5+ years Akka.NET have been developed, however, there have been quite a few problems making play nice with F# types.
The current plan is to switch default serializer to Wire, a binary serializer specifically developed for for Akka.NET.
We are also planning to change how the default serializer handles object graphs.
Currently, we allow almost every possible object graph to be serialized and passed as a message, the original intention here was to reduce as much friction as possible for developers to design their messages.
However, that turned out to lead to some anti-patterns, were large cyclic graphs are used as messages by some users.
This will still be possible by using the old serializer to preserve backwards compatibility.
The new serializer will however not allow cyclic graphs, messages are supposed to be used for pattern matching.
Switching default Transport
Now that Microsoft have ported Netty to .NET, we plan to replace the current Helios based transport with a DotNetty based one.
This will bring us features like TLS support and fix some of the current issues that relate to message order guarantees.
Cluster Sharding, Cluster Tools and Distributed Data modules
We are working hard to bring in these modules over to .NET.
There are now working examples of Cluster Singleton in the
cluster-sharding branch of the main repository.
Bringing Akka.Cluster out of Beta
Akka.Cluster have been stable for a long time, there are however still some quirks with the MultiNode TestKit, we want to fix those before removing the beta label of the cluster module.
Stay tuned for more Akka.NET news.