20.10.5 Release Notes
We are pleased to announce the official release of EventStoreDB OSS & Commercial version 20.10.5 long-term support (LTS). This is a patch release that contains important fixes and changes from the 21.10.0 LTS release.
This LTS release will continue to 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 20.10.5 is available for the following operating systems:
- Windows
- Ubuntu 16.04
- Ubuntu 18.04
- Ubuntu 20.04
- CentOS 7 (Commercial version)
- Amazon Linux 2 (Commercial version)
- Oracle Linux 7 (Commercial version)
Where Can I Get the Packages?
Downloads are available on our website.
The packages can also be installed using the following instructions.
Ubuntu 16.04/18.04/20.04 (via packagecloud)
curl -s https://packagecloud.io/install/repositories/EventStore/EventStore-OSS/script.deb.sh |
sudo bash
sudo apt-get install eventstore-oss=20.10.5
Windows (via Chocolatey)
choco install eventstore-oss -version 20.10.5
Docker (via docker hub)
docker pull eventstore/eventstore:20.10.5-focal
docker pull eventstore/eventstore:20.10.5-buster-slim
Highlights for this release:
Support for Intermediate CA certificates
We have introduced support for intermediate CA certificates (EventStore#3176).
Steps on Linux:
sudo su eventstore --shell /bin/bash
dotnet tool install --global dotnet-certificate-tool
~/.dotnet/tools/certificate-tool add --file /path/to/intermediate.crt
Steps on Windows:
To import the certificate store, run the following PowerShell under the same account as EventStoreDB is running:
Import-Certificate -FilePath .\path\to\intermediate.crt -CertStoreLocation Cert:\CurrentUser\CA
To import the intermediate certificate in the `Local Computer` store, run the following as `Administrator`:
Import-Certificate -FilePath .\ca.crt -CertStoreLocation Cert:\LocalMachine\CA
Alternatively, you can right-click on the intermediate certificate, click Install (let windows choose the appropriate location - it should go under Intermediate Certification Authorities -> Certificates in the current user's certificate store.
We will be adding support to the es-gencer-cli to allow generating self-signed intermediate certificates shortly.
Fixes
- Prevent nodes that aren't part of a cluster from pruning gossip seeds [EventStore#3116]
- Overflow error in persistent subscriptions extra statistics [EventStore#3162]
- Prevent the EpochManager from attempting to read epochs that should have been cached [EventStore#3189]
- Off-by-one error in Index committer service [EventStore#3196]
- Race condition where a node becomes leader and immediately writes to streams that have recently been written to but not indexed [EventStore#3187]
- Additional Options to Logging [EventStore#3207]
- Object disposed exception in EventCountersHelper on shutdown [EventStore#3245]
- Added verification checking if a message is of NotHandled type in PersistentSubscriptions Read message handling [EventStore#3158]
- Breaking change in log file name by removing log rotation options [EventStore#3267]
- Exception in scheduled message callback crashes server [EventStore#3272]
- IODispatcher is now threadsafe for request tracking [EventStore#3272]
- Clear HeadingEventReader cache when stopping the readers [EventStore#3233]
- InvalidOperationException caused by reading RequestStream after completing the PersistentSubscription gRPC call [EventStore#3294]
- 404 error for scavenge no longer shows in UI [EventStore#3284]
- Replica stats show in the UI [EventStore#3284]
- Ensure the projections IODispatcher clears up pending requests [EventStore#3244]
- Use the right advertised host value in a cluster configuration [EventStore#3224]
- MaxAge fast path: corner cases and support for SkipIndexScanOnRead [EventStore#3330]
- Fix link parsing in persistent subscription service [EventStore#3328]
- Prevent risk of deadlock when creating a PersistentSubscriptionGroup [EventStore#3343]
Breaking Changes
Intermediate Certificates
We try our best not to introduce breaking changes in patch releases, but this is still possible as long as the breaking change still allows for a rolling upgrade. In this case, you may have to change the configuration on the nodes if you are making use of intermediate certificates.
If you are currently using intermediate certificates and rely on the AIA URL to build the full chain, the configuration will no longer work and will print the error “Failed to build the certificate chain with the node's own certificate up to the root“ on startup. If you see this error, please check out the docs or the PR for help on solving it.
Upgrade Procedure
To upgrade a cluster from 20.10.x, a usual rolling upgrade can be done:
- Pick a node (start with follower nodes first, then choose the leader last).
- Stop the node, upgrade it and start it.
There is no way to perform a rolling upgrade between version 5.x and version 20.10.5 due to changes in the replication protocols and the way nodes gossip and host elections.
As such, the upgrade process from 5.x is as follows:
- Take down the cluster
- Perform an in-place upgrade of the nodes, ensuring that the relevant configuration and certificates are set up
- Bring the nodes back online and wait for them to stabilize
Documentation
Documentation for EventStoreDB can be found here.
If you have any questions that aren't covered in these release notes or the docs, please feel free to reach out on discuss, Github, or Slack.
Providing Feedback
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 Slack community