EventStoreDB 5.0.2 is out! It is available for the following operating systems:
This release comes with some important bug fixes and we highly recommend our users to upgrade as soon as possible. We’re also planning to roll out version 4.1.4 with some of these bug fixes within the next few days.
Please note that Ubuntu 14.04 (Trusty Tahr) has reached its end-of-life and thus we will stop releasing packages for it as from the next version.
Downloads are available on our website.
The packages can be installed using the following instructions.
Ubuntu 14.04/16.04/18.04 (via packagecloud)
curl -s https://packagecloud.io/install/repositories/EventStore/EventStore-OSS/script.deb.sh | sudo bash
sudo apt-get install eventstore-oss=5.0.2-1
Windows (via Chocolatey)
choco install eventstore-oss -version 5.0.2
Client Packages
EventStore Client
dotnet add package EventStore.Client --version 5.0.2
dotnet add package EventStore.Client.Embedded --version 5.0.2
To upgrade a cluster, a usual rolling upgrade can be done:
An authorization layer has been added to the HTTP API. The entire HTTP API surface has been reviewed specifying the minimum authorization level required to access a particular endpoint.
After these changes, the different user roles can be summarized as follows:
$ops
group can now do everything that a user in the $admins
group can do except user management and reading from system streams./stats
, /stats/*
, /info
, /ping
, /gossip
,/elections/*
There are two types of breaking changes:
401 - Unauthorized
)401 - Unauthorized
) by a particular type of user but are now accessible.If you are affected by the breaking changes and would like to see the legacy behaviour, we have added a config option called DisableFirstLevelHttpAuthorization
that can be set to True
to disable this layer of authorization.
401 - Unauthorized
401 - Unauthorized
but now accessible endpoints$ops
group. The changes revolve mainly around allowing users in the $ops
group to manage persistent subscriptions and projections.On Centos 7, Ubuntu 16.04 and 18.04, LimitNOFILE
has been added to the systemd service file with a default value of 32768
. This parameter controls the maximum number of file descriptors (including sockets!) open by the eventstored
process. For small and medium-sized databases, 32768
is a reasonable value but the value needs to be increased for large databases with several thousand chunk files or many client connections.
To increase the value to 65536
for example, we recommend adding a systemd unit file override by following these steps. These settings will survive Event Store upgrades.
$ sudo systemctl edit eventstore.service
Add the following lines and save:
[Service]
LimitNOFILE=65536
Reload systemctl daemon and restart the eventstore service:
sudo systemctl daemon-reload
sudo systemctl restart eventstore.service
System.DirectoryServices.Protocols
which eliminates the dependency on Mono.Security
on Windows. On Linux, we now use mono’s in-built Novell.Directory.Ldap
library which is more stable.Unbuffered
configuration option set to True
. This option is set to False
by default. The following fatal error will be thrown when completing a chunk file and most of the data in the chunk file being completed will be lost:
EXCEPTION OCCURRED
System.NotSupportedException: Unable to expand length of this stream beyond its capacity.
at System.IO.UnmanagedMemoryStream.Write(Byte[] buffer, Int32 offset, Int32 count)
at EventStore.Core.TransactionLog.Chunks.TFChunk.TFChunk.WriteRawData(WriterWorkItem workItem, Byte[] buf, Int32 len) in TFChunk.cs
$ops
group can now do everything that a user in the $admins
group can do except user management and reading from system streams./stats
, /stats/*
, /info
, /ping
, /gossip
,/elections/*
LimitNOFILE
to a default reasonably high value for all distributions running with systemdWe appreciate any feedback via either GitHub Issues or forum.