[Backup] Fixed an issue with the backup running on UTC instead of server's local time
[Backup/Import/Export] Handling the export and import of time series deleted ranges
[Backup/Import/Export] Fixed an potential race condition issue with applying commands during import / export
[Compression] Fixed a potential issue with stats of a collection when compression was turned on/off during large import
[Containers] Set HTTPs scheme in Docker automatically if cert options were passed
[Containers] Publishing Docker multi-arch images
[ETL] Replaced deprecated System.Data.SqlClient dependency with Microsoft.Data.SqlClient (existing connection strings will default to Encrypt=Optional option which is mandatory since version 5.0 of Microsoft.Data.SqlClient to ensure backward compatibility)
[Indexing] Improved memory usage of loaded documents that are compressed
[Indexing] Fixed the hash of query results after resetting an index
[JS Admin] Added ability to use internal operation contexts to execute some emergency operations
[Logging] Audit log improvements
[Monitoring] Added ability to monitor number of ongoing tasks via SNMP
[Monitoring] Exposed Monitor.LockContentionCount via SNMP
[Setup] Fixed regression issue with RavenDB deb package dependencies
[Setup] Added Ubuntu Deb Packages distribution for Ubuntu 24.04 and dropped distribution for Ubuntu 18.04
[Patching] Fixed and issue with patching a document metadata
[Replication] Fixed issue that WaitForReplicationAfterSaveChanges() didn't account itself to calculate majority
[Server] Added -i | --info switch to Raven.Server
[Subscriptions] Throwing less SubscriptionDoesNotBelongToNodeException on unstable cluster
[.NET] Updated to .NET 8.0.7
Studio
Added navigation buttons to Revisions Compare view
[Cluster] Fixed possible race that upon cluster tx failover it could have waited for the task after it was already completed
[Cluster] Fixed an issue that WaitForIndexNotification wasn't waiting until the command was done
[Databases] Fixed an issue with a database getting occasionally stuck in due to The database 'xxx' has been unloaded and locked by IdleOperations
[Debug] Increased timeout for getting Debug Package
[ETL] Fixed an issue of respecting cancellation during the load phase of Elasticsearch, Kafka and RabbitMQ ETLs
[ETL] Upgraded Npgsql driver from v5 to v8
[Expiration/Refresh] Fixed an issue with unreleased buffers on compressed databases
[Expiration/Refresh] Added a transaction size limit in the Expiration and Refresh commands
[Import/Export] Decrypting and Encrypting streams should not use synchronous IO in async methods
[Indexing] Include the index names that are stale after getting a timeout on WaitForIndexesAfterSaveChanges() in the error message
[Licensing] Fixed an issue with license signature verification on some Linux distributions
[Logging] Fixed a bug when downloading logs from the Studio returns empty zip
[Logging] Fixed a potential deadlock in the logging
[Logging] Unified audit log lines
[Replication] Fixed NRE in /databases/*/debug/replication/all-items endpoint
[Subscriptions] On update subscription populate PinToMentorNode from existing state if needed
[Time Series] Optimized Time Series retention
[Voron] Fixed a bug in clustering code which could result in runnnig and committing two write transactions concurrently. This could result in InvalidJournalException after the restart.
[.NET] Updated to .NET 8.0.5
Client
[Certificates] Throwing meaningful exception when HttpClientHandler does not support certificates
[Querying] Fixed an issue with missing parentheses when combining Where and Search clauses
[Changes API] Don't allow automatic fail over in Changes API when tracking node-specific operations
[Changes API] Fixed an issue with cache wasn't invalidated after Changes API reconnection
[HTTP] Flushing request stream to send the headers in all customized HttpContent implementations
Studio
[Cluster Dashboard] Added the Lucene Unmanaged Allocations to the memory widget
[Indexes] Showing referenced collections
[Traffic Watch] Fixed an issue that it couldn't view a MultiGet request
5.4.119 (54129) - 2024/05/16
Server
[Certificates] Adjusted client certificate trust logic to ensure compatibility with shorter intermediate certificates
5.4.118 (54125) - 2024/04/29
Server
[Backup] Fixed an issue that restoring from incremental backup with atomic guard, a tombstone could be handled before creating the document
[Cluster Transactions] Improved performance of cluster-wide transactions
[Cluster Transactions] Fixed the restore of a database with cluster transactions
[Cluster] Improved performance of updating database values by using separate semaphores for database record changes and value changes
[Debug] Added method to delete document by Etag
[Expiration & Refresh] Added an option to specify max number of items to process in a single run
[Indexing] Fixed unhandled cases in Index Merger. Added better error handling.
[Monitoring] Exposed alerts and notifications via /databases/*/notifications endpoint
[Querying] Fixed translation of DateTime.MaxValue to JS date when building RQL with JS projection
[Querying] Fixed count, distinct, and paging for very specific cases of collection queries
[Querying] Fixed the detection of index staleness which could result in returning stale results in specific scenarios
[Replication] Added authorization check for the legacy replication for indexes
[.NET] Updated to .NET 7.0.18
Client
[Bulk Insert] Fixed a possible NRE in the heartbeat timer
[Cluster Transactions] Removed a legacy check if Cluster Transactions are supported
[Indexing] Exposed referenced collection in index statistics
Fixed inconsistent exceptions between sync and async API
Studio
Added ignore MaxStepsForScript option on the Patching view