What's new
5.1.13 (51043) - 2021/12/21
Server
[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[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[ETL]
fixed possibility of infinite loop in ETL (backported from 5.2)[ETL]
fixed issue with removing node from database to early when deletion status is still set to 'no'[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[Querying]
fixed issue with calculating total number of results when using collection query on a non-existent property[Replication]
fixed issue with calculating properly HasRevisions flag when replicating document delete[Replication]
revision configuration should create revision bin for documents deleted by replication[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]
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.1.12 (51042) - 2021/11/15
Server
[Backup]
do not cancel running backup even if task was moved to another node[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[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[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[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[Transactions]
properly handling Change Vector when TxMerger executes transactions one by one to avoid returning invalid Change Vector[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
[Session]
support for selecting metadata in single call expressions[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
[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[Threads]
added the ability to view a stack trace of a single thread
5.1.11 (51040) - 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'[Indexes]
fixed possible storage corruption in indexes that are using Suggestions[Indexes]
fixed issue when modyfying '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[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
Embedded
- added support for
+
inServerOptions.FrameworkVersion
for Patch number with default set to5.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.1.10 (51038) - 2021/08/16
Server
[Backups]
moved to official Azure, AWS S3 and AWS Glacier clients[Concurrency]
fixed possibility of loosing a document tombstone when optimistic concurrency 'put' is done after 'delete'[Configuration]
added 'Storage.DiscardVirtualMemory' option[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[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[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[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[.NET]
updated to 5.0.8
Client API
[Querying]
fixed issue with using 'Group' as a property name in includes[Operations]
added 'GetDatabaseSettingsOperation' and 'PutDatabaseSettingsOperation'[Session]
methodAttachmnts.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
[Performance Hints]
added Total Documents Size to paging performance hint[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
Tools
[Debug]
added ability to save traffic watch
5.1.9 (51035) - 2021/07/01
Server
[Backups]
restore of compare exchange should consider compare exchange tombstones and clean them[Certificates]
consider all of the certificates that match pinning hash to allow the connections after replacement[Cluster]
fixed issue with huge Raft commands impacting stability of the cluster[Cluster]
fixed issue with cluster transaction processing hang when server is restarted immediately after such a transaction occurs[Cluster]
added compare exchange statistics to detailed database stats endpoint[Configuration]
added 'Storage.MaxNumberOfRecyclableJournals'[Indexes]
added support for ThenBy and ThenByDescending[Indexes]
fixed possibility of a deadlock when max number of concurrent indexing processes is set[Indexes]
fixed index instance leak when database record change is being handled but database is being unloaded at the same time[Indexes]
fixed issue with GroupBy not returning appropriate results in Time Series indexes[Indexes]
fixed possible 'ArgumentOutOfRangeException' in index storage[Indexes]
added support for ISO-8601 datetime format[Licensing]
try to activate license from environment variable or path when we fail to do it online[Memory]
try to reuse large segments from the memory allocator (possible memory leak when doing long operations like backups or export)[Monitoring]
added ability to define secondary user for SNMP v3[Replication]
fixed possibility of replication killing server when database is being deleted at the same time[Replication]
fixed possibility of replication with missing attachments went into endless loop state[Replication]
fixed possible endless loop caused by not handling attachment stream files properly when destination database in encrypted[Replication]
fixed possible NRE when Documents DeleteRevision flag was not stripped properly[Replication]
fixed possible NRE when disposing connections of a disposed database[Queries]
fixed issue with delete or patch by query timing out when a lot of document IDs needs to be gathered[TCP]
added support for cancellation tokens to abort the connections immediately if needed[Time Series]
added tombstone statistics to detailed database stats endpoint[Time Series]
properly process tombstones if all documents collection is present[Voron]
limiting number of recyclable journals to 32 by default[Voron]
fixed case where a newly created read transaction could get an already disposed pager state of a scratch file[Utils]
fixed issue with DisposeAsync not preventing double dispose in certain situations[.NET]
updated to .NET 5.0.7
Client API
[Bulk Insert]
fixed possible hang and avoid multi-threaded access to context[JSON]
properly clearing internal JsonReader state to avoid hitting MaxDepth exception
Studio
[Certificates]
show single entry in the Certificates view when client is using Server certificate to connect[Migration]
fixed issue with Advanced menu not opening[Querying]
added support for enclosing the previous statments in clauses[Setup]
display unsupported browser warning if needed[Subscriptions]
fixed possibility of Studio hanging in the Edit Subscriptiion View[Traffic Watch]
properly display type for Bulk Docs