What's new
5.4.105 (54058) - 2023/06/20
Server
[Backups]
setting 'Exec' and 'Arguments' in 'GetBackupConfigurationScript' now requires Operator security clearance or higher[Configuration]
added 'Memory.GC.LargeObjectHeapCompactionThresholdPercentage' configuration option[Configuration]
added 'Indexing.Lucene.ReaderTermsIndexDivisor' configuration option[Documents]
fixed issue with 'page size to big' notification not showing all necessary IDs that were requested[ETL]
fixed issue with Raven ETL failing to send document that has timeseries and attachments[Indexing]
fixed issue with EarlyOutOfMemoryException not being threated as out of memory exception in indexing for encrypted databases[Indexing]
fixed issue with Auto indexes with Spatial fields not reading Spatial options properly on database load[Linux]
support for cgroups v2[Memory]
compacting LOH when its size exceeds 25% of total memory[Monitoring]
exposed LOH size after last garbage collection in SNMP monitoring with following suffix '1.6.11.x.16.3' where 'x' is a GCKind[Patching]
increased performance of patching by avoiding cloning args each time[Querying]
fixed possible AVE issue when during query execution low memory event was triggered[Querying]
fixed issue with boost not being applied when QueryClauseCache is enabled[Querying]
fixed invalid size unit in 'page size too big' performance hint[Querying]
fixed issue with query parameters not being send when exporting query results to CSV[Querying]
decreased the memory footprint when querying on an encrypted database[Querying]
support for int64 results in collection queries[Replication]
fixed edge case of an attachments conflict on a cluster wide transaction document[Replication]
fixed Hub-Sink issues with attachment and tombstone processing[Subscriptions]
fixed connection task leak possible when a lot of reconnections are happening[Tombstones]
displaying a notification when some of the tombstone subscribers are turned disabled causing tombstone removal to stop[Voron]
added flushing time to slow write notification[Voron]
fixed issue with Voron leaving a lot of 0 length scratch files behind if there is no disk space[Voron]
added thread ID and name to all read transactions for easier debugging[Voron]
decreased memory footprint for encrypted database when generating storage report[.NET]
updated to .NET 7.0.7
Client API
[Querying]
fixed issue with boost not being applied to appropriate subclause when subclauses are nested
Studio
[Documents]
display that document was saved by cluster transaction[Import]
fixed issue with opening 'From SQL' tab in the import view[Traffic Watch]
allow to pass specific client certificate thumbprints in filters[Traffic Watch]
will include query timings when opened
5.4.104 (54049) - 2023/05/12
Server
[Backups]
fixed issue with restore not taking into account the 'Backup.TempPath' configuration option[Backups]
fixed backup status for offline and not modified database[Backups]
fixed issue with delaying backup not appropriately decreasing the semaphore for max number of concurrent backups[Backups]
can cancel now Backup during Retention policy execution[Backups]
fixed issue with the Delay date not being updated properly after we delay a backup[Configuration]
added 'Indexing.NuGetAllowPreleasePackages' configuration option[Configuration]
added 'Cluster.MaxClusterTransactionBatchSize' configuration option[Cluster]
fixed issue with 'ClusterTransactionIdBase64' and 'DatabaseTopologyIdBase64' being set to null after 'HardResetToNewCluster' is executed[Configuration]
fixed issue with identity parts separator not getting the default value when client configuration gets disabled[ETL]
added MySqlConnector support for SQL ETL and Import from SQL[Indexes]
added the ability to use prerelease NuGet packages in indexes when 'Indexing.NuGetAllowPreleasePackages' configuration is set to true[JavaScript]
decreased number of allocations when patching arrays[JavaScript]
only inject parameters into JavaScript engine that are required by the function[Logging]
fixed possible issue with Microsoft Logs bein disabled, yet still getting written[Logging]
added all backup, ETL, connection string configuration changes to the audit log[Migration]
added option to migrate non-public schemas[Replication]
decreased the memory footprint for replication process by early releasing memory of the replicated items[Replication]
disabling external replication should not allow deletion of tombstones[Subscriptions]
fixed issue with subscriptions not getting appropriate value when 'LastDocument' is set as change vector and the last document comes from external replication[.NET]
updated to .NET 7.0.5
Client API
[JSON]
added nested generic types support to 'DefaultRavenSerializationBinder'[HTTP]
fixed a race condition when spawning a node health check and simultaneously timeout and topology update occurs[HTTP]
fixed HTTP Cache possible memory leak[RQL]
fixed issue with using 'RavenQUery.Raw' without 'select new' and query ignoring the raw content[RQL]
fixed issue with alias not being appended to 'OrderBy' clause when 'DocumentQuery' is used
Studio
[Debug]
added additional options for collection of Debug information[Client Configuration]
allow to set both 'use session context' and 'read balance behavior'[Cluster]
added memory information explanations[Database]
added the ability to restart a database[Documents]
fixed issue with downloading huge document as text, instead of JSON
5.4.103 (54038) - 2023/03/30
Server
[Let's Encrypt]
fixed issue with retrieving a certificate due to compatibility problem with upcoming Let's Encrypt API changes
5.4.102 (54037) - 2023/03/27
Server
[Backups]
fixed possible desync of backup status between nodes[Backups]
fixed issue with saving a server-wide backup when any of the database is idle[Backups]
during Restore we should not hold read transaction (held by atomic guards) for a long time to decrease scratch file size[Backups]
fixed potential NRE when importing old dump file without Indexes History[Changes API]
created optimized channel for aggressive cache usage[Configuration]
added 'Security.WellKnownIssuers.Admin' configuration[Debug]
added the ability to collect debug package only for server or per database[ETL]
added stop reason to OLAP ETL statistics[ETL]
fixed issue with disabling an ETL task when in fallback mode[ETL]
fixed 'Failed to parse' issue when registering behavior function in a script engine when script contains GlobalObject[Indexes]
fixed regression and using a different approach to fix potential problems with JS or multi map-reduce indexes not preserving the order of hashing of reduce key values[Indexes]
fixed regression with proper detection of dynamic fields in JavaScript indexes[Indexes]
added certificate info to index history view[Indexes]
added support for .NET 7 'TimeOnly' increased precision[Indexes]
fixed issue with extraction of collection name for more index types[Logging]
added the ability to enable Kestrel logs[Memory]
releasing allocated compressed value when deleting a document with a lot of revisions[Memory]
added Zswap and Zswapped to memory info reader on Linux due to 'top' displaying only first 15 chars[Memory]
fixed possible memory leak when storage compaction is being used[Querying]
fixed issue with timings not working when metadata comes from query metadata cache[Querying]
fixed issue with accessing a disposed object when (id) when 'load' is used in RQL and value is used during projection more than once[Querying]
fixed internal cache issue which could result in returning invalid query results for certain query types[Replication]
when entire Time Series is being deleted, we should not update the document's metadata to avoid creating a conflict on the document[Replication]
when document with Time Series is being deleted, we should create a DeletedRange to prevent possible inconsistency between Time Series on database nodes[Setup]
added Ubuntu 22.04 DEB package[Threading]
using shorter thread names on Linux[.NET]
updated to 7.0.4
Client API
[Conventions]
added 'CreateHttpClient' and 'HttpClientType' conventions[Changes API]
optimized changes API for aggressive cache usage (requires both server and client update)[JSON]
added support for .NET 7 'TimeOnly' increased precision[JSON]
added 'DefaultRavenSerializationBinder' which will throw for known .NET RCE Gadgets when they are used in '$type' field and deserialization needs to use value from this field to find a type[Querying]
fixed issue with generation of JS projection when '.ToDictionary' is used in LINQ select[Querying]
fixed regression that did not allow to select after project into[Session]
addedRefresh(IEnumerable<T> entities)
overload[Subscriptions]
fixed possible memory leak in subscription worker when we fail to process incoming batch
Studio
[Backups]
sending appropriate value when Delay is executed[Dashboard]
fixed issue with graphs not displaying time when hovered[Replication]
disabled sink to hub replication in the UI when server is unsecured[Memory]
exposed total SWAP and SWAP used in the dashboard
Other
[Docker]
added Windows LTSC 2022 docker images
5.4.101 (54032) - 2023/02/13
Server
[Backup]
Added ability to cancel and delay server-wide backups by Operator[Certificates]
Using UTC time when validating the certificate for developer license[Changes API]
Added the timeout for sending a message and clearing messages in the queue when we're in low memory[Cluster]
Fixed the maintenance of the order of nodes in a database group after a node gets online[Cluster]
Using TCP compression for the cluster communication[Cluster]
Fixed negotiation boundaries based on the negotiation PrevLogIndex[Configuration]
Marking 'Logs.Microsoft.ConfigurationPath' as read only so it won't attempt to create a file in the default location[Corax]
Fixed querying with order by[Corax]
Memory usage and performance improvements[Debug]
Fixed serialization of GC dump output[Debug]
Fixed Debug Package created by for the whole cluster[ETL]
AddedgetRevisionsCount()
method available during execution of an ETL script[HTTP]
Fixed HTTP response compression when performing lazy load[Indexing]
Fixed edge cases in the Index Merger[Indexing]
Fixed loading multiple attachments using LoadAttachments function with the usage of Select[JavaScript]
Added support for spread operator JS indexes and Patching[Import]
Added alerts when skipping configuration for a conflict solver, time series or revisions during the import because they already exist[Import]
Fixed import of a CSV file with empty column names[Memory]
Fixed an issue with allocating less than allocation unit[Memory]
Purging the Lucene's field cache for order by when we are in low memory state[Memory]
Fixed calculation of allocated memory in internal allocators[Memory]
Added defragmentation mechanism to internal allocators to deal with specific memory allocation patterns[Performance]
Improved Smuggler and Patching performance when handling documents with complex nested objects[Querying]
Optimized order by queries when ordering by field which is a date[Querying]
Added support forcount()
,key()
andsum()
methods in JavaScript projections when using dynamic group by queries[Querying]
Fixed a bug where only identity RQL projection would work on document loaded from reference existing only in the index[Subscriptions]
Sending noop ACK cluster command once per state[Smuggler]
Added ability to import / export history of indexes[Time Series]
Improved memory usage when processing large number of time series during ETL and indexing[Time Series]
Fixed potential AccessViolationException on restoring time series from a backup file (regression introduced in 5.4.100)[Time Series]
Improved memory usage during import of time series[.NET]
Updated to .NET 7.0.2
Client
[Cluster Transactions]
Fixed throwing ClusterTransactionConcurrencyException after the failover when using cluster-wide transactions[Querying]
Fixed 'declared function' chopped by IAsyncDocumentQueryBase.ToQueryable [Querying]
Fixed comparison of field names for projections. We need to do it in case sensitive manner[Querying]
Added AsAsyncEnumerable to RavenQueryableExtensions[Querying]
Fixed direct Projection of Array from document[Serialization]
Prevented ISerializable support by default in the serializer[Subscriptions]
Fixed an issue that metadata was not tracked in the subscription session[Time Series]
Deleting time series entry should affect the cache
Studio
- Added on/off switch to disable index optimize during compact operation
- Fixed column name on Index Errors view