We are pleased to announce the official interim release of EventStoreDB OSS & Commercial version 22.6.0.
This is an interim release and will be supported until October 2022.
Read more about our versioning strategy here.
EventStoreDB 22.6.0 is available for the following operating systems:
- Ubuntu 18.04
- Ubuntu 20.04
- Ubuntu 22.04 (preview)
- CentOS 7 (Commercial version)
- Amazon Linux 2 (Commercial version)
- Oracle Linux 7 (Commercial version)
Additionally an experimental build for ARM64 processors can be found as a Docker image here.
Ubuntu 16.04 is not supported anymore as of 21.10.0 release, more information about Ubuntu’s release and support policy can be found here.
Should I upgrade?
22.6.0 is an interim version and will only be supported until version 22.10.0 is released in October.
This means that when 22.10.0 is released, both 22.6 and 20.10 will be out of support and will no longer receive patches or fixes.
You should upgrade to EventStoreDB 22.6.0 if you want to test out or make use of the new features released in this version, or if you want to prepare for the next LTS release.
If you run 22.6.0 in production, then please bear in mind that you will need to upgrade again in October to benefit from any new fixes and patches.
Important fixes in 21.10.7
If you are not upgrading to 22.6.0, then we highly recommend keeping EventStoreDB up to date with the latest LTS patch versions.
These patches contain important fixes for cluster stability, performance, and the prevention of possible data-loss scenarios.
The upgrade can be done directly from any version of 20.10 and 21.10. There is no need to step through all of the versions, and the upgrade steps are the same as below.
20.10 going out of support soon
LTS versions of EventStoreDB are supported for a period of 2 years, which means that 20.10 will be going out of support when 22.10 is released later this year.
As such, we recommend that you either upgrade now to 21.10.7, or prepare for an upgrade to 22.10.0 later this year.
If you are remaining on 20.10 for now, then we recommend keeping up to date with the minor releases for 20.10. At the time of the 22.6.0 release, the latest version of 20.10 is 20.10.5, which contains the same important fixes and patches as 21.10.6.
To upgrade a cluster from 20.10.x or 21.10.x, a usual rolling upgrade can be done:
- Pick a node (start with the follower nodes first, then choose the leader last).
- Stop the node, upgrade it and start it.
Where Can I Get the Packages?
Downloads are available on our website.
The packages can also be installed using the following instructions.
Ubuntu 18.04/20.04 (via packagecloud)
https://packagecloud.io/install/repositories/EventStore/EventStore-OSS/script.deb.sh | sudo bash
sudo apt-get install eventstore-oss=22.6.0
Windows (via Chocolatey)
choco install eventstore-oss -version 22.6.0
Docker (via docker hub)
docker pull eventstore/eventstore:22.6.0-focal
docker pull eventstore/eventstore:22.6.0-buster-slim
Highlights for this release
Packages for Ubuntu 22.04
This release includes packages for 22.04. While we have done preliminary testing on these packages, we have not yet run a full QA on them.
As such we consider these packages as a preview, where you can use them at your own risk. If we do not find any issues with these packages, they will be officially supported with the release of 22.10.0 later this year.
The packagecloud installation instructions are similar to those in the downloads section above:
curl -s https://packagecloud.io/install/repositories/EventStore/EventStore-OSS/script.deb.sh | sudo bash
sudo apt-get install eventstore-oss=22.6.0~preview1
$all position is available when reading streams over gRPC
Version 22.6.0 populates the $all position for stream reads, subscriptions, and persistent subscriptions. This means that you can now read an event in a stream and find its corresponding position in the $all stream.
In order to get this functionality, you will need to upgrade the following clients to the latest version:
The other gRPC clients already support this feature without needing an upgrade.
The one caveat is that this is not supported on events written through transactions in the legacy TCP client. For these events, the positions in the events will be empty as before.
Check out the PR for more information.
Better support for the Windows cert store
You can now load the Trusted Root Certificate from the Windows certificate store rather than from a folder.
To use this, provide TrustedRootCertificateStoreName and TrustedRootCertificateStoreLocation in the settings when configuring your EventStoreDB, and then provide either the TrustedRootCertificateThumbprint or TrustedRootCertificateSubjectName to specify which certificate to load.
For example, using thumbprint:
Or using SubjectName (this will match any certificate that contains the subject name):
TrustedRootCertificateSubjectName: EventStoreDB CA
See PR#3498 for more details.
Breaking changes for community gRPC clients
EmitEnabled and TrackEmittedStreams for projections
The server now supports clients setting EmitEnabled and TrackEmittedStreams when creating a projection.
Updates for our supported clients will be made after this release, but if you maintain your own client, then you will need to take note of the changes made here:
Essentially, the names of EmitEnabled and TrackEmittedStreams have been swapped in the proto because what the server used to refer to as TrackEmittedStreams is, in fact, the correct behavior for EmitEnabled.
Therefore clients that were relying on the old behavior and just sending
TrackEmittedStreams=true to enable emitting when creating a projection will continue to work after upgrading the server.
However, the server will now throw when sent a create request with
EmitEnabled=false. This is because a code change will be needed when a client library is upgraded, so throwing an error will make that code change more obvious.
Contributions by the community
Thank you to the community members who made contributions to this server release!
Documentation and previous releases notes
If you encounter any issues, please don’t hesitate to open an issue on GitHub if there isn’t one already.
If you have any questions that aren't covered in these release notes or the docs, please feel free to reach out.