[Subscriptions] fixed issue with concurrent subscription not picking up appropriate state when connecting
5.4.113 (54101) - 2023/12/27
Server
[Attachments] do not throw a concurrency exception on a partial update with valid expected change vector
[Backups] fixed issue with restoring subscriptions when snapshot with incrementals is used
[Backups] support for Direct Upload for Azure
[Backups] added the ability to continue exporting of documents when corrupted data is encountered
[Backups] avoid downloading Snapshot file twice in some cases
[Cluster] fixed issue with high CPU usage when watcher is waiting for a leader to come up
[Cluster] allow to promote rehab node
[Cluster] stability improvements when node is moved into rehab and grace period kicks in
[Compare Exchange] write result of each cluster command attempt on its own context to avoid using disposed context during failover
[Compression] fixed 'End of Central Directory record could not be found' on creation of recovery dictionaries
[Compression] fixed issue with using non-compressed schema for a compressed document and the other way around, that could happen if compression is changed in a middle of merged transaction
[Compression] fixed issue with missing compression dictionary
[Configuration] switched default value of 'Http.AllowResponseCompressionOverHttps' to true
[ETL] changed order of elements of Transactional ID used by Kafka ETL producer for easier ACL configuration
[ETL] allow to define optional Cloud Event attributes in Queue ETL
[Indexes] start tombstone cleaner only after indexes are initialized to avoid cleaning tombstones that were not processed by indexes
[Indexes] handle nested reduce result of a reduce key properly
[Indexes] properly handle dates stored as JsString in JavaScript Map-Reduce indexes to avoid lowercasing them
[Revisions] fixed issue with enforce revisions configuration throwing 'InvalidOperationException' on a collection that does not exist anymore
[Revisions] added the ability to adopt orphaned revisions
[Revisions] fixed fetching revisions from revision bin, introduced a breaking change due to old API being unusable
[Revisions] properly handle out of date revisions when they are not ordered by date and enforce revision configuration is being used
[SNMP] added request per second (5s rate)
[Subscriptions] fixed issue with concurrent connections not being cleaned up properly
[System] added file locker to prevent initializing system store concurrently
[Time Series] fixed aggregation with time zone offsets
[Changes] introduced a 15s timeout to connect to WS to avoid infinite hangs in some cases when there are network issues
[Indexes] handle C# reserved keywords correctly
[Querying] throwing an exception when streaming document collection query with includes
[Session] fixed possible AVE in WhatChangedFor
fixed issue with failover not grabbing the topology from all of the does, which could result in using old topology
fixed issue on .NET Framework with DecimalHelper missing field when reflection is used
simplified speed check algorithm to perform tests once per minute
Studio
[Patching] added the ability to disable max statements count
added CSRF protection
5.4.112 (54092) - 2023/11/14
Breaking changes
[Backups] compression algorithm was changes from gzip/deflate to zstd, which might introduce some backward compatibility concerns. Please read the 'Backward compatibility' section in this article to get more information.
Server
[Backups] switched to zstd compression algorithm for all backup types and exports. More info here
[Backups] added 'Direct Upload' mode. More info here
[Cluster] fixed issue with single-node cluster setting it's commands version to 0
[Configuration] added configuration option 'Backup.Compression.Algorithm' was introduced (Zstd by default)
[Configuration] added configuration option 'Backup.Compression.Level' was introduced (Fastest by default)
[Configuration] added configuration option 'Backup.Snapshot.Compression.Algorithm' was introduced (Zstd by default)
[Configuration] added configuration option 'Backup.Snapshot.Compression.Level' was introduced (Fastest by default)
[Configuration] added configuration option 'Export.Compression.Algorithm' was introduced (Zstd by default)
[Configuration] added configuration option 'Export.Compression.Level' was introduced (Fastest by default)
[ETL] fixed error handling and TransactionalId generation for Kafka ETL
[ETL] fixed issue with ETL not entering fallback mode when cluster is unstable, resulting in sending the same batch again
[ETL] fixed secured channel detection for RabbitMQ and Kafka ETLs
[HTTP] switched inter-server communication from HTTP/1.1 to HTTP/2 protocol
[HTTPS] switched to 'SslStreamCertificateContext' to improve SSL authentication performance on Linux
[Indexes] added support for equality comparers for floats and decimals in static indexes
[Licensing] fixed issue with force update of expired license not returning unsuccessful state to the user
[Licensing] properly detect revision compression when switching a license to Community
[Replication] validate if certificate has write permissions
[Replication] fixed issue with attachment streams existence for documents when conflicts are being solved manually
[Replication] fixed issue with deletion of non-replicated tombstones
[Replication] fixed issue with missing revision tombstones, because revision polices are being applied
[Subscriptions] fixed possible NRE when processing concurrent subscriptions with criteria
[Voron] fixed possible AVE when doing background flushes
[Voron] fixed AVE during compaction on x86 or when we surpass MaxScratchBufferSize