What's new

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

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

6.0.1 (60003) - 2023/11/14

Breaking changes

  • [Backups] compression algorithm was changes from gzip/deflate to zstd, which might introduce some backward compatibility concerns. Please read the 'Backward compatibility' section in this article to get more information.

Server

  • [Backups] switched to zstd compression algorithm for all backup types and exports. More info here
  • [Backups] added 'Direct Upload' mode. More info here
  • [Cluster] fixed issue with single-node cluster setting it's commands version to 0
  • [Configuration] added configuration option 'Backup.Compression.Algorithm' was introduced (Zstd by default)
  • [Configuration] added configuration option 'Backup.Compression.Level' was introduced (Fastest by default)
  • [Configuration] added configuration option 'Backup.Snapshot.Compression.Algorithm' was introduced (Zstd by default)
  • [Configuration] added configuration option 'Backup.Snapshot.Compression.Level' was introduced (Fastest by default)
  • [Configuration] added configuration option 'Export.Compression.Algorithm' was introduced (Zstd by default)
  • [Configuration] added configuration option 'Export.Compression.Level' was introduced (Fastest by default)
  • [Corax] fixed issues in internal structures that could result in an indexing error or crash due to Access Violation Exception
  • [Corax] fixed highlighting on queries with projections
  • [Corax] fixed TotalResults in order by queries with paging
  • [Corax] fixed queries using ContainsAll
  • [Corax] fixed crash on ARM
  • [Corax] fixed infinite loop on ARM
  • [Corax] fixed facet queries
  • [Corax] fixed storage report for Corax indexes
  • [Corax] fixed JS projections
  • [ETL] fixed error handling and TransactionalId generation for Kafka ETL
  • [ETL] fixed issue with ETL not entering fallback mode when cluster is unstable, resulting in sending the same batch again
  • [ETL] fixed secured channel detection for RabbitMQ and Kafka ETLs
  • [ETL] upgraded Elasticsearch Client to version 8
  • [Expiration] fixed issue with editing expiration/refresh date causing loop and high CPU usage
  • [HTTP] switched inter-server communication from HTTP/1.1 to HTTP/2 protocol
  • [HTTPS] switched to 'SslStreamCertificateContext' to improve SSL authentication on Linux
  • [Indexes] added support for equality comparers for floats and decimals in static indexes
  • [Indexes] throwing an exception when unrecognized indexing option is set in index configuration
  • [Licensing] fixed issue with force update of expired license not returning unsuccessful state to the user
  • [Licensing] properly detect revision compression when switching a license to Community
  • [Replication] validate if certificate has write permissions
  • [Replication] fixed issue with attachment streams existence for documents when conflicts are being solved manually
  • [Replication] fixed issue with deletion of non-replicated tombstones
  • [Replication] fixed issue with missing revision tombstones, because revision polices are being applied
  • [Sharding] fixed issue with toggling subscription state for sharded database
  • [Voron] fixed possible AVE when doing background flushes
  • [Voron] fixed AVE during compaction on x86 or when we surpass MaxScratchBufferSize
  • [.NET] updated to .NET 7.0.13

Client API

  • [Compatibility] fixed FHIR compatibility
  • [HTTP] switched Gzip compression mode to 'Fastest' from 'Optimal'
  • [Indexes] fixed issue with 'SearchEngineType' not being taken into account when index inherits from 'AbstractJavaScriptIndexCreationTask' and 'AbstractMultiMapIndexCreationTask'
  • [Querying] fixed issue with missing parenthesis when combining 'Where' and 'Any' clauses when querying using LINQ
  • [Querying] fixed query hash calculation for empty string parameters
  • [Session] added 'WhatChangedFor'

Studio

  • [Querying] added the ability to set Projection Behavior when querying
  • [Kafka] fixed issue with setting Kafka Connection String with plain certificate