What's new
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
5.4.100 (54027) - 2023/01/09
Server
[Backup]
Fixed issue with a backup status after changing the type of a backup[Backup]
Changed the order in which we perform the snapshot backup - first the indexes then the documents[Backup]
Fixed issue with calculating the space required for snapshot backup if indexes were excluded[Backup]
Fixed memory usage during backup with time series[Configuration]
AddedIndexing.MinimumTotalSizeOfJournalsToRunFlushAndSyncWhenReplacingSideBySideIndexInMb
[Configuration]
AddedHttp.KeepAlivePingTimeoutInSec
andHttp.KeepAlivePingTimeoutInSec
[Corax]
Query execution performance improvements[Corax]
Support ticks in date queries[Corax]
Introduced index-level boosting[Cluster]
Fixed the format of atomic guard values used by Cluster Transactions and block using them via the session[Cluster]
Improved handling of a database shutdown[Debug]
Added info regarding the GC operation to/admin/memory/gc
handler[ETL]
Added ability to enable compatibility mode when sending documents to Elasticsearch[ETL]
Fixed handling of scripts containinggetMetadata()
and delete behavior functions[ETL]
Fixed high unmanaged memory usage when filtering out docs during ETL[Indexing]
Fixed handling of Distinct() with mixed values of string and LazyStringValue types[Indexing]
Improved handling of replacement of side-by-side index by waiting for journals to be flushed[Indexing]
Fixing unhandled case in the index suggestions merger[Indexing]
Fixing potential problems with JS or multi map-reduce indexes not preserving the order of hashing of reduce key values[Logging]
Enhancements in the cluster logging to improve logs readability[Logging]
Added schema upgrades progress to the init log[Logging]
Added ability to get internal Microsoft logs (in particular Kestrel logs)[Logging]
Added details to the PutIndexCommand logging[Monitoring]
Fixed the issue that average request time stays on last value if traffic moves to an another node[Patching]
Reduced JsString allocations in patching[Performance]
Improved performance of putting a document[Performance]
Improved performance of deletion of a document[Performance]
Improved performance of scenario with document writes getting ConcurrenyException in the merged transaction[PostgreSQL]
Fixed handling of fields with large values[PostgreSQL]
Better schema generation if first item has null values[Querying]
Fixed regression issue that we stopped detecting enums as server known type during indexing[Querying]
FixingWaitForNonStaleResults
for Time Series and Counters[Revisions]
Revert revision per collection[Replication]
Fixed very high memory usage when replicating a big transaction and using encryption[Replication]
Ensure replication is working from a node in rehabilitation[Smuggler]
Added ability to import just one collection[Subscriptions]
Subscription worder will continue to retry onDatabaseDisabledException
andAllNodesTopologyDownException
[TimeSeries]
Improved memory usage when importing .ravendump with high number of time series to an encrypted database[TimeSeries]
Fixed clone document with a rollup time series[.NET]
Updated to .NET 7.0.1
Client API
- [Session] Making sure that the HiLo number we got is used with the server node tag it came from to avoid duplicate ids
- [Indexing] Prevent transforming additional method into extended method in index definition rewriter
- Added AggressivelyCacheForAync to avoid sync usage in async manner
Studio
- Fixed visibility of time series requests on studio dashboard
- Allow to cleanup tombstones from the studio
- Fixed showing of guids in related documents list
- Endpoint
/databases
became lighter to improve performance of databases view