You are currently browsing legacy 4.1 version of documentation. Click here to switch to the newest 4.2 version.

We can help you with migration to the latest RavenDB

Contact Us Now

What's new

4.1.4-patch-41009 - 2019/02/01

Server

  • [Cluster] Stability improvements
  • [Changes API] Support for failover
  • [CLI] Fixed infinite loop in CLI under certain conditions
  • [Debug] Fixed threads CPU usage calculation
  • [ETL] Fixed ETL from encrypted databases is not ignored if AllowEtlOnNonEncryptedChannel is set
  • [ETL] Changed defaults for the following settings: ETL.ExtractAndTransformTimeoutInSec - 30 sec, ETL.MaxNumberOfExtractedDocuments - 8192, ETL.MaxNumberOfExtractedItems - 8192
  • [Indexing] Fixing comparison of two enums in an indexing function
  • [Indexing] Fixed possible races in indexing replacement mechanism
  • [Indexing] Fixed error handling for disk full and out of memory errors
  • [Indexing] Fixed NRE when accessing Id or AsJson of a loaded document
  • [Replication] Fixed attachment change vector on replication
  • [Revisions] Fixed number of revisions after database restore
  • [Revisions] Fixed resolved document and revisions behavior
  • [SNMP] Added entry for total number of indexing errors in database
  • [Voron] Fixed the recovery process on database startup that could cause data corruption and checksum mismatch errors
  • [Voron] Fixed detection if compression buffers needs to be resized
  • [Voron] Fixed update of large values in the same transaction
  • [Voron] Schema updated to version 23
  • [.NET Core] Updated to .NET Core 2.1.7

Experimental

  • [Cluster Transactions] Fixed NRE when putting new counter after cluster transaction
  • [Cluster Transactions] Fixed reapplying cluster transaction commands
  • [Counters] Fixing database change vector update after updating a counter
  • [Counters] Fixed error in delete counter replication

Tools

  • [Voron Recovery] Fixed scenario that applying journals on recovery enlarges data file
  • [Voron Recovery] Added IgnoreInvalidJournalErrors option

Client

  • [Querying] Fixed queries for map-reduce indexes using projection and load
  • [Querying] Marked QueryStatistics.ResultSize and QueryResult.ResultSize as obsolete
  • [Querying] Fixed NRE instead of throwing IndexDoesNotExistException for lazy queries if an index doesn't exist
  • [Session] Fixed order of disposing blittables after calling SaveChanges that resulted in NRE
  • [Session] Fixed loading of a document with the usage of .Include if it was already loaded
  • [Smuggler] Fixed error handling when import operation fails before we send the request or in the middle of it to avoid hanging
  • Increased number of allowed connections when running on full .net framework (from 2 to 10,000)

Studio

  • [Querying] Fixed inifinite loop for queries using distinct
  • [Cluster] Fixed "Voting in progress" message visibility
  • [Backup] Fixed restoring a backup into an encrypted database
  • [Setup Wizard] Let's Encrypt option isn't available on MacOS

4.1.4-patch-41008 - 2019/01/07

