Event Store v21.10.1 Release Notes

Release Date: 2021-12-16 // about 1 month ago
  • 🛠 Fixed

    • ⏱ Exception in scheduled message callback crashes server EventStore#3270
    • IODispatcher is now threadsafe for request tracking EventStore#3270
    • InvalidOperationException caused by reading RequestStream after completing the PersistentSubscription gRPC call EventStore#3287
    • Return correct status code in batch append EventStore#3295
    • 🛠 Fix partitionBy not working with numbers EventStore#3325
    • 🛠 Fix link parsing in persistent subscription service. EventStore#3328
    • 👍 MaxAge fast path: corner cases and support for SkipIndexScanOnRead EventStore#3339
    • 👉 use last indexed position of all stream when consumer subscribes to all filtered live EventStore#3342
    • Prevent risk of deadlock when creating a PersistentSubscriptionGroup EventStore#3344

    ➕ Added

    • 👌 Support for ARM64 on Linux. EventStore#3076
    • GetInfo, ReplayParked, List, RestartSubsystem operations to persistent subscription gRPC proto EventStore#3352
    • String ConsumerStrategy property when creating persistent subscriptions over gRPC EventStore#3352
    • 🌲 Extra logging on startup EventStore#3346

    🔄 Changed

    • 🐧 Use file checkpoints on Linux and memory mapped checkpoints on Windows EventStore#3340
    • 🗄 Deprecate NamedConsumerStrategy when creating persistent subscriptions over gRPC EventStore#3352

Previous changes from v21.10.0

  • 🛠 Fixed

    • 🐳 HTTP port parameter in docker-compose.yaml EventStore#2995
    • WrongExpectedVersion when deleting a projection with all delete options EventStore#3014
    • Prevent emitted checkpoint streams from being deleted when not enabled. EventStore#3030
    • Http authentication when a : is present in the user's password EventStore#3070
    • Persistent subscriptions: Rename LastProcessedEventPosition to LastCheckpointedEventPosition EventStore#3073
    • Potential race condition in BatchAppend EventStore#3138
    • ➕ Added verification checking if a message is of NotHandled type in PersistentSubscriptions Read message handling EventStore#3158
    • Issue with not handling null event data correctly in Projections EventStore#3171
    • Incorrectly setting OutputState on IQuerySources when only a fold is defined in Projections EventStore#3171
    • Off-by-one error in Index committer service EventStore#3186
    • Node stays stuck in Leader state until next elections if a quorum never emerges EventStore#3181
    • 📇 User provided metadata to be formatted correctly in Projections EventStore#3188
    • 🐧 Incorrect configuration file selection on linux EventStore#3159
    • Prevent the EpochManager from attempting to read epochs that should have been cached EventStore#3198
    • Race condition where a node becomes leader and immediately writes to streams that have recently been written to but not indexed, resulting in events with incorrect numbers in their streams. EventStore#3201
    • Handling $deleted in the interpreted projections runtime. EventStore#3216
    • 🌲 Incorrect log message templates EventStore#3223
    • 🔗 LinkTo metadata not properly read in Projections EventStore#3227
    • Clear HeadingEventReader cache in Projections when stopping the readers EventStore#3233
    • 🔧 Use the right advertised host value in a cluster configuration EventStore#3224
    • Ensure the IODispatcher clears up pending requests EventStore#3244
    • Replica stats page correctly shows catching up nodes EventStore#3247
    • Set last checkpoint for persistent subscriptions when they are loaded EventStore#3241
    • 👻 Object disposed exception in EventCountersHelper on shutdown EventStore#3242
    • Memory Leak in Batch Append EventStore#3253
    • Batch append not using requested uuid format EventStore#3255
    • StreamExistenceFilter truncation corner case EventStore#3257

    ➕ Added

    • 🐳 Alpine Docker Image EventStore#3069
    • A bloom filter to quickly check stream existence EventStore#3078
    • 🔧 LeaderElectionTimeoutMs option to allow configuring the timeout for election messages EventStore#3121
    • ➕ Add a log message describing how to disable the stream existence filter EventStore#3172
    • 🆕 New options to control logging: --log-console-format, --log-file-size, --log-file-interval, --log-file-retention-count, and --disable-log-file EventStore#3159
    • Event type index for LogV3 EventStore#3114
    • ClientCapabilities proto for discovering which gRPC methods are available on the server EventStore#3194
    • ServerFeatures proto to allow clients to discover which features are available on the server EventStore#3251
    • Control message to indicate client compatibility level on reads EventStore#3197
    • Bloom Filters and LRU Caches to PTables EventStore#3161
    • 🌲 Log level to compact json log output EventStore#3212
    • 👌 Support for Intermediate CA certificates EventStore#3176
    • Validation of certificate chain with node's own certificate on start up EventStore#3176

    🔄 Changed

    ✂ Removed