All Versions
19
Latest Version
Avg Release Cycle
89 days
Latest Release
124 days ago

Changelog History
Page 1

  • v21.6.0 Changes

    June 24, 2021

    โž• Added

    ๐Ÿ›  Fixed

    • Regression in TCP connection EventStore#2834
    • ๐Ÿš€ Mutex being released on wrong thread resulting in an annoying log message on shutdown EventStore#2838
    • โฑ Keep alive timeout check EventStore#2861
    • โœ… TestClient not exiting after executing --command EventStore#2871
    • โœ… Rdall for TestClient EventStore#2892
    • ๐Ÿ“œ Parsing of yaml config options specified as an array EventStore#2906
    • Start projections when requested EventStore#2929
    • โšก๏ธ Handle missing case for UpdatePersistentSubscriptionTo{Stream,All}Result.DoesNotExist EventStore#2941
    • In gRPC projection management, disable a projection when writing a checkpoint, and abort it if not writing a checkpoint. EventStore#2944
    • ๐Ÿ’ป Parameter count mismatch when loading the dashboard in the UI EventStore#2964
    • Tests failing with empty error message in EventStore.Core.Tests.Http.Cluster.when_requesting_from_follower.*. EventStore#2969
    • Tests failing with already exists error because same initial values were being re-used in EventStore.Core.Tests.ClientAPI.when_connection_drops_messages_that_have_run_out_of_retries_are_not_retried. EventStore#2969
    • ๐Ÿ›  Fix projections getting stuck when reading from truncated streams EventStore#2979
    • โœ… Only return nodes in Follower state in tests. EventStore#2974
    • โœ… Wait for node to become a leader/follower in tests. EventStore#2974
    • ๐Ÿ›  Fix --version printing EventStore#3004
    • Aborted http requests are no longer logged in the authentication middleware EventStore#3006
    • Prevent scavenged events from being passed to Projections EventStore#2966
    • ๐Ÿ›  Fix Potential Server Side Crash w/ gRPC Batch Appends EventStore#2991

    ๐Ÿ”„ Changed

  • v21.2.0 Changes

    February 26, 2021

    โž• Added

    • --stream-info-cache-capacity option to allow setting the cache capacity of the ReadIndex. EventStore#2762
    • Parked message count is now available on persistent subscription stats EventStore#2792
    • Content Type Validation to projections which will allow projections to only handle valid json events if isJson is set to true EventStore#2812
    • script to check for proto changes EventStore#2817
    • ๐Ÿ‘ Server Support for gRPC Keep Alive EventStore#2819

    ๐Ÿ”„ Changed

    • โšก๏ธ Updated internal dependencies and added client builds for .NET 5.0 EventStore#2764
    • ๐Ÿ—„ GossipOnSingleNode is now on by default and the setting has been deprecated in config EventStore#2818
    • Increased the maximum chunk count to patch issue with 25 logical TB. EventStore#2822

    ๐Ÿ›  Fixed

    • Proactively send heartbeat requests to the remote party if no data was sent within the last heartbeat interval EventStore#2772
    • ๐ŸŽ Linux/macOS build.sh script for .NET 5.0 EventStore#2774
    • ๐Ÿ Windows build.ps1 script for .NET 5.0 EventStore#2776
    • ๐ŸŽ Performance counter error message on linux / macOS EventStore#2775
    • --insecure has stopped working after targeting .NET 5.0 EventStore#2779
    • โœ… failing test EventStore#2788
    • Track retry count for persistent subscription messages after a client has lost connection. EventStore#2797
    • โœ… failing test EventStore#2800
    • Permission Denied when performing privileged commands on a follower EventStore#2803
    • Check for old/replayed events only if the event passes the event filter [Projections] EventStore#2809
    • Prevent a projection checkpoint from being emitted at same position twice EventStore#2824
  • v20.10.4 Changes

    July 22, 2021

    โž• Added

    ๐Ÿ›  Fixed

    • ๐Ÿ‘Œ Improve lookup of first non-expired events in long stream with maxage EventStore#3046
    • Aborted http requests are no longer logged in the authentication middleware EventStore#3044
    • ๐Ÿ›  Fix projections getting stuck when reading from truncated streams EventStore#3056
    • Prevent scavenged events from being passed to ExecuteHandler EventStore#3055
  • v20.10.0 Changes

    November 23, 2020

    ๐Ÿ›  Fixed

    ๐Ÿ”„ Changed

    • Read operations are now backed by System.Threading.Channels EventStore#2712
    • โž• Add the certificate subject to the log message printed when there is a certificate validation error EventStore#2746
    • ๐Ÿ‘€ DNS Seeds Are No Longer Resolved to IP Addresses EventStore#2753
    • โšก๏ธ Update the UI with replication stats fix EventStore#2726
    • โž• Add checkpoint based tracking of proposed epoch numbers EventStore#2745
  • v20.6.1 Changes

    September 28, 2020

    ๐Ÿ”„ Changed

    • ๐ŸŒฒ Log level from Verbose to Debug/Information for important messages EventStore#2538
    • ๐Ÿ”„ Change options that refers to disabling tls to explicitly refer to disabling tcp tls. EventStore#2537
    • ๐Ÿ—„ Adjust deprecation warning from referring to 20.02 to 20.6.0 EventStore#2567
    • ๐Ÿ”ง Do not print stack traces when an invalid configuration is encountered. EventStore#2578
    • Instead of always giving system access over HTTP when running with --insecure (since no client certificate is provided), only pre-authorize the gossip and election routes with system access EventStore#2587
    • Don't treat unresolved links as deleted linkTo events when checking for deleted partitions in projections. EventStore#2586
    • When --dev is set, disable TLS on all interfaces instead of setting development certificates EventStore#2581
    • Do not set --mem-db when --dev is set EventStore#2581
    • โฌ†๏ธ Upgraded dotnet sdk to 3.1.301 EventStore#2582
    • โœ… Enable v5 client cluster connectivity acceptance tests EventStore#2554
    • ๐Ÿ”„ Changed the default cluster gossip port from 30777 to 2113 EventStore#2618
    • DisableInternalTcpTls has no effect, Insecure mode should be used to disable it EventStore#2628
    • Disable authentication & authorization when --insecure is specified EventStore#2614
    • gRPC reads will always try and read maxCount of events if it's not reached the end of the stream. EventStore#2631
    • MessageTimeout and CheckpointAfter in persistent subscription settings are now expressed in milliseconds. EventStore#2642
    • โšก๏ธ Updated startup logs to be more clear about security and interfaces. EventStore#2656
    • ๐Ÿ‘‰ Use AdvertiseHostToClientAs, AdvertiseHttpPortToClientAs and AdvertiseTcpPortToClientAs in the NotHandled.NotLeader response from the node. EventStore#2665
    • โšก๏ธ Updated Pre-built UI to latest version EventStore#2686
    • Responses to append will include expected revision / state sent from client EventStore#2679
    • โšก๏ธ Update plugin version EventStore#2690

    ๐Ÿ›  Fixed

    • Do not start other services if run is being skipped when --help or --version are specified EventStore#2558
    • Prevent Stackoverflow when accepting too much data over a TCP connection on dotnet core EventStore#2560
    • ๐Ÿ‘Œ Improved output of CLI help EventStore#2577
    • 0๏ธโƒฃ Log to default directory; args from CLI EventStore#2574
    • Slow gRPC subscriptions EventStore#2566
    • ๐Ÿ– Handle successful link event resolution when projections emit events. EventStore#2465
    • gRPC unable to read events from a truncated stream EventStore#2631
    • 0๏ธโƒฃ Error on TCP operations after default user fails authentication EventStore#2638
    • Wrong calculation of checkpoint interval for filtered subscriptions EventStore#2608
    • Prevent gRPC errors when subscriptions are disposed EventStore#2647
    • Do not do an exact check on certificate subject to match the Common Name EventStore#2681
    • โœ‚ Removed cancellation race condition EventStore#2682
    • Properly handle LiveUntil in GrpcMessage.SendOverGrpc and add a Deadline parameter EventStore#2685
    • Requests with more than one url segment are correctly routed EventStore#2691
    • ๐Ÿ– Handle authentication provider endpoints first followed by legacy endpoints EventStore#2694
    • Prevent clients from connecting to read only replicas which have not yet caught up EventStore#2674 Thanks to @01100010011001010110010101110000

    โž• Added

    • Option to set client certificate common name EventStore#2572
    • --insecure flag to disable TLS on all interfaces (TCP & HTTP) to eliminate requirement for certificates to make it easier to run EventStoreDB EventStore#2556
    • ๐Ÿง Ability to reload certificates by triggering the /admin/reloadconfig endpoint or by sending a SIGHUP signal (linux only) EventStore#2590
    • 0๏ธโƒฃ Ability to load (or reload) default log level from EventStore config file EventStore#2602
    • โœ… Logging around cases where the latest stream's prepare could not be read EventStore#2613
    • Introduced the ability to restart the persistent subscriptions service EventStore#2605
    • AdvertiseHostToClientAs, AdvertiseHttpPortToClientAs and AdvertiseTcpPortToClientAs to allow setting the gossip and TCP endpoints advertised to clients. EventStore#2641
    • ๐Ÿณ Docker-compose file EventStore#2657
    • ๐Ÿ‘ Allow external clients to discover supported authentication methods EventStore#2637

    โœ‚ Removed

    • Terraform templates for generating a certificate authority and node certificates as we have an Event Store Certificate generation tool available. EventStore#2653
    • Development mode EventStore#2648
  • v20.6.0 Changes

    May 15, 2020

    ๐Ÿ”„ Changed

    • HTTP read requests to /streams/$scavenges/ are done via AdminController. #2310
    • /streams/$scavenges/{scavengeId}/ now maps to /streams/$scavenges-{scavengeId}/. #2310
    • Start View Change Proof Timer on System Initialized only. #2366
    • Replace byte[] with ReadOnlyMemory to reduce allocations. #2308
    • Don't write $ProjectionDeleted events for queries when they're deleted EventStore#2377
    • ๐Ÿ”Œ Prepared the authorization interfaces for plugin extraction EventStore#2385
    • โœ‚ Remove unused code from MiniNode used in tests EventStore#2401
    • ๐Ÿ“š Correct the xml documentation for the TCP Client settings builders. EventStore#2393
    • โœ‚ Removed the constraint in AlreadyCommitted for Log Position to be positive. EventStore#2404
    • 0๏ธโƒฃ Set the default for the write timeout EventStore#2410
    • Replaced UseCustomHttpClient in the ConnectionSettingsBuilder for the TCP client with UseCustomHttpMessageHandler EventStore#2419
    • Ensure that the leader is still in a leader state when gossip has changed. If not, start elections. EventStore#2418
    • ๐Ÿ‘ Allow a projection to be able to checkpoint regardless of whether the event filter passes. EventStore#2428
    • ๐Ÿ“ฆ Authorization and Authentication plugin interfaces have been removed and re-included as a nuget package from EventStore.Plugins EventStore#2409
    • Authentication Provider Factory now takes a Serilog ILogger EventStore#2409
    • โšก๏ธ Make read-only replicas independent of elections service and use gossip updates to determine leader changes. EventStore#2427
    • Send the last replication checkpoint when a node subscribes to the leader EventStore#2445
    • License information EventStore#2439
    • ๐Ÿ”Œ Authorization and Authentication Plugins no longer require MEF EventStore#2457
    • Appends will now return a oneof response types which currently is either a Success or a WrongExpectedVersion. EventStore#2463
    • โœ… Enable the Test Client to connect to a dns or ip endpoint EventStore#2474
    • AuthToken field and constructor added to UserCredentials EventStore#2471
    • The connection settings for the Tcp Client now accepts Dns EndPoint as a means to connect to the nodes in the cluster. EventStore#2480
    • Authenticate requests as the system user if they provide a valid client certificate with the provided trusted root certificate EventStore#2475
    • โšก๏ธ Require a system user for gossip update, and for all election operations EventStore#2475
    • โšก๏ธ Update UI submodule as well as the pre-built UI. EventStore#2490

    โœ‚ Removed

    โž• Added

    • ๐Ÿ‘Œ Supports for pull request linting and automatic changelog update EventStore#2391
    • The following options have been added AuthorizationType and AuthorizationConfig to mirror that of the existing AuthenticationType and AuthenticationConfig. EventStore#2385
    • ๐Ÿ”ง A mandatory configuration parameter named: TrustedRootCertificatesPath. The certificate store will be expanded with the root certificates in this path before certificate validation. For server certificate validation, trust is restricted to system certificates + the specified root certificates but for client certificate validation, trust is restricted only to the specified root certificates. Before this change, all root certificates installed on the system were trusted. EventStore#2335
    • Client certificate validation to the internal HTTP interface which is used for gossip/elections EventStore#2335
    • โšก๏ธ Discover an existing leader through gossip updates when a read-only replica starts up instead of triggering elections. EventStore#2417
    • Login endpoint (admin/login) EventStore#2409
    • ๐Ÿ”‹ Features collection on the info endpoint EventStore#2409
    • Operations proto contract and implementation EventStore#2446
    • Max Truncation Safety Feature to avoid large unexpected truncations due to misconfiguration EventStore#2436
    • ๐Ÿ†• New route in PersistentSubscriptionController to view parked messages /subscriptions/viewparkedmessages/{stream}/{group} EventStore#2392
    • A new project EventStore.NETCore.Compatibility which takes the code for System.UriTemplate from .NET Framework 4.8 reference source (MIT-licensed) instead of depending on SimpleSyndicate.UriTemplate (no license) EventStore#2439
    • TCP jwt authorization on the wire EventStore#2449
    • ๐Ÿ“ฆ Push EventStore.ClientAPI and EventStore.ClientAPI.Embedded to GitHub Package Registry EventStore#2462
    • ๐Ÿ‘€ Provide the ability to specify DnsEndPoints as part of gossip seeds. EventStore#2455
    • Provide the ability to specify DnsEndPoints as advertise information EventStore#2455
    • Extended the proto contract for read responses to include Stream Not Found. EventStore#2473
    • With the terminology changes we made, the class names have been changed but we just missed renaming the files. EventStore#2383
    • ๐Ÿ›  Fix bug introduced by f87b317b78248638aba18a6173e63b809ece5d66 EventStore#2406
    • ๐Ÿ‘ท When restarting each node one at a time, should keep db as the test fixture will remove the root directory. This test fails the CI quite often. EventStore#2482
    • ๐Ÿ‘‰ Use TrySetResult instead of SetResult so that exceptions are not thrown if setting result twice EventStore#2406

    ๐Ÿ›  Fixed

    • Connect to existing master when a node starts up instead of triggering unnecessary elections if a quorum of nodes is already present. EventStore#2386
    • โž• Add server certificate validation when follower forwards requests over leader's external HTTP. EventStore#2408
    • ๐Ÿ›  Fix ArgumentNullException in ByCorrelationId standard projection when the event's metadata is null. EventStore#2430
    • WhatIf option will now terminate the application if set. EventStore#2432
    • ๐Ÿ›ฐ No longer raise an exception when reading a linked event with a bad payload. EventStore#2424
    • In the TCP client, prevent the first operation from taking a huge amount of time in some situation. EventStore#2440
    • Do not wait for acks/nacks after a potential subscription failure. The task might never complete. EventStore#2437
    • Read-only replicas can be stuck in Subscribing to Leader mode EventStore#2427
    • NodePreference.Leader is not always honored in ClusterDnsEndPointDiscoverer EventStore#2422
    • ๐ŸŽ‰ Initialize a Console Logger when the application initializes EventStore#2444
    • Skip emitted events during recovery if their linked event no longer exists. EventStore#2447
    • Overflow bug when setting file size based on number of midpoints EventStore#2450
    • Off by one in GetDepth() which can cause less midpoints to be computed when increasing IndexCacheDepth in some cases EventStore#2450
    • ๐Ÿ— Broken CI Build EventStore#2466
    • 0๏ธโƒฃ the default ArraySegment's data is null, not an empty array. EventStore#2486

    ๐Ÿ› Bug

    • Event Counts in GRPC Transport no longer wrap to negative values if > int.MaxValue EventStore#2452

    โšก๏ธ Updated

    • ๐Ÿ”„ Changed the default schema on the projection and users manager to be https. EventStore#2459
  • v20.6.0-rc

    May 15, 2020
  • v6.0.0 Changes

    March 11, 2020

    ๐Ÿš€ The changelog below is a summary of the all of the preview releases.

    โž• Added

    • ๐Ÿ†• New gRPC .NET client added.
    • The ability to filter reads by regex or prefix for both stream name and event type.
    • ๐Ÿ†• New options for certicates. Can be provided as PKCS, public/private key pair and windows store.
    • Introduction of a liveness health check at {server_address}/health/live.
    • ๐Ÿ‘Œ Improvements to projection writes.
    • Read-only replica. A node that will not partake in elections and is non promotable. Started with the --read-only-replica argument
    • The ability to resign master using {server_address}/admin/node/resign.
    • โž• Added in the ability to set node priority with {server_address}/admin/node/priority/{priority}.

    ๐Ÿ”„ Changed

    • ๐Ÿ”„ Change of cluster role names from master/slave to leader/follower.
    • ๐Ÿšš Both client and server have been moved over to .NET Core.

    ๐Ÿ—„ Deprecated

    • ๐Ÿ—„ ATOM and TCP are being deprecated. These can be re-enabled with --enable-external-tcp and --enable-atom-pub-over-http.
    • ๐Ÿ—„ Clone nodes have been deprecated and replaced with read only replicas. Can be re-enabled using --unsafe-allow-surplus-nodes

    โœ‚ Removed

    • ๐Ÿ‘Œ Support for Event Store server on macOS.
    • Undocumented projection selectors.
    • The requirement for mono.

    ๐Ÿ”’ Security

    • 0๏ธโƒฃ TLS is enabled by default for internal node communication. Can be disabled by --disable-internal-tls.
    • 0๏ธโƒฃ All external HTTP is HTTPS by default.
  • v6.0.0-preview3

    March 11, 2020
  • v6.0.0-preview2

    January 20, 2020