Event Store v20.6.0 Release Notes
Release Date: 2020-05-15 // almost 4 years ago-
๐ 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 withUseCustomHttpMessageHandler
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 aWrongExpectedVersion
. EventStore#2463 - โ Enable the Test Client to connect to a dns or ip endpoint EventStore#2474
AuthToken
field and constructor added toUserCredentials
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
- Unused HTTP messages. #2362
- โ Removed better ordering option. #2368
- Application Defines EventStore#2441
- ๐ฎ Force option EventStore#2442
- Get Gossip from the Gossip Controller as this is now done over gRPC EventStore#2458
โ Added
- ๐ Supports for pull request linting and automatic changelog update EventStore#2391
- The following options have been added
AuthorizationType
andAuthorizationConfig
to mirror that of the existingAuthenticationType
andAuthenticationConfig
. 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 forSystem.UriTemplate
from .NET Framework 4.8 reference source (MIT-licensed) instead of depending onSimpleSyndicate.UriTemplate
(no license) EventStore#2439 - TCP jwt authorization on the wire EventStore#2449
- ๐ฆ Push
EventStore.ClientAPI
andEventStore.ClientAPI.Embedded
to GitHub Package Registry EventStore#2462 - ๐ Provide the ability to specify
DnsEndPoint
s as part of gossip seeds. EventStore#2455 - Provide the ability to specify
DnsEndPoint
s 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
- HTTP read requests to