What's new
6.0.104 (60035) - 2024/06/17
Server
[Cluster]
Fixed possible race that upon cluster tx failover it could have waited for the task after it was already completed[Cluster]
Fixed an issue thatWaitForIndexNotification
wasn't waiting until the command was done[Configuration]
AddedIndexing.AllowStringCompilation
andPatching.AllowStringCompilation
configuration options[Corax]
Sort results inMultiTermMatch.AndWithFill
whenFill
is called multiple times[Corax]
Fixed AccessViolationException in BinaryMatch and enhancements around that area[Corax]
Fixed an issue that paging when order by is set on multiple fields doesn't work[Corax]
Allowed to store field without indexing[Corax]
Fixed an issue with a search analyzer producing multiple tokens from single words[Databases]
Fixed an issue with a database getting occasionally stuck in due toThe database 'xxx' has been unloaded and locked by IdleOperations
[Debug]
Increased timeout for getting Debug Package[Docker]
Make overriding default UnsecuredAccessAllowed settings more intuitive in Docker image[ETL]
Fixed an issue of respecting cancellation during the load phase of Elasticsearch, Kafka and RabbitMQ ETLs[ETL]
Upgraded Npgsql driver from v5 to v8[Expiration/Refresh]
Fixed an issue with unreleased buffers on compressed databases[Expiration/Refresh]
Added a transaction size limit in the Expiration and Refresh commands[Import/Export]
Decrypting and Encrypting streams should not use synchronous IO in async methods[Indexing]
Include the index names that are stale after getting a timeout onWaitForIndexesAfterSaveChanges()
in the error message[Indexing]
Added ability to perform the side-by-side index reset[Licensing]
Fixed an issue with license signature verification on some Linux distributions[Logging]
Fixed a bug when downloading logs from the Studio returns empty zip[Logging]
Fixed a potential deadlock in the logging[Logging]
Unified audit log lines[Performance]
Improved performance of retrieving query string parameters[Replication]
Fixed NRE in/databases/*/debug/replication/all-items
endpoint[Sharding]
Fixed an issue of inability to save the unused database IDs for sharded db[Sharding]
Fixed NRE inShardExecutor.Dispose()
[Sharding]
Fixed implementation ofRevisions.GetAsync()
[Subscriptions]
On update subscription populatePinToMentorNode
from existing state if needed[Time Series]
Optimized Time Series retention[Voron]
Fixed a bug in clustering code which could result in runnnig and committing two write transactions concurrently. This could result inInvalidJournalException
after the restart.[Voron]
Optimized allocations and performance[.NET]
Updated to .NET 8.0.5
Client
[Certificates]
Throwing meaningful exception whenHttpClientHandler
does not support certificates[Querying]
Fixed an issue with missing parentheses when combiningWhere
andSearch
clauses[Changes API]
Don't allow automatic fail over in Changes API when tracking node-specific operations[Changes API]
Fixed an issue with cache wasn't invalidated after Changes API reconnection[HTTP]
Flushing request stream to send the headers in all customizedHttpContent
implementations
Studio
[Cluster Dashboard]
Added the Lucene Unmanaged Allocations to the memory widget[Indexes]
Showing referenced collections[Indexes]
Added ability to reset multiple indexes[Traffic Watch]
Fixed an issue that it couldn't view a MultiGet request[Create database]
New database creator[About]
Redesigned About page- Redesigned Path Selector component
- Fixed an issue with Connection string dialog getting closed when we get any Changes API update
6.0.103 (60028) - 2024/05/16
Server
[Certificates]
Adjusted client certificate trust logic to ensure compatibility with shorter intermediate certificates[Containers]
Adjusted settings.json permissions after copying default content into the image as root[Import]
Fixed import of indexes from .ravendump files when using a secured server
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 withLoadDocument
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 ofDateTime.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]
MakingDeleteBucketCommand
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]
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