Is Akka.Net going to be backward compatible over the years to come ? #7406
-
We are about to design a SDK that will use inter process communication (IPC - either local on the same PC or remotely over a local network) from our customers programmed Client-App to our provided Server-App (we will also provide the customer some Client-Apps that are developed by us using the same SDK, running on the same Client PC). Will it be safe for us to evolve our Server-App using the ever newest Akka.Net NuGet and deploy it onto the customers Site without the customer having to recompile their Client-App (and thus using an older Akka.Net NuGet than the one, we are running in the Server-Process) ? The Client-App will very likely have a much slower evolution than our Server-App (sometimes being "back" for months or even years without being recompiled). At the same time we will very likely also evolve our own Client-Apps (that the client also uses alongside with their own ones...) that will benefit from the updated Server Version. So the "worst" case would even be a customer-app using an old Nuget (and Akka.Net) version at the same time that a client app uses a newer Nuget, with the same newer Akka.Net Version, that also the server Process uses. I already watched the "Message and State Versioning in .NET (Using Akka.NET)" Video and understand that for this to work we need to provide our own Serializer using protobuf, and version our "over the wire" messages correctly. Thanks for any Ideas ! |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
@DSanchen in the early part of this year we're going to publish our official version lifetime policies and so on, but the short answer is this:
We are planning on radically redesigning this in v1.6 to solve several long-standing performance problems. Otherwise the wire format has been backwards compatible for 10 years. You can still opt-in to using that old wire format too. |
Beta Was this translation helpful? Give feedback.
@DSanchen in the early part of this year we're going to publish our official version lifetime policies and so on, but the short answer is this:
We are planning on radically redesigning this in v1.6 to solve several long-standing performance problems. Otherwise the wire format has been backwards compatible for 10 years. You can still opt-in to using that old wire format too.