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.
The complete changelog can be found here. If you need help planning your upgrade or want to discuss support, please contact us here.
EventStoreDB 22.6.0 is available for the following operating systems:
Additionally an experimental build for ARM64 processors can be found as a Docker image here.
Note:
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.
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.
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.
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:
Downloads are available on our website.
The packages can also be installed using the following instructions.
curl -s
https://packagecloud.io/install/repositories/EventStore/EventStore-OSS/script.deb.sh | sudo bash
sudo apt-get install eventstore-oss=22.6.0
choco install eventstore-oss -version 22.6.0
docker pull eventstore/eventstore:22.6.0-focal
docker pull eventstore/eventstore:22.6.0-buster-slim
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
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.
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:
TrustedRootCertificateStoreLocation:
LocalMachine
TrustedRootCertificateStoreName:
Root
TrustedRootCertificateThumbprint: {thumbprint}
CertificateStoreLocation: LocalMachine
CertificateStoreName: My
CertificateThumbprint: {thumbprint}
Or using SubjectName (this will match any certificate that contains the subject name):
TrustedRootCertificateStoreLocation: LocalMachine
TrustedRootCertificateStoreName: Root
TrustedRootCertificateSubjectName: EventStoreDB CA
CertificateStoreLocation: LocalMachine
CertificateStoreName: My
CertificateSubjectName: eventstoredb-node
See PR#3498 for more details.
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:
https://github.com/EventStore/EventStore/pull/3384
https://github.com/EventStore/EventStore/pull/3412
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 TrackEmittedStreams=true
, but 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.
Thank you to the community members who made contributions to this server release!
Better summaries for CI Runs EventStore#3496, Thanks Tyrrrz!
Documentation for EventStoreDB can be found here. Previous release notes can be found here.
If you encounter any issues, please don’t hesitate to open an issue on GitHub if there isn’t one already.
Additionally, there is a fairly active discuss channel, and an #eventstore channel on the DDD-CQRS-ES community.
If you have any questions that aren't covered in these release notes or the docs, please feel free to reach out.