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.

What's new

6.0.102 (60026) - 2024/04/29

Server

  • [Backup] Fixed an issue that restoring from incremental backup with atomic guard, a tombstone could be handled before creating the document
  • [Corax] Fixed descending sorting string values when querying
  • [Corax] Added support for MultiSortingMatch to allow a user to use score as secondary comparer
  • [Corax] Added support for @AllResults facet aggregations in Corax
  • [Corax] Fixed incorrect result from MultiTermMatch AndWithFill
  • [Cluster Transactions] Improved performance of cluster-wide transactions
  • [Cluster Transactions] Fixed the restore of a database with cluster transactions
  • [Cluster] Improved performance of updating database values by using separate semaphores for database record changes and value changes
  • [Debug] Added method to delete document by Etag
  • [Expiration & Refresh] Added an option to specify max number of items to process in a single run
  • [Indexing] Fixed unhandled cases in Index Merger. Added better error handling.
  • [Indexing] Aggregating CPU credits exhaustion notifications into a single alert
  • [Indexing] Improved the performance of indexes with LoadDocument from different collections
  • [Licensing] Preventing the downgrade of the license when features are being used
  • [Monitoring] Exposed alerts and notifications via /databases/*/notifications endpoint
  • [Querying] Fixed translation of DateTime.MaxValue to JS date when building RQL with JS projection
  • [Querying] Fixed count, distinct, and paging for very specific cases of collection queries
  • [Querying] Fixed the detection of index staleness which could result in returning stale results in specific scenarios
  • [Querying] Fixed OutOfRangeException in alphanumerical sorter
  • [Replication] Added authorization check for the legacy replication for indexes
  • [Replication] Improved Usability & Self-Service for replication monitoring
  • [Replication] Fixed active connections preview
  • [Replication] Fixed access to delete Filtered replication
  • [Sharding] Making DeleteBucketCommand aware of size of the transaction
  • [Sharding / Voron] Fixed addition of a value to a dynamic index (used in sharded databases)
  • [Sharding / Backup] Fixed wrong folder name in Server-wide sharded backups with script-generated settings
  • [Voron] Fixed dispose patterns in internal structures
  • [.NET] Updated to .NET 8.0.4

Client

  • [Bulk Insert] Fixed a possible NRE in the heartbeat timer
  • [Cluster Transactions] Removed a legacy check if Cluster Transactions are supported
  • [Indexing] Exposed referenced collection in index statistics
  • Fixed inconsistent exceptions between sync and async API

Smuggler

  • [Import] Enforcing available feature restrictions during the import (according to the license)

Studio

  • Added ignore MaxStepsForScript option on the Patching view
  • Exposed info about compressed document
  • Fixed Edit view of Sink in Pull Replication
  • Fixed handling 404 for load document
  • Fixed Custom sorters view where new sorters had the same key
  • Fixed an issue where detailed database & indexing stats disappeared automatically
  • Improved Unused Database IDs page

6.0.101 (60017) - 2024/03/19

Server

  • [Cluster] Avoid logging expected cluster exception
  • [Cluster] Fixed the failover mechanism for cluster transactions
  • [Cluster] Using SemaphoreSlim instead of a blocking Monitor.TryEnter as the cluster lock to prevent potential ThreadPool starvation
  • [Cluster] Fixed an edge case of NRE in ClusterStateMachine when adding a database
  • [Cluster] Fixing Raft log truncation
  • [Corax] Fixed usage of AndNot in CoraxQueryBuilder
  • [Corax] Exposing Corax query structure when including timings()
  • [Corax] Added support for phrase querying
  • [Corax] EntryReader must use more accurate comparison than lowest bit set for storing numeric values
  • [Corax] Fixed an issue with ordering by fields having no terms
  • [Counters] Fixing the allocation size for a counter group name when purging counter tombstones
  • [ETL] Stopping an ETL tasks in an async fashion to avoid holding the cluster lock
  • [Indexing] Fixed incorrect staleness status due to unprocessed document tombstones after the replication
  • [Indexing] Fixed handling of field names extraction for boosted fields in JavaScript index definition
  • [Indexing] Making Corax default search engine for Community, Developer, AGPL licenses
  • [Licensing] Making sure the license verification check will be executed when running as Windows Service
  • [Performance] Optimization of blittable JSON text writer
  • [Performance] Optimized Page Locator Reset mechanism in Voron
  • [Performance] Routing performance improvements
  • [Querying] Fixed TotalResults number in query statistics for collection query with load or include
  • [QueueSink] Prevented from unloading an idle database it if has an active Queue Sink task so it will be able to consume incoming messages
  • [Revisions] Fixing an issue that Enforce revisions configuration was skipping on docs when passing multiple collections
  • [Subscriptions] Fixed an issue with missing metadata on subscriptions with revisions enabled
  • [Subscriptions] Fixed a task connection status when getting subscription ongoing task by name
  • [Subscriptions] Fixed the update of change vector when task gets back on previously processing node
  • [Subscriptions] Fixed an issue that concurrent subscription connection would not pickup the latest subscription state change vector in rare case
  • [ThreadPool] Doubling the minimum workers of ThreadPool in the default configuration
  • [Voron] Fixed occasional failures in loading the storage report
  • [.NET] Updated to .NET 8.0.3

Client

  • [Performance] Optimized session start by wrapping JavascriptCompilationOptions into lazy
  • Disposing the timer of fastest node check

Studio

  • Fixed wrong count of dedicated threads on Threads Runtime Info tab
  • Filtering out expired certificates by default
  • Making staleness reason more visible

6.0.100 (60012) - 2024/02/12

Server

  • [Backup] Cluster observer will decide which node should perform the backup
  • [Certificates] Avoid triggering the replacement of the server certificate when the new one that comes from the CertificateRenewExec is the same as the one that is currently used
  • [Cluster] Improved performance of cluster operations
  • [Cluster] Avoided materialization of the database record in HandleClusterDatabaseChanged()
  • [Cluster] Fixed truncation of Raft log
  • [Corax] Added ability to boost spatial primitive during queries
  • [Corax] Fixed comparison of doubles
  • [Corax] Fixed projections of stored date fields in JavaScript indexes
  • [Corax] Handled wildcard as a search term
  • [Configuration] System store will take into account Storage.Temp configuration option for temporary directory
  • [Debug] Fixed an issue with downloading a memory dump file generated by /admin/debug/dump endpoint
  • [ETL] Replaced deprecated MySql.Data.MySqlClient package by MySqlConnector
  • [ETL] Fixed an issue with not preserving the casing of Time Series names
  • [Import] Fixed an issue that after the import we could end up with two attachments with identical names on one document
  • [JavaScript] Jint library upgraded to 3.0.0
  • [Logging] Added ability to persist configuration of the server logs and the traffic watch logging
  • [Patching] Improved performance of patches initialization
  • [Querying] Support for nullable numeric parameters of in clause
  • [Revisions] Fixed concurrent usage of the context in the revisions storage
  • [Setup] Fixes in rvn tool for the initial setup operations
  • [Voron] Removed lazy transactions support
  • Fixed issue that a database ID couldn't be added to unused database IDs
  • [.NET] updated to .NET 8.0.1

Client

  • [Time-Series] Fixed an issue that GetMultipleTimeSeriesOperation was not using returnFullResults value
  • Fixed an issue that WhatChanged() did not return old value for RemovedField on Dictionary
  • Fixed finalization of RequestExecutor instances
  • Throw meaningful exception when trying to use default HiLoIdGenerator while a custom AsyncDocumentIdGenerator convention was set

Studio

  • [Security] Introduced TOTP support for browser generated requests

6.0.4 (60008) - 2024/01/19

Server

  • [JavaScript Indexes] Fixed regression introduced in 6.0.2 which made that date fields indexed by JavaScript indexes got different format so queries could not find old results. If an index is affected (has a date field) then the reset is required in order to recover.

  • [Counters] Fixing the allocation size for a counter group name when purging counter tombstones

6.0.3 (60006) - 2024/01/16

Server

  • [Subscriptions] fixed issue with concurrent subscription not picking up appropriate state when connecting