NoSQL Database Documentation

We hereby welcome you into the RavenDB Documentation.
Feel free to explore the sizeable world of our premier NoSQL database.

Contribute to RavenDB documentation Become part of the community! Contribute to documentation.
5.3 5.1 5.0 4.2 4.1 4.0 3.5 3.0 2.5

What's new

5.2.6 (52021) - 2022/01/07

Server

  • [Compression] fixed possible data corruption issue that could occur when transaction which used compression was rolled-back

5.2.5 (52020) - 2021/12/21

Server

  • [Backup] fixed issue with testing AWS credentials when custom URL is used
  • [Backup] fixed issue with rescheduling backup when during processing it is being moved to another node
  • [Backup] added 'ForcePathStyle' option to S3 settings
  • [Backup] properly escaping tombstone ID during backup
  • [Backup] fixed issue when exporting and importing could lose ID capitalization when cluster transaction with atomic guard was used to create that document
  • [Cluster] idle indexes should not be taken into account when calculating promotable state
  • [Compare Exchange] fixed possible NRE when 'AddOrUpdateCompareExchangeCommand' is executed due to possibility of early context release
  • [Configuration] added 'Indexing.TimeSinceLastQueryAfterWhichDeepCleanupCanBeExecutedInMin' configuration option
  • [Configuration] added 'Indexing.IndexStartupBehavior' configuration option
  • [ETL] fixed possibility of infinite loop in ETL (backported from 5.2)
  • [ETL] fixed issue with removing node from database too early when deletion status is still set to 'no'
  • [Indexing] added support for 'LoadDocument' without adding a tracking reference
  • [Indexing] early stop reference processing if server is under memory pressure
  • [Indexing] fixed issue with retrying 'OutputReduceToCollectionCommand' in transaction merger which could result in not deleting relevant documents
  • [Indexing] fixed issue with calculating hash incorrectly for double values in map-reduce indexes causing increased number of hash collisions to handle
  • [Indexing] expose batch complete reason in the indexing performance stats for Cleanup & References
  • [Querying] fixed issue with calculating total number of results when using collection query on a non-existent property
  • [Querying] properly handling NULL_VALUE when sorting alphanumerically
  • [Querying] added the ability to do JavaScript projection of Time Series values
  • [Replication] fixed issue with calculating properly HasRevisions flag when replicating document delete
  • [Replication] revision configuration should create revision bin for documents deleted by replication
  • [Replication] expose incoming replication stats from external replication to the Ongoing Tasks View
  • [Time Series] decrease CPU usage during streaming of large time series
  • [Transactions] fixed issue with re-running some of the commands when merging fails and they need to be executed once again one by one
  • [Voron] using 'mmap' instead of 'posix_memalign' when allocating 4KB aligned memory for encryption buffers to avoid memory fragmentation
  • [.NET] updated to .NET 5.0.13

Client API

  • [Querying] throw when whole entity instance is compared inside conditional statement
  • [Querying] support for using select after select (will be handled same as 'let')
  • [Querying] caching index metadata to increase query building process performance
  • [Querying] caching query parameter names to increase query build process performance

Other

  • [Docker] added the ability to override server URL via RAVEN_ServerUrl environment variable

5.2.4 (52016) - 2021/11/15

Server

  • [Backup] do not cancel running backup even if task was moved to another node
  • [Backup] fixed issue with restoring Snapshot backup when compare exchange values exist
  • [Cluster] fixed issue with Cluster might accepting commands from higher version than the current one when doing mixed version clusters
  • [Cluster] properly snapshot compare exchange with expiration
  • [Counters] remove leading whitespace from Counter Values Change Vector
  • [Counters] prevent from generating invalid Change Vector that starts with comma
  • [ETL] properly validate if number of transform scripts is greater than 0
  • [ETL] properly handling casing mismatch between table name and table definition
  • [ETL] state should be tracked per database ID instead of node tag to avoid progress miscalculations when node is being removed and re-added
  • [ETL] allow to pass SQL table name with a schema in the script
  • [Import] handle compare exchange values incrementally when doing an import from v4.x
  • [Import] properly handle revisions when doing an import with time series
  • [Indexes] validate if index was created using our database and not copied from a different one
  • [Indexes] properly handle cancellation when doing flush and sync to avoid generating index error
  • [Indexes] fixed issue with throttled indexes getting stuck sometimes
  • [Indexes] added the ability to turn off the size limit check when requesting for index entries
  • [Monitoring] exposed MemInfo (linux) to SNMP
  • [Monitoring] exposed number of faulted databases to SNMP
  • [Querying] fixed issue with collection size limitation when using 'Not In' clause and the possibility to return invalid results
  • [Querying] properly handle NULL_VALUE when using alphanumeric sorting
  • [Replication] do not stop replication when replicating a document with a changed collection and there is a conflict already
  • [Replication] properly handling Tombstones for legacy 3.x replication
  • [Replication] properly setting HasAttachment, HasCounters flag in reverted revision documents
  • [Replication] fixed issue with negotiating replication protocol version
  • [Transactions] properly handling Change Vector when TxMerger executes transactions one by one to avoid returning invalid Change Vector
  • [TCP] properly dispose Ping connections to avoid having a lot of CLOSED_WAIT sockets
  • [Voron] fixed invalid handling of journals created based on recyclable ones during the storage recovery on startup
  • [Voron] fixed 'Collection was modified; enumeration operation may not execute.' when generating a storage report
  • [.NET] updated to .NET Core 5.0.12

