[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
[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