.NET Standard, Akka.Persistence RTM, and More

Current State of Akka.NET

First, our previous Akka.NET roadmap from 2016. We accomplished most of what we wanted to achieve on that roadmap, but the exact releases and the dates are all over the place. So just to review what’s happened since this roadmap was written:

You’ll notice that many of the things we promised in Akka.NET 1.5, such as TLS support did not happen in that order and some proposed changes, such as a new default serializer, have not happened yet.

Without getting too deep into the details, the release of .NET Core in the summer of 2016 had to be factored into our roadmap and we wanted to add support for .NET Standard in 1.5. As we later discovered, adding .NET Standard support that early turned out to be a bit premature: the .NET Standard / .NET Core + tooling rodeo was an unmanageable mess in 2016.

Now that Visual Studio 2017 is out and many of the other libraries we depend on all support .NET Standard / .NET Core, it’s a much easier proposition for us to implement.

2017 Akka.NET Roadmap

We gathered responses from ~200 Akka.NET users and that information has proven to be instrumental in prioritizing our roadmap for 2017, and I’d like to turn your attention to this answer chart from question 6 of the survey: “What platform(s) are you intending to use with Akka.NET?”

This question allowed for respondents to select multiple answers, but the trend here is clear: there’s a lot of demand for being able to run Akka.NET on .NET Core.

Akka.NET v1.3: .NET Standard Support

Therefore, it’s our pleasure to announce that the next major release of Akka.NET, v1.3, will feature RTM support for .NET Standard 1.6. Here’s the set of features roughly planned for v1.3:

Future Releases

Based on other pieces of feedback from the survey, we’re also addressing the following this year - in order of importance:

Increase Akka.Remote throughput;

Release Akka.Cluster.Sharding out of beta;

Improve documentation and examples;

Add real-world guides for deployment and devops; and

Introduce tooling for cluster management, visualization, etc…

Work is underway on all of these initiatives already and we’ll have more updates on some of these as they’re ready.

One development in particular that’s worth calling attention to now is the upcoming new default serializer: Hyperion.

Hyperion is a fork of the Wire serializer we were originally planning on using in Akka.NET 1.5 from before its switched license was switched to the GPL. It’s maintained and developed by the Akka.NET team and under its original Apache 2.0 license terms and will become the default Akka.NET serializer later this year is all goes according to plan.