EventStore - what version to use?

Viewed 335
  • Could any one explain why there are 2 actual versions of EventStore (20.6.1 and 5.0.9)?
  • What is the difference between them ?
  • What version for what goals should we use?
3 Answers

The main difference between 20.x and 5.x is the addition of the gRPC transport in 20.6.0. All of the other transports - TCP and ATOM - have been deprecated. Eventually 5.x will go out of support.

I'd like to add a couple of things to the answers provided by my colleagues.

First, v5.0.9 and v20.10 are both LTS (long-term support). Look at Ubuntu (already mentioned by Chris), it has a few currently supported LTS versions. By definition, LTS versions will get fixes, that's why v5 releases keep coming these days.

Then, v20+ has a lot of major changes, some were mentioned by Joao, and I'd like to list them all:

  • Secure by default. v20+ expect to run with SSL, unlike v5, which is insecure by default. v20 can run in the insecure mode for non-production load, but it disables both authentication and authorisation.
  • gRPC is the new norm. We want to phase out TCP and ATOM Pub protocols. gRPC clients are available for quite a few tech stacks, not only .NET. We have supported clients for .NET, Java, NodeJS, Rust, Huskel, and more might be coming.
  • v20 doesn't use Mono, which still has quite a few internal issues. It makes v20+ more stable and more performant.

Currently Event Store offers support on the 2 most recent major versions to allow users with production deployments a reasonable support window before needing to upgrade.

The Release naming convention convention recently changed to a [year].[month] model similar to what ubuntu does.

So the 20.6.1 version is simply the next release and would have been called 6.0.1 in the old version naming convention.

You should target the current 20.10.0 release for all uses.
Versioning strategy writeup

Related