We are pleased to announce the official release of EventStoreDB 20.6.1!
It is available for the following operating systems:
Downloads are available on our website.
The packages can 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=20.6.1-2
choco install eventstore-oss -version 20.6.1
dotnet add package EventStore.Client.Grpc.Streams –version 20.6.1
gRPC Projection Management Client
dotnet add package EventStore.Client.Grpc.ProjectionManagement –version 20.6.1
gRPC Persistent Subscriptions Client
dotnet add package EventStore.Client.Grpc.PersistentSubscriptions –version 20.6.1
dotnet add package EventStore.Client.Grpc.Operations –version 20.6.1
dotnet add package EventStore.Client.Grpc.UserManagement –version 20.6.1
dotnet add package EventStore.Client –version 20.6.1
To upgrade a cluster from 20.6.0, a usual rolling upgrade can be done:
If you are upgrading a cluster from version 5.x and below, please read the upgrade procedure in the 20.6.0 release notes.
There is a known issue with upgrading to version 20.6.1 using packagecloud caused by the 20.6.0 uninstall script. This issue was found in the first 20.6.1 script so may affect some people who pulled the package before we updated it. This issue causes the upgrade to fail, meaning that the service won’t start up and the eventstored
command will not be available.
To fix this, please manually uninstall the current version of EventStoreDB before installing the 20.6.1-2 debian package.
We’ve added a Docker Compose file to EventStoreDB to make running a secure cluster quick and easy. Check it out in the documentation.
We’ve added a tool to help with creating certificates for an EventStoreDB cluster. You can find the tool and usage instructions here.
Once you have the certificates generated, you will need to configure your nodes to use them. You can do this by adding the following configuration to any existing configuration:
TrustedRootCertificatesPath: {Path to CA Directory}
CertificateFile: {Path to Certificate File}
CertificatePrivateKeyFile: {Path to Private Key File}
We have introduced an Insecure mode for those who wish to run EventStoreDB without security or certificates.
Insecure mode disables all authentication, authorization and transport security for the node and any clients connected to it.
This option can be enabled with the Insecure
flag.
Dev mode didn’t make sense following the introduction of a dedicated Insecure mode.
Due to this and the fact that Dev mode should not have been used in production, we made the decision to remove Dev mode entirely.
If you were using Dev mode to avoid setting up certificates, please run EventStoreDB in Insecure mode instead. If you are wanting to run EventStoreDB with certificates, please see the steps outlined above.
The cluster gossip port was previously set to 30777 by default as this was the default gossip port used by Manager nodes.
Since EventStoreDB 20.6 does not use manager nodes, keeping the port set to this value made no sense. As such, the default cluster gossip port is now the default HTTP port for a node, 2113.
The Embedded TCP client is not a part of the 20.6.1 release. There are some known issues with the client in this version, specifically around running in a clustered setup.
The following are just some of the changes introduced in this version.
For a full list of changes and fixes, please see the changelog.
The client certificate common name (CN) that is used to secure a cluster was previously hardcoded to eventstoredb-node
.
This meant that public CAs could not be used to generate a certificate for the cluster.
Now, the client certificate CN can be set with the CertificateReservedNodeCommonName
option.
Certificates can be reloaded by triggering the /admin/reloadconfig
endpoint, or by sending a SIGHUP
signal on Linux systems.
The process for rolling the certificates on a cluster is as follows:
POST
request to the /admin/reloadconfig
endpoint, or a SIGHUP
signal to the EventStoreDB process.For more information about this change, please see the instructions in the pull request.
It’s sometimes useful to update the log levels to be more verbose while debugging issues with EventStoreDB. Previously, this required a restart of the server which could cause the issue to stop presenting itself.
An endpoint has been added to allow reloading the log level from configuration while EventStoreDB is running.
To make use of this, update the LogLevel
option in the config file, and then send a POST
request to the /admin/reloadconfig
endpoint, or send a SIGHUP
signal if on Linux.
Persistent subscriptions can sometimes run into issues that require them to be restarted. Previously, you’d need to restart the leader node to fix the issue, which is disruptive to the cluster.
The 20.6.1 version provides the ability to restart the persistent subscriptions service without affecting the leader node. This can be done either by sending a POST
request to the /subscriptions/restart
HTTP endpoint, or through the persistent subscriptions gRPC client.
There has been a lot of interest about the other gRPC clients we are working on, which has prompted us to open the following client repos:
Feedback on these clients and on the ones to come are greatly appreciated. Please see the places to provide feedback at the end of these release notes.
We are still working hard on improving our documentation. A preview of what’s to come can be found here.
Documentation for EventStoreDB 20.6.x is part of this effort and 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.
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.