What's new
4.2.103 (42046) - 2020/05/25
Server
[Backup]
after imporintg backups with counters the IDs of the document should not be lowercased[Backup]
support for Amazon AWS Cape Town as a backup destination[Backup]
support for Cloud restore from Microsoft Azure[Backup]
support for importing legacy identities (from 3.x)[Backup]
added support for SAS tokens in Microsoft Azure backups[Backup]
properly reschedule backup even when backup task failed to create[ETL]
always send 'DELETE' command when script is not empty[Indexing]
allow to disable or stop the indexing when Server is out of CPU credits[Indexing]
support for setting FieldStorage.No and FieldIndexing.No in Map-Reduce to allow storing the results of Map-Reduce without the ability to search on them (can speed up the indexing process for complex fields that are not used for searching)[Indexing]
better behavior when encountered out of disk space exception[Indexing]
support for creating indexes with 'Enumerable.Range' in SelectMany[Indexing]
decreased number of writes done by Output Reduce to Collection[Indexing]
Output Reduce To Collection will now batch output documents instead of writing them in one go[Indexing]
performance optimizations[Querying]
Lucene should return same score for same document in the query result[Querying]
performance optimizations for dynamic query matcher and lucene queries[Memory]
memory utilization tweaks and adjustments both for non and encrypted databases[Memory]
fixed memory leak and high GC caused by excessive number of non-disposed cancellation tokens[Memory]
fixed managed buffer leak in JSON parsing[Monitoring]
added WellKnownAdminCertificates endpoint to SNMP[Monitoring]
added Number of Assigned CPU cores endpoint to SNMP[Monitoring]
added Number of Machine CPU cores endpoint to SNMP[Monitoring]
added Max Number of License CPU cores endpoint to SNMP[Monitoring]
added Number of Utilized License CPU cores endpoint to SNMP[Monitoring]
added Number of Currently Running Backups endpoint to SNMP[Monitoring]
added Max Number of Backups that can Run Concurrently endpoint to SNMP[.NET Core]
updated to 3.1.4
Client API
[Bulk Insert]
properly detect 'Raven-Clr-Type' for dynamic objects[Conventions]
added 'MaxContextSizeToKeep'[HTTP]
set default connection limit to int.MaxValue[HTTP]
properly detect the topology and client configuration needs to be updated to avoid excessive topology and client configuration updates[Operations]
added 'GetDetailedCollectionStatisticsOperation'[Operations]
return 'null' value for Ids that are 'null' in 'GetCountersOperation' and 'GetDocumentsCommand'
4.2.102 (42040) - 2020/04/15
Server
[Attachments]
ability to re-run batch with attachments[Backups]
support for Smuggler imports with TimeSeries (will be skipped)[Backups]
fixed possible NRE when last etag is requested but no status yet was computed[Backups]
full backup will include Tombstones from now on[Bulk Insert]
fixed performance degradation after .NET Core 3.1 introduction[Certificates]
ensure that serial number is always exactly 20 bytes of length[Counters]
fixed issue with detecting if counters are part of a batch when a property has same length, which could cause Cluster-Wide Transaction issues[Configuration]
added 'Migration.MigratorPath'[Configuration]
added 'Storage.IoMetricsCleanupIntervalInHrs'[Docker]
updated Ubuntu base image[ETL]
properly handling configuration validation on ETL update[Facets]
fixed 'ArgumentNullException' when RangedFacet with DisplayName is used[HTTP]
setting 'HttpProtocols' to 'Http1' automatically on Windows Server 2012 R2[Indexing]
fixed issue with not using 'AdditionalSources' during index metadata construction[Indexing]
reduced number of Bloom filters on 32-bit systems[Indexing]
JavaScript indexes should not index implicit null values[Memory]
fixed Linux memory detection[Migration]
support for migration from v5.x[Migration]
support for 1-way 2.x/3.x replication[Notifications]
added DocumentStore misuse notifications (requires 'SendApplicationIdentifier' to be set to 'true')[Service]
setting LimitMEMLOCK to infinity on Linux[Storage]
keeping I/O stats only for last 24 hours[.NET Core]
updated to 3.1.3
Client API
[Bulk Insert]
fixed issue with serialization that could occur when custom serializer is used[Cluster]
restoring preferred node if broadcast was used to execute the operation[Conventions]
added 'SendApplicationIdentifier' convention[Conventions]
added 'FindClrTypeNameForDynamic' convention[Events]
added 'OnTopologyUpdated' event to DocumentStore[Events]
exposed conversion events in IDocumentStore[Indexes]
proper detection of string constants in 'LoadDocument' when 'AbstractIndexCreationTask' is used[Projections]
should not set Identity Property when projection takes place[Querying]
extracting Document Identifier via built-in 'id()' method during projection[Querying]
exposed OrderByDistance with roundFactor[Serialization]
support for 'Size' serialization[Serialization]
fixed issue with serialization of an object with property set to 'Enumerable.Empty' introduced after .NET Core 3.1 switch[Smuggler]
fixed 'Connection closed before reaching end of stream' issue that could happen during Import on full .NET framework
Studio
[Admin Logs]
added the ability to switch 'Logs Mode'[Admin Logs]
added copy log message button[Backups]
ability to provide custom S3 hostname[Backups]
ability to specify CSV import options[Compare Exchange]
fixed issue with retrieving Compare Exchange value when key needs encoding[Documents]
fixed issue with previewing documents when number of compressed bytes and number of chars is different[Documents]
display numer of items in array and properties in object[Indexes]
fixed issue with detecting 'output map to reduce' in JavaScript indexes[Indexes]
fixed issue with detecting dirty state on Save Index button when 'Create References to Results Collection' is changed[ETL]
exposed HTTP Request Timeout in RavenDB ETL[HTTP]
validating if non-secured URL is not used with Certificate[Setup]
added dialog for 'secured' flow with prompt to confirm that certificate was downloaded and installed
Embedded
- fixed issue with using Embedded after .NET Core 3.1 introduction
4.2.101 (42038) - 2020/03/03
Who should upgrade
Customers hosting Server on Windows 2012 R2 or older should disable HTTP/2 support by setting 'Http.Protocols' configuration option to 'Http1'.
Server
[Configuration]
added 'Http.Protocols' configuration options that allows to specify supported HTTP protocols by the server
4.2.100 (42036) - 2020/03/02
Server
[Backup]
added progress when restoring a huge file to indicate that restore is actually taking place[Backup]
number of concurrent backups is set by default tonumber of licenses cores / 2
or toBackup.MaxNumberOfConcurrentBackups
value[Backup]
reduce memory pressure when export is being done[Backup]
overdue backups when switched to a different node should have 1 minute delay to wait if the original node will recover or not[Certificates]
disabled downloading the CRL file[Certificates]
fixed issue with replacting the certificate when it has a password[Configuration]
addedIndexing.ErrorIndexStartupBehavior
[Configuration]
addedMemory.MaxContextSizeToKeepInMb
[Configuration]
addedCluster.TimeBeforeRotatingPreferredNodeInSec
[Configuration]
addedSecurity.TlsCipherSuites
[Configuration]
addedSecurity.Certificate.Validation.Exec
,Security.Certificate.Validation.Exec.Arguments
andSecurity.Certificate.Validation.Exec.TimeoutInSec
[Cluster]
fixed possible timeout when leader received same command twice[Cluster]
when follower ambassador is being closed, set proper disconnected reason[Cluster]
Compare Exchange tombstone cleanup should continue executing if there is more work to be done instead of waiting for next execution[Cluster]
database should not be places as preffered note when it is still loading[Cluster]
fixed possible deadlock in remote connection that could happen during server shutdown[Debug]
added/admin/debug/dump
[Debug]
added/admin/debug/gcdump
[Expiration]
use same date among all batches during expired documents cleanup[Expiration]
cleaner will correctly continue removing the expired documents if there is more to delete instead of waiting for next execution[Indexing]
enhanced validation for pattern for reduce output documents[Indexing]
better behavior when updating pattern for reduce output documents[Indexing]
added the ability to specify pattern for reduce output documents collection name[Indexing]
support for using multiple string interpolations in the PatternForOutputReduceToCollectionReferences expression[Indexing]
fixed issue with JavaScript indexes not respectingIndexing.MaxStepsForScript
configuration option in some cases[Indexing]
proper field options inheritance from default field options in JavaScript indexes[Indexing]
proper behavior when arrays are being indexed in JavaScript indexes[Indexing]
properly handle out of disk space errors when this happens during Lucene write[Indexing]
properly flatten the arrays when converting to Lucene[Indexing]
avoid NRE in JavaScript index when converting output to BlittableJSON[Indexing]
avoid possibility of infinite indexing batch loop when we have LoadDocument[HTTP]
added support for HTTP/2[Licensing]
updated EULA[Logging]
moved behavior from per thread to per processor core- [Major]
[Memory]
Revamped memory management from per thread model to per processor core model [Memory]
fixed a possibility that available memory would result in a negative number[Memory]
replaced ThreadLocal with LightweightThreadLocal to reduce the GC pressure[Memory]
decreased allocationg when using XXHash64Context and XXHash32Context[Memory]
large contexts are being disposed right away instead of being kept in the pool[Memory]
on low memory dispose contexts that were created in previous generations of the pool[Memory]
on low memory release unused threads from the pool[Memory]
on low memory clear indexed terms cache[Monitoring]
when instance was never accessed SNMP endpoint for last non-cluster admin access time will return max value[Monitoring]
time since oldest backup endpoint in SNMP will use the same algorithm for calculation as Databases View in Studio[PAL]
added better detection for out of memory and out of disk space in Windows[Querying]
fixed possible NRE when exporting to CSV query results from map-reduce index[Querying]
correctly calculating index etag when reference collections are used[Querying]
fixed possible NRE when doing a dynamic query and retrieved index would be removed after picking it[Querying]
support for projecting from a document that contains $type and $values fields[Querying]
support for projecting from a document that contains $type and $value fields[Querying]
fixed NRE when projecting from Compare Exchange using JavaScript projections[Querying]
do not apply query optimization when outer query has boost defined[Replication]
fixed conflict status detection when we have unused database IDs[Revisions]
putting revision tombstones only once to avoid possible endless replication loop[Revisions]
prevent from creating a duplicated revision when incoming revision and the document are the same, but change vector contains unused database ID and resolved flag[Tombstones]
cleaner should execute operations in batches to reduce memory pressure[Subscriptions]
added the ability to use properties from @metadata that need to be escaped in the query[Security]
added TLS 1.3 support- [Major]
[.NET Core]
updated to .NET Core 3.1.2 - fixed possible Etag overflow on change vector merge
Client API
[Conventions]
added HttpVersion convention[Indexing]
added the ability to specify collection name manually inLoadDocument
[Session]
NoTracking session should not throw when document does not exist on the server[Operations]
addedDocumentStore.Maintenance.Server.ForNode
method[Querying]
always quoting collection names
Embedded
- added
RestartServerAsync
method - added
ServerProcessExited
event
Studio
[Documents]
added the ability to copy change vector and document ID[Export]
added missing configuration options[Indexing]
fixed issue with saving an index with map when bracket access is being used in the function[Indexing]
check for duplicate fields when saving an index[Patching]
ability to define query options when patching[Security]
properly disable sections of the Studio according to the security clearance- various fixes and stability improvements
4.2.8 (42034) - 2020/01/21
Server
[Cluster]
various stability improvements[Cluster]
fixed possible socket leaks in FollowerAmbassador and CandidateAmbassador[Cluster]
large snapshot installation will be done via file from now on to not hold the connection and avoid encountering read timeout[Backup]
fixed possible memory leak during export that could cause decreased speed of export[Backup]
fixed a possibility of creating duplicate backups[Backup]
fixed possible failure when doing snapshot and incremental backup when encryption is set[Backup]
optimized restoring from Google Storage process[Backup]
added support for backup retention policy on Azure[Indexing]
fixed updates of Reference documents when OutputReduceToCollection is set[Indexing]
OutputReduceToCollection should not create new side-by-side instances after server restart[Indexing]
processing speed will include side-by-side indexes and only when index is running[Indexing]
separating MapReferenceSuccesses in statistics from MapSuccesses[Indexing]
handling nested null propagation operators and null conditional access[Migration]
added a support for case sensitive collations[Monitoring]
added server certificate expiration endpoint to SNMP[Monitoring]
added time since oldest backup endpoint to SNMP[Monitoring]
added the ability to disable time window checks that are problematic for some monitoring software[Patching]
exposing @change-vector in metadata[Replication]
preventing double dispose of replication handler which could cause a replication to stop completely in some cases[Replication]
fixed possibility for a deadlock of Replication by Tombstone Cleaner
Client API
[Commands]
added support for Broadcasting along with 'FirstBroadcastAttemptTimeout' and 'SecondBroadcastAttemptTimeout' conventions[Conventions]
added 'HttpVersion' convention with HTTP/1.1 as a default[Operations]
handling properly server down when waiting for an operation[Projections]
support for IDictionary in JavaScript projections[Projections]
added support from projecting from a dictionary when dictionary key has a comma inside[Projections]
support for projecting null array[Querying]
fixed issue with creating a query on Id field when OrderBy is used[Session]
Load should not throw when 'NoTracking' is enabled and document does not exist on the server[Subscriptions]
addedToSubscriptionCreationOptions
that allows to convert from generic to non-generic subscription
Studio
[Database]
added the ability to modify database record[Documents]
fixed issue with adding same attachment which would not trigger popup window[Indexing]
allow to filter indexes that has errors
Tools
[Recovery]
better error handling when recovering encrypted storage without encryption key