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