Client API

  • [Document Store] exposed 'HiLoIdGenerator'
  • [Session] support for selecting metadata in single call expressions
  • [Session] support for nested projections when using LINQ
  • [Operations] fixed issue with using TypeNameHandling.None by user and deserialization of Operations
  • [Operations] fixed issue with contacting server when using server-wide operations and node is a watcher

Studio

  • [Admin Logs] clearing admin logs when they are paused should not start them
  • [Compare Exchange] display Raft Index
  • [Licenses] display connectivity to api.ravendb.net
  • [Licenses] show force update license on all license types
  • [Notifications] added total documents size for page size is too big performance hint
  • [OLAP ETL] fixed issue with opening Test Area
  • [Patching] provide number of affected documents before executing patch
  • [Querying] fixed issue with providing query parameters as inline JSON
  • [Threads] added the ability to view a stack trace of a single thread
  • [Threads] added the ability to filter by thread Id

5.2.3 (52012) - 2021/09/29

Server

  • [Backups] fixed issue with restoring snapshots that were 2GB+ because of limitations of ZipArchive in .NET
  • [Backups] fixed issue with Azure client having issues with staging large blocks
  • [Backups] fixed progress update in AWS S3 and AWS Glacier clients
  • [Backups] fixed issue with restoring snapshot backups containing compression recovery files
  • [Cluster] decrease the amount of locks taken by cluster to avoid contention
  • [Cluster] check for topology changes also on server-wide requests resulting in faster topology change discovery by Client APIs
  • [Configuration] added 'Backup.UploadTimeoutInMin'
  • [Configuration] added 'Security.Certificate.Validation.KeyUsages'
  • [Encryption] decreased memory footprint when generating storage report with attachments on an encrypted database
  • [Indexes] fixed possible storage corruption in indexes that are using Suggestions
  • [Indexes] fixed issue when modifying 'PatternReferencesCollectionName' in map-reduce indexes could create conflicts during replication
  • [Indexes] fixed issue with using 'IfEntityIs'
  • [Indexes] fixed NRE when database compaction is executed - could happen if auto indexes were merged
  • [Indexes] prevent database from unloading because of idleness during index compaction
  • [Indexes] 'ErrorIndexStartupBehavior.ResetAndRestart' will also try to reset the Faulty indexes
  • [Indexes] index will create a Studio performance hint notifications when substantial amount of LoadDocument & LoadCompareExchangeValue calls per single reference item exists
  • [Linux] set 'TasksMax' to infinity in 'ravendb.service' file
  • [Memory] fixed memory leak that could occur in Databases cache when a lot of databases is being added and deleted
  • [Monitoring] exposed writes and data written per second in SNMP for server and per database
  • [Monitoring] exposed average request duration for server
  • [Querying] better exception when page size is negative
  • [Querying] fixed issue with 'Not In' not support more than 128 items
  • [Replication] fixed issue that could cause replication problem if a revision of a conflict between document and document deletion occurs
  • [Subscriptions] do not send includes in every subscription batch when the list of them is empty
  • [Revisions] properly set etag when revision bin entry is created to avoid issues with ordering and therefore retrieving the revisions bin entries
  • [Voron] immediate process exit on catastrophic failure in server store to avoid running with invalid state

Client API

  • [Session] using 'Evict' method should release memory immediately to release memory pressure as soon as possible
  • [Operations] fixed issue with deserialization of 'IOperationResult' when 'TypeNameHandling.None' is set in conventions
  • [Operations] fixed possible NRE when waiting for smuggler operation if it was completed before the wait was called

