Contribute to RavenDB documentation

Become part of the community! Contribute to documentation.

What's new

4.2.3 (42018) - 2019/08/26

Server

  • [Backup] backups will be delayed when in low-memory state to avoid putting even more pressure on the server
  • [Backup] backups will be executed on a non-primary node in database group to avoid putting pressure in the node that handles traffic
  • [Configuration] added Backup.LowMemoryBackupDelayInMin and Server.CpuCredits.ExhaustionBackupDelayInMin
  • [Configuration] added Server.CpuCredits.Exec, Server.CpuCredits.Exec.Arguments, Server.CpuCredits.Exec.SyncIntervalInMin and Server.CpuCredits.Exec.TimeoutInSec
  • [Configuration] added Monitoring.Snmp.AuthenticationProtocol, Monitoring.Snmp.AuthenticationUser, Monitoring.Snmp.AuthenticationPassword, Monitoring.Snmp.PrivacyProtocol, Monitoring.Snmp.PrivacyPassword and Monitoring.Snmp.SupportedVersions
  • [Counters] stabilization and improvements in replication regarding the transaction boundaries
  • [Cluster] stability improvements
  • [Cluster] promoting and demoting node should be a ClusterAdmin, not Operator operation
  • [Debug] added '/admin/cpu-credits' and '/debug/cpu-credits' endpoints
  • [Endpoints] added '/admin/stats'
  • [Endpoints] SNMP monitoring endpoints now require Operator permissions instead of ClusterAdmin
  • [Expiration] fixed possible leaks of tasks when a lot of databases is being unloaded or deleted
  • [Expiration] fixed the possibility of a situation where cleaner would be executed more often than the configured value
  • [Indexing] fixed the possibility to encounter stale indexes when node was added to a cluster database group
  • [Indexing] output of map-reduce indexing functions should not use the same property accessor cache, because it might not contain necessary group by fields needed
  • [Indexing] better handling of dictionaries in indexing functions
  • [Indexing] added 'id' and 'getMetadata' functions to JavaScript indexes
  • [Indexing] properly handling negation on double
  • [Licensing] fixed a corner case when "Let's Encrypt" certificate would not auto-renew itself even if license allows that
  • [Memory] x86 memory optimizations and AVE fixes
  • [Memory] fixed few detected memory leaks and adjusted couple memory usages to reduce the memory footprint
  • [Monitoring] added SNMP v3 AuthPriv support
  • [Monitoring] added new endpoints that return server storage disk information (OID: 1.3.6.1.4.1.45751.1.1.1.10.1-4) and an indication if server is running under low memory flag (OID: 1.3.6.1.4.1.45751.1.1.1.6.2)
  • [Operations] wrapping background task in a separate task to avoid any delays in retuning the operation ID to the client
  • [PAL] added EBADF to EFBIG and EINVAL when pwrite instead of fallocate for supporting aufs
  • [Querying] fixed issue with returning results when query is done on decimal 0 value
  • [Querying] reduced the CPU footprint when performing heavy faceted search
  • [RQL] detecting properly artificial projection e.g. 'from Orders as o select o'
  • [Subscriptions] will use proper batch size on x86 systems
  • [Subscriptions] subscriptions for specific collections should do case insensitive comparison in case when documents have a different casing of collection names
  • [Voron] fixed "attempted to delete value but it wasn't in index" bug
  • [Voron] fixed "tried to released page X but couldn't find it in the allocation section" bug that could occur on 32-bit systems
  • [Voron] reducing the sizes of journals, logs and scratches on x86 systems
  • [Voron] fixed corner case where "SearchPageFor" could skip values

Client API

  • [Changes API] fixed possible connection leak due to invalid connection hash calculation
  • [Indexes] added 'System.Text.RegularExpressions' to a list of well-known server-side assemblies, so parameters from methods like 'Regex.IsMatch' will not be converted to strings
  • [Patching] proper handling when session.Advanced.Patch is used on a collection, will not duplicate records in collection after SaveChanges
  • [Session] invoking 'Evict' will release additional internal structures to reduce memory footprint
  • [Subscriptions] opening a session will skip tracking revisions if this is a subscription that retrieves revisions

Studio

  • [Backup] added an ability to set Retention Policy when backup is being configured
  • [Backup] added UI for configuring Server-wide Backup
  • [Backup] restoring from Cloud will show details about the source of restore
  • [Dashboard] added System storage to the storage section
  • [StackTraces] various improvements
  • Delete by Query should display a progress popup when executed
  • styling improvements

Other

  • [Test] TestDriver now correctly adjusts automatic database names when 'GetDocumentStore' is executed from constructor and not from method

4.2.2 (42017) - 2019/07/15

Server

  • [Backup] Added retention policy for backups
  • [Backup] Added restore from RavenDB cloud
  • [Backup] Fixed allowed backups to Amazon S3
  • [Cluster] Stability improvements
  • [Cluster] Added option to remove specific change vectors from a database (UpdateUnusedDatabasesOperation)
  • [Configuration] Added 'Updates.BackgroundChecks.Disable configuration option
  • [Import] Fixed import of .ravendbdump file with existing auto map-reduce index
  • [Licensing] Fixes cores reassign when moving from upgrading to higher license
  • [Licensing] Fixed loading of null cert
  • [Patching] Fixed patching of documents created by cluster transactions
  • [PAL] Fixed problem with copying librvnpal binary on server startup
  • [Subscriptions] Fixed subscriptions on deleted revisions
  • Added Refresh feature that will touch a document according to date in @refresh metadata
  • Updated .NET Core to version 2.2.6

Client

  • [Connection Strings] Added RaftCommandIndex field to PutConnectionStringResult and RemoveConnectionStringResult. ETag field was marked as obsolete.
  • [Conventions] Added CustomizeJsonDeserializer convention
  • [Identities] Added dedicated operations for working with identities (NextIdentityForOperation, SeedIdentityForOperation
  • [Revisions] Added a way to manually force revision creation session.Advanced.Revisions.ForceRevisionCreationFor

4.2.1 (42010) - 2019/06/27

Server

  • [Backup] Support for Google Buckets as backup target
  • [Backup] Added option to define a backup operation across all databases
  • [Certificates] Export certificate will work for Operators
  • [Compare Exchange] Added ability to store null as compare exchange value
  • [Compare Exchange] Fixed import of compare exchange values when importing from 4.1 .ravendump file
  • [Cluster] Stability improvements
  • [Counters] Improved import performance and possible memory leaks during the process
  • [CSV] Fixed missing Raven-Clr-Type in Export/Import CSV
  • [Debugging] Added /cluster/topology to the debug package info
  • [Debugging] Capturing stack traces on Linux
  • [Encryption] Improved memory usage by background operations in encrypted databases]]
  • [ETL] Added ETL.MaxBatchSizeInMb option to limit batch size by amount of sent data (default: 64MB)
  • [Indexing] Fixed cleanup on idle index
  • [Indexing] Recreating index writer on EarlyOutOfMemoryException
  • [Indexing] Added support for Aggregate, Join, GroupJoin, LongCount, ThenBy, ThenByDescending, TakeWhile, SkipWhile in the index definition
  • [Indexing] Ignoring ObjectDisposedException on index deletion and not reporting it to the Studio
  • [Indexing] Added configuration option Indexing.Encrypted.TransactionSizeLimitInMb (default: 64MB)
  • [Indexing] Better handling of methods in additional sources
  • [Logging] Added Logs.Compress option to compress log files (default: false)
  • [Logging] Added Logs.RetentionSizeInMb option to control logs retention based on size (default: disabled)
  • [Patching] Fixed memory leak
  • [Patching] Patch will preserve the order of properties
  • [Querying] Added support for sorting by Id as a alphanumeric value
  • [Replication] Fixed conflict creation of HiLo documents
  • [Replication] Fixed NRE when replicating HiLO document tombstone
  • [Replication] Added Replication.RetryMaxTimeoutInSec allowing to retry on replication failure (default: 300 sec)
  • [Subscriptions] Fixed possible endless loop when testing a subscription
  • [Subscriptions] Fixed include usage in subscriptions test
  • [Subscriptions] After restore from export file subscriptions will have different internal identifier
  • [Suggestions] Fixed index writer recreation after indexing batch
  • [Setup Wizard] Fixed port issue when setting up cluster
  • [SNMP] Added SNMP alert for CPU credits
  • [Voron] Fixed error handling in async transactions
  • [Voron] Recognize SMB2 shares as not valid for dir sync
  • Fixed possible race condition during server initialization when using HTTPS
  • Fixed RavenDB 4.2 incompatibility on Windows 7
  • Enhanced performance handling on burstable instances by scaling down background operations
  • Fixed potential server update problem if libsodium or librvnpal libraries were updated

Experimental

  • [Graph API] Support for alias in edge SELECT clauses

Tools

  • [Voron Recovery] Added support for recovering encrypted databases

Client

  • [Backup] Added option to pass node to RestoreBackupOperation
  • [Backup] Added RemoteFolderName to Glacier backup setting
  • [Configuration] Preventing multiple calls to configuration/client endpoint
  • [Cluster] Improving client interaction with the cluster
  • [Cluster] Added SetDatabaseDynamicDistributionOperation operation
  • [Memory] Fixed cached memory usage
  • [Projections] Fixed calculations on integers
  • [RQL] Marking 'limit' and 'offset' as reserved keywords
  • [Querying] Fixed custom converters usage when serializing query parameters
  • [Querying] Added overload for Search method allowing to provide a collection of search terms
  • [Session] Fixed changes detection of session.Advanced.WhatChanged()
  • [Session] Fixed session clearing
  • [Smuggler] Better error handling on Smuggler.ExportAsync is provided path isn't valid or accessible
  • [Streaming] Added support for StreamQueryStatistics to async streaming API
  • Prevented accepting tasks configurations when creating a database or updating database record
  • Fixed DatabaseDoesNotExistException on first operation after creating database

Studio

  • [Backup] Fixed Backup local destination folder autocomplete
  • [Licensing] Added Renew option if license is expired
  • [Cluster] Fixed displayed version after server update on Cluster view
  • [Cluster] Fixed Cluster view constantly showing Voting in Progress
  • [Replication Graph] Displaying replication errors

4.2.0 (42009) - 2019/05/21

Features


Out of Experimental


Experimental

  • [Graph API] Graph Queries support. Blog

Other

  • [Indexing] added dynamic fields (CreateField) to the Terms view
  • [Indexing] added NGramAnalyzer along with Indexing.NGram.MinGram and Indexing.NGram.MaxGram configuration options
  • [JavaScript] performance optimizations
  • [Studio] introduced Light and Blue themes
  • [Studio] added the ability to Diff the Revisions. Blog
  • [Studio] added Identities view
  • [Studio] added StackTraces view
  • [Studio] added Running Queries view and the ability to kill them
  • [Querying] added support for Custom Sorters
  • [RQL] added support for Limit and Offset

Client API

  • [Events] added conversion events to the DocumentStore
  • [Indexing] AbstractIndexCreationTask allows to set index configuration
  • [Subscriptions] support for strongly-typed subscription includes
  • [Querying] added ToArrayAsync support