What's new

4.2.105 (42057) - 2020/08/17

Server

  • [Backup] fixed race condition between finishing and setting a new backup
  • [Backup] fixed issue with restoration of encrypted backups sometimes timing out
  • [Backup] fixed NRE that could occur when restoring backups using Azure
  • [Configuration] added 'Indexing.ManagedAllocationsBatchSizeLimitInMb'
  • [Encryption] performance improvements for encrypted databases
  • [Expiration] allow usage of expiration and refresh at the same time
  • [Indexing] indexing batch will stop if managed allocations are exceeding threshold defined in configuration 'Indexing.ManagedAllocationsBatchSizeLimitInMb' (2048 by default)
  • [Indexing] fixed possible 'VoronUnrecoverableErrorException' when Map-Reduce index is used
  • [Indexing] fixed possible 'IndexOutOfRangeException' when Lucene commit is too big
  • [Replication] fixed issue with attachment stream being deleted when not all revisions with that attachment were replicated
  • [Replication] added 'RegisterBytesSent' and 'RegisterBytesReceived' to replication statistics
  • [Revisions] when document is being deleted and it has revisions, but revision configuration was deleted, then we should remove the revisions
  • [Querying] avoid infinite loop when 'WaitForIndexesAfterSaveChanges' is used without throwing on timeout
  • [Subscriptions] fixed issue with subscription not always reconnecting due to race condition
  • [.NET Core] updated to 3.1.7

Client API

  • [Patching] added support for nullable in strongly-typed patching
  • [Patching] added support for LINQ in strongly-typed patching
  • [Revisions] added 'ForceRevisionCreationFor' to async API
  • [Subscriptions] fixed issue with subscription not always reconnecting due to race condition

Test Driver

  • fixed issue with deleting some temporary directories when database is running in memory

4.2.104 (42054) - 2020/07/22

Server

  • [Backups] properly rearrange backup timer if cluster will be voting during first backup
  • [Backups] fixed issues with setting up in allowed backup destinations Google Cloud
  • [Backups] added the ability to restore using custom S3 compatible APIs (e.g. Backblaze)
  • [Backups] restore points should be retrieved correctly when there is a snapshot available
  • [Certificates] added alert 3 weeks before certificate expiration
  • [Client API] better handling of interversion Client APIs communication
  • [Cluster] added the ability to set max assigned cores per each node in the cluster
  • [Compaction] fixed 'VoronConcurrencyErrorException'
  • [Counters] fixed issue with counter operation not returning null for non existing IDs
  • [Counters & Replication] fixed the possibility of counter not being replicated correctly upon counter deletion
  • [ETL] fixed last processed etag not being correctly updated when the task was cancelled or there was a huge load error and ETL had to perform some internal filtering
  • [Licensing] added 'Release Date' support to prevent activations of expired licenses
  • [Linux] enhanced DiskFullException recognition
  • [Logging] fixed issues with resetting log number after date change
  • [Memory] avoid holding pinned memory in the pools
  • [Migration] added LogFileSize and MaxVerPages argument support
  • [Monitoring] added Total Dirty Memory endpoint
  • [Patching] added ability to set '@refresh' in the '@metadata'
  • [Querying] fixed issue with query limits being ignored when query metadata is cached
  • [Querying] fixed Cartesian distance calculation for Spatial queries
  • [Revisions] configuration is no longer case sensitive
  • [Revisions] fixed issue with creating a revision upon document conflict which might have resulted in final document having counters snapshot in the metadata
  • [Subscriptions] do not redirect the subscription before validating that subscription was created already on that node
  • [Threads] fixed race condition between setting Thread Affinity and Process Affinity
  • [.NET Core] updated to 3.1.6

Client API

  • [Unity 3D] fixed NRE during store initialization
  • [Patching] added support for GUID, DateTime, DateTimeOffset and Enum constants during strongly-typed patching

Studio

  • [Certificates] ability to select how many months certificate should be valid
  • [Compaction] added the ability to select what should be compacted

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