Server

  • [Backup] Fixed backup of indexes, identities and compare exchange values during incremental backup
  • [Backup] Fixed issue with stopping the backup when FTP backup is in progress
  • [Configuration] Changed default value of TransactionMerger.MaxTimeToWaitForPreviousTxInMs from 1000 to 0 which will enables auto-tuning
  • [Configuration] Added Notifications.FilterOut option that gives the ability to filter-out the notifications server-side
  • [Configuration] Added Monitoring.Cpu.Exec and Monitoring.Cpu.Exec.Arguments options
  • [Configuration] Added DataDir.EnforcePath
  • [Configuration] Added Storage.SyncJournalsCountThreshold
  • [Compaction] Fixing database compaction if Storage.TempPath config was set
  • [Cluster] Making sure disk full error will result in proper client failover
  • [Cluster] Stability improvements, fixed error handling
  • [Cluster] Making sure AuthorizationException isn't handled as unexpected error
  • [Cluster Transactions] Properly updating the database change vector
  • [CPU] Added the ability to execute a custom script that will override OS metrics
  • [ETL] Subscribing to document and counter changes only if there is any ETL process defined
  • [Indexing] Fixing possible access violation exception in map-reduce indexes when getting exception in unexpected phase
  • [Indexing] Fixed usage of load in JavaScript indexes
  • [Indexing] Dedicated error handling of disk full error
  • [Indexing] Improved performance of map-reduce indexes
  • [Indexing] Map-Reduce will not store implicit 'null' values anymore
  • [Indexing] Using correct analyzer for dynamic fields ('CreateField') when Search or Exact is used
  • [Indexing] Memory utilization adjustments
  • [Indexing] Support for 'Enumerable.Zip'
  • [Lucene] Memory optimizations
  • [Memory] Memory utilization enhancements and performance improvements
  • [Migration] Checking access to the data path when migrating from legacy data files
  • [Migration] Added support for PostgreSQL and Oracle
  • [Patching] Fixed issues with patching nested objects that could occur due to invalid nested object hash code calculation
  • [Querying] Fixed error converting value "NULL_VALUE" to type nullable type
  • [Querying] Fixed queries using distinct, skip and projections
  • [Querying] Export CSV will export the 'raw index entries'
  • [Querying] Exporting to CSV will now take into account the stored fields
  • [Querying] Explanations will take Map-Reduce hash key if no group key is specified, and will check if group key is not stored in Lucene before attempting to extract it from the result
  • [Querying] Support for phrases in search
  • [Querying] Added '@index-score' to query results for Map-Reduce index
  • [Revisions] Import will not generate new revisions (unless Revisions are enabled)
  • [RQL] Support for parameters in declared RQL functions
  • [Storage] Added dedicated 'SchemaErrorException' that will be thrown on storage schema mismatch
  • [Storage] Added the ability to enforace database path to a specified in configuration directory
  • [Storage Report] Fixed allocated sizes showing NaN
  • [Storage Report] Fixed possible NRE when generating storage report
  • [Traffic Watch] Fixed possible high CPU when using Traffic Watch
  • [Voron] Fixed invalid page release after revisions bin deletion and documents deletions
  • [Voron] Fixed exception handling during creation of a new db to prevent getting errors when starting the db again
  • [Voron] Added checksum validation of all modified pages after we completed the recovery to ensure we'll throw early if we have corrupted state
  • [Voron] Fixed updating of in-memory state of journal page table after failure during a transaction commit
  • [Voron] Improved ownership handling of the lock used by flushing / syncing operations to improve the sync performance
  • [Voron] Improved the speed of recovery process on a db restart after large transactions
  • [Voron] Throwing early on attempt to use an errored transaction
  • [Voron] Better memory utilization for transaction headers
  • Fixed creation of a document tombstone that could result in ConcurrencyException when using optimistic concurrency in a cluster
  • Fixed possible out of memory when there is very high rate of requests
  • Fixed NRE when there is a conflict on a document in the @empty collection
  • Fixed database disposal which could result in locking db.lock file and prevent from starting the db again

Experimental

  • [Counters] improved counters batch performance
  • [Counters] Fixed revision creation for conflicted counters

Client

  • [Changes API] Fixed UnobservedTask
  • [Querying] Support for projections with nullable types
  • [Querying] Added the support for '.OrderBy' and '.OrderByDescending' methods when projection is done
  • [Querying] Fixed projections using Id field on map-reduce indexes
  • [Querying] Add overloads supporting ContainsAll and ContainsAny on typed enumerable fields
  • [Querying] Better support of projections using dictionaries
  • [Querying] Fixed possible cast issue when executing 'ToQueryable'
  • [Querying] 'ToQueryable' will not create artificial projection
  • [Querying] Updated Lambda2JS to 3.1.2 (fixes issues with projecting enum with not equal operator)
  • [Subscriptions] Fixed disposal of the request executor in SubscriptionWorker
  • [Subscriptions] Making sure subscriptions won't track projection results
  • [Session] fixed issue with loading multiple documents via ID when all IDs length is greater than 1024
  • Fixed deserialization errors on getting progress or result of operations

Studio

  • [Dashboard] Added option to sort columns
  • [Setup Wizard] Added more explanations
  • [Certificates] displaying certificate renewal date
  • [Configuration] Added the ability to configure default replication factor via Studio Configuration view
  • [Indexing Performance] optimized speed of rendering and memory consumption
  • [Setup] fixed domain name character validation regex
  • Memory optimizations on various views that are showing large amounts of data (e.g. indexing performance, IO stats)
  • Fixed detection of the newest Chrome
  • Add thread CPU usage view

4.1.3 (41007) - 2018/11/19

Server

  • [Cluster] Fixed unexpected ConcurrencyException when using optimistic concurrency with deletions
  • [Cluster] Fixed possible high CPU issue when cluster loses the leader
  • [Configuration] Renamed Storage.OnCreateDirectory options to Storage.OnDirectoryInitialize
  • [Debug] Added more details to Debug Package
  • [ETL] Improved validation of added ETL tasks
  • [Indexing] Fixed indexing of large terms when using collation analyzer
  • [Indexing] Fixed index replacement handling
  • [Indexing] Better handling of EarlyOutOfMemoryException in indexing process
  • [Indexing] Improved memory allocation detection in indexing process
  • [Indexing] Fixed disposal of temp files created during indexing
  • [Logging] Disabled logging warning when reducing the size of compression buffers file when db is idle
  • [Patching] Clearing script runners cache when running in low memory
  • [Querying] Fixed not contains queries on empty collections
  • [Querying] Fixed in and between queries to take into account if index does not have 'exact' set on field
  • [Querying] Fixed loading of empty stored fields in projections
  • [Querying] Removed optimization of sort only queries
  • [Subscriptions] Protocol version detection to properly work against 4.0 version of the client
  • [Traffic Watch] Better tracking of failed queries
  • [Smuggler] Fixed @flags metadata when migrating from another database but skipping revisions or counters
  • [Smuggler] Fixed export of large counter values
  • [Voron] Fixed condition allowing to flushing when we a database is idle
  • [Voron] Fixed cleanup of recycled scratch buffers only when there is no open read transaction that is still using it
  • [Smuggler] Added the ability to filter out attachments or counters when doing smuggler import or export
  • [.NET Core] Updated to .NET Core 2.1.6