Studio

  • [Certificates] added the ability to generate client certificate with expiration date in days instead of months
  • [Certificates] allow Operators to enter Custom Analyzers & Sorters views
  • [ETL] added the ability to edit script name
  • [Indexes] fixed NRE when navigating to a non-existing index
  • [Indexes] more detailed index change history
  • [Ongoing Tasks] added the ability to create ongoing task as disabled
  • [Querying] fixed issue with Spatial queries not showing 'Map view'

Embedded

  • added support for + in ServerOptions.FrameworkVersion for Patch number with default set to 5.0.10+

Tools

  • [rvn] proper 'CTRL+D' and 'EOF' handling

Docker

  • added support for $RAVEN_DATABASE parameter which creates given database on a first run
  • added support for 'arm64' docker image

5.2.2 (52003) - 2021/08/16

Server

  • [Backups] moved to official Azure, AWS S3 and AWS Glacier clients
  • [Backups] on export avoid ArgumentNullException because of lack of ClusterTransactionId which was added in 5.2
  • [Bulk Insert] added 'SkipOverwriteIfUnchanged' support
  • [Certificates] added support for 'PBEwithHmacSHA-256 encrypted certificates'
  • [Concurrency] fixed possibility of loosing a document tombstone when optimistic concurrency 'put' is done after 'delete'
  • [Configuration] added 'Storage.DiscardVirtualMemory' option
  • [Compression] added the ability to compress all collections without specifying their name individually
  • [Encryption] fixed issue with removing encrypted node with wrong key
  • [Indexing] decreased CPU pressure by scheduling indexing cleanup only when it is needed
  • [Indexing] avoid creating index writer if no results were generated
  • [Indexing] handle properly OperationCancelledException and ObjectDisposedException when querying an index that is being replaced at the same time
  • [Indexing] handle 'SelectMany' in nested dictionary properly in indexing functions
  • [Indexing] fixed select value from collection in indexing function while using 'FirstOrDefault' method
  • [Indexing] method 'LoadDocument' should return null for null IDs
  • [JavaScript] releasing memory earlier in Jint engine to reduce the memory footprint
  • [Monitoring] added endpoints to monitor number of indexes, stale indexes and indexing performance in all loaded databases
  • [Querying] when projecting from a document that does not exist already, we should skip that document
  • [Querying] fixed issue with paging on unbounded set when 'StartsWith' on 'id()' is used
  • [Querying] support for loading multiple values from Lucene document when doing a projection
  • [Replication] when replication failovers it should check destination change vector and start from there, not from scratch
  • [Revisions] enforcing revision configuration should also take into account document tombstones
  • [Revisions] added 'MaximumRevisionsToDeleteUponDocumentUpdate' option
  • [RQL] added support for parameters starting with a number e.g. $1
  • [Voron] fixed issue with recursive write lock acquisitions when removing inactive scratches
  • [Voron] fixed possibility of accessing disposed pager of 'compression.buffers'
  • [Voron] fixed int.MaxValue overflow in 'AdjustPagesRequiredFor32Bits' when running on 32-bits
  • [Windows] server will take into account Job memory limits when amount of resources available is calculated
  • [.NET] updated to 5.0.8

Client API

  • [Bulk Insert] added 'SkipOverwriteIfUnchanged' option
  • [Indexing] fixed issue with generated index definition from LINQ when generic arguments are used
  • [Querying] fixed issue with using 'Group' as a property name in includes
  • [Querying] fixed missing alias when doing a secondary level includes
  • [Operations] added 'GetDatabaseSettingsOperation' and 'PutDatabaseSettingsOperation'
  • [Revisions] added the ability to include revisions by date and Change Vector
  • [Session] method Attachmnts.GetNames should return correct number of attachments after deletion
  • [Session] properly detect changes in documents containing Unicode characters
  • [Session] fixed cache issue when using MultiGet
  • [Subscriptions] added 'Disabled' to 'SubscriptionCreationOptions'

Studio

  • [Ongoing Tasks] will keep their state (Disabled/Enabled) on save instead of becoming enabled
  • [Performance Hints] added Total Documents Size to paging performance hint
  • [Querying] correctly display number of documents when delete by collection is executed
  • [Replication] added number of replicated counters to Replication Stats Graph
  • [Storage] added grouping of the data in the graph if number of items is excessive
  • [Traffic Watch] added response size
  • do not align text in all of the notifications to center
  • fixed issue with setting LoadBalanceBehavior

Tools

  • [Debug] added ability to save traffic watch