What's new
6.0.101 (60017) - 2024/03/19
Server
[Cluster]
Avoid logging expected cluster exception[Cluster]
Fixed the failover mechanism for cluster transactions[Cluster]
UsingSemaphoreSlim
instead of a blockingMonitor.TryEnter
as the cluster lock to prevent potential ThreadPool starvation[Cluster]
Fixed an edge case of NRE inClusterStateMachine
when adding a database[Cluster]
Fixing Raft log truncation[Corax]
Fixed usage of AndNot in CoraxQueryBuilder[Corax]
Exposing Corax query structure when includingtimings()
[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]
FixedTotalResults
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 wrappingJavascriptCompilationOptions
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 usingreturnFullResults
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 customAsyncDocumentIdGenerator
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
6.0.2 (60005) - 2023/12/27
Server
[Attachments]
do not throw a concurrency exception on a partial update with valid expected change vector[Backups]
fixed issue with restoring subscriptions when snapshot with incrementals is used[Backups]
support for Direct Upload for Azure[Backups]
added the ability to continue exporting of documents when corrupted data is encountered[Backups]
avoid downloading Snapshot file twice in some cases[Corax]
fixed issue with index entries existence after deleting all documents[Corax]
when primitive is being used we need to change sorting guarantees dynamically[Cluster]
fixed issue with high CPU usage when watcher is waiting for a leader to come up[Cluster]
allow to promote rehab node[Cluster]
stability improvements when node is moved into rehab and grace period kicks in[Compare Exchange]
write result of each cluster command attempt on its own context to avoid using disposed context during failover[Compression]
fixed 'End of Central Directory record could not be found' on creation of recovery dictionaries[Compression]
fixed issue with using non-compressed schema for a compressed document and the other way around, that could happen if compression is changed in a midle of merged transaction[Compression]
fixed issue with missing compression dictionary[Configuration]
switched default value of 'Http.AllowResponseCompressionOverHttps' to true[ETL]
changed order of elements of Transactional ID used by Kafka ETL producer for easier ACL configuration[ETL]
allow to define optional Cloud Event attributes in Queue ETL[ETL]
fixed 'ArgumentOutOfRangeException' for 'GetOngoingTaskInfoOperation' when OngoingTaskType is QueueSink[HTTP]
added support for zstd compression[Indexes]
start tombstone cleaner only after indexes are initialized to avoid cleaning tombstones that were not processed by indexes[Indexes]
handle nested reduce result of a reduce key properly[Indexes]
properly handle dates stored as JsString in JavaScript Map-Reduce indexes to avoid lowercasing them[Power BI]
skip getting unchecked property value for document which does not have the property[Querying]
fixed possible NRE when highlighting is used in Corax[Revisions]
fixed issue with enforce revisions configuration throwing 'InvalidOperationException' on a collection that does not exist anymore[Revisions]
added the ability to adopt orphaned revisions[Revisions]
fixed fetching revisions from revision bin, introduced a breaking change due to old API being unusable[Revisions]
properly handle out of date revisions when they are not ordered by date and enforce revision configuration is being used[Sharding]
properly handling shard removals[Sharding]
properly handling disabled database in sharded subscription[SNMP]
added request per second (5s rate)[Subscriptions]
fixed issue with concurrent connections not being cleaned up properly[Subscriptions]
fixed invalid JSON returned from Subscriptions test when include is used[System]
added file locker to prevent initializing system store concurrently[Time Series]
fixed aggregation with time zone offsets[Unused Database IDs]
added server-wide validation[.NET]
updated to .NET 7.0.14
Client API
[Bulk Insert]
fixed heartbeats implementation[Changes]
introduced a 15s timeout to connect to WS to avoid infinite hangs in some cases when there are network issues[HTTP]
added support for zstd compression[Indexes]
handle C# reserved keywords correctly[Querying]
throwing an exception when streaming document collection query with includes[Session]
fixed possible AVE in WhatChangedFor- fixed issue with failover not grabbing the topology from all of the does, which could result in using old topology
- fixed issue on .NET Framework with DecimalHelper missing field when reflection is used
- simplified speed check algorithm to perform tests once per minute
Studio
[Indexes]
added the ability to sort indexes by creation time[Patching]
added the ability to disable max statements count- added CSRF protection
- various fixes and styling improvements