Client

  • [Cache] Fixed aggressive caching for POST requests
  • [Patching] Added BatchPatchCommandData command
  • [Projections] Fixed JS projections with dates
  • [Smuggler] Fixed returning progress of operations

Studio

  • [Connection Strings] Fixed detection of connection string can be removed
  • [Notifications] Delete by collection will display details in notification panel
  • [Setup Wizard] Setup Wizard was failing when we were not creating a new cluster but Studio Environment was set

4.1.3-patch-41006 - 2018/11/05

Server

  • [Cluster] node can be added to cluster only if both nodes can establish a connection to each other
  • [Compaction] Map-Reduce indexes cannot be compacted any longer because Map-Reduce mechanism relies on data format and position
  • [Compaction] index compaction can be properly stopped when database is shutting down or user cancels the operation
  • [Configuration] added Storage.OnCreateDirectory.Exec,Storage.OnCreateDirectory.Exec.ArgumentsandStorage.OnCreateDirectory.Exec.TimeoutInSec
  • [Configuration] added Indexing.TransactionSizeLimitInMb,Indexing.ScratchSpaceLimitInMb,Indexing.GlobalScratchSpaceLimitInMb and Indexing.MaxTimeToWaitAfterFlushAndSyncWhenExceedingScratchSpaceLimit
  • [Conflicts] fixed exception that could occur in suggest conflict resolution endpoint related to the invalid array detection
  • [Disk] fixed disk space calculation for symbolic links
  • [Embedded] support for old csproj format
  • [JSON] fixed Blittable JSON hash code calculation
  • [JSON] fixed escape char handling
  • [Indexing] better memory handling
  • [Indexing] better error handling
  • [Indexing] fixed collection name detection when WhereEntityIs is used
  • [Indexing] added the ability to limit the amount of scratch space that is used in indexing (locally and globally)
  • [Indexing] fixed issue with map-reduce not handling IDs with culture-specific characters properly
  • [Linux] fixed temporary file deletion issue
  • [Memory] better memory handling
  • [Migration] added 'SkipServerCertificateValidation' option
  • [Migration] added 'TransformScript' option
  • [SQL ETL] retying to open connection few times and properly disposing it
  • [Traffic Watch] better handling for failed queries
  • [Voron] added the ability to execute user-defined script before voron directory is created

Client

  • [Conventions] added FindProjectionPropertyNameForIndex convention
  • [Projections] fixed the issue with projecting single array field
  • [Request Executor] fixed possible NRE in timer inside Request Executor
  • [Serializer] fixed issue with using the serializer by multiple threads at once

Studio

  • [Cluster] added 'Test Connection' button to test if both nodes can establish a proper connection between each other
  • [Documents] clone with take into account attachments and counters from now on
  • [Storage Report] recyclable journals are counted as temporary files
  • [SQL ETL] added the ability to test deletion
  • better error handling

4.1.3-patch-41005 - 2018/10/22

Server

  • [Backup] fixed issue with sending backups to S3 eu-west-1
  • [Backup] backup restore operation will use proper inherited paths during execution
  • [Cluster] stability improvements
  • [Compaction] fixed issues with compaction crashing the Studio due to large amount of notifications sent at once
  • [Encryption] on database deletion secret key will be removed as well
  • [JSON] optimized JSON equals() implementation
  • [Memory] better memory management
  • [Memory] better memory management on x86
  • [Querying] proper support for Count when doing a collection query with starts with
  • [Querying] proper support for using comments inside 'update' and 'select' in RQL
  • [Querying] better invalid alias detection in RQL queries
  • [Notifications] fixed possible NRE during Notification storage initialization sequence
  • [Voron] fixed tree rebalacing on compressed pages, issue could result in map-reduce indexing error
  • [Voron] ensuring that disposed scratch files that are in recyclable area are removed on database dispose

Client

  • [Compare Exchange] identity properties should not be stripped when compare exchange is used
  • [Memory] fixed memory leak that could occur due to invalid memory fragment size calculation
  • [Suggestions] fixed issue wit using suggestions in async session
  • [Querying] fixed issue when OfType is used in projection and the identity property is fetched from wrong base type
  • [Querying] fixed issue with invalid RQL generation when Where+Any is used on a primitive type collection

Studio

  • [Backup] updated the list of S3 regions
  • [Custom Columns] custom columns order will be saved in local storage
  • [Traffic Watch] will display errors as errors
  • various fixes and stability improvements