What's new

6.0.106 (60052) - 2024/09/17

Server

  • [Audit] added audit log to the database configuration changes
  • [Audit] added revision setting changes to the audit log
  • [Backup] fixed issue with backup not waking up immediately the database when 'UpdateResponsibleNodeForTasksCommand' command is executed
  • [Backup] properly restoring Refresh, Integrations and RevisionsForConflicts configuration during the restore process
  • [Backup] fixed issue with restoring DatArchival and QueueSink configurations
  • [Backup] fixed issue with backup restore cancellation not working
  • [Backup] import properly checks for license restrictions
  • [Backup] fixed backup timer calculations
  • [Cluster] fixed issue with not all databases waking up when server starts to calculate heal and backup status due to concurrent database load timeout
  • [Cluster] redirecting to leader PutDatabaseCommand
  • [Cluster] added more grace time before moving node into rehab for nodes that are lagging behind to avoid constant topology changes
  • [Cluster] fixed potential issue of Heartbeat spam when CPU credits are low on CPU bounded instances like T3 family in AWS
  • [Cluster] stabilized the behavior of cluster
  • [Changes] fixed issue with concurrent usage of AggresiveCache notification which could end up in sending incorrect notification JSON and not refreshing client-side aggressive cache
  • [Cluster Transaction] fixed possible race with creation of document with atomic guard and not getting concurrency exception
  • [Corax] fixed incorrect results wen performing And operation on MultiUnaryMatch
  • [Corax] increased facets performance for simple aggregations
  • [Corax] implemented SortUsingIndex for MultiSortMatch to increase performance
  • [Corax] increased alphanumerical sorting performance
  • [Corax] fixed unexpected index errors on complex fields after side-by-side indexing
  • [Corax] fixed issue with concurrent access to LuceneAnalyzerAdapter in Corax
  • [Corax] Fix querying documents with missing fields when there is order by and no where statement
  • [Debug] added the ability to log internal .NET events to the log
  • [Indexes] more strict parsing of TimeSpan to avoid false positives when strings containing timespans are passed to the index
  • [Indexes] skip deleting a document entry for new indexes to avoid unnecessary work
  • [Indexes] fixed issue with extraction of group by field name for additional expression types
  • [JavaScript] updated Jint to 3.1.6 to resolve issue with custom reference resolvers not handling properly unresolvable references due to Jint bug
  • [JSON] fixed possible JSON corruption due to reading native memory and HttpClient handling serialization tasks in some cases in the background without waiting for them to complete when HTTP/2 is used
  • [Http] fixed possible ArgumentException when HTTP/2 is used and we are establishing a connection
  • [Monitoring] fixed number of threads returned via SNMP for Windows instances
  • [Notifications] introduced max queue size for the notifications that are sent to the Studio
  • [Querying] fixed issue with parameters not being added to high latency query alerts
  • [Replication] fixed leak of SINK tags in Hub/Sink Replication when Sink Task is defined
  • [Replication] fixed issue with SINK tags not being restored as TRXN when getting the document back from the replication
  • [Replication] fixed issue with Pull Replication not connecting properly when 2+ Sinks have the same database name
  • [Revisions] fixed issue with making revisions orphaned after executing revert revision without configuration
  • [Subscriptions] fixed issue with not taking into account if subscription is disabled or not when updating the subscription
  • [Subscriptions] fixed memory leak in Subscription when revisions are being processed and we do a lot of skip operations
  • [Subscriptions] fixed issue with filtering 'current == null' when subscription on revisions is used
  • [Threads] implemented cleanup mechanism for built-in PoolOfThreads to avoid having a lot of threads in the pool that hold the memory
  • [Traffic Watch] fixed NRE caused by opened Traffic Watch on /docs endpoint
  • [.NET] updated to .NET 8.0.8

Client API

  • [Documentation] documented more interfaces and classes
  • [Indexes] fixed issue with IndexCreation.CreateIndexes ignoring SearchEngineType property
  • [Indexes] fixed index syntax creation for ListInitExpression
  • [JSON] fixed possible JSON corruption due to reading native memory and HttpClient handling serialization tasks in some cases in the background without waiting for them to complete when HTTP/2 is used
  • [Subscriptions] properly registering missing Ids in subscription session
  • [NuGet] added ContinuousIntegrationBuild=true to the CI when package is being built

Studio

  • [Create Database] style and behavior adjustments
  • [Indexes] exposed the ability to convert auto indexes to static
  • [What's New] introduced to the Menu and About page

TestDriver

  • [Licensing] added configuration options in TestServerOptions to pass license and license related properties in a more easy manner with the ability to throw if no license is provided or license is invalid

6.0.105 (60039) - 2024/07/23

Server

  • [Backup] Fixed an issue with the backup running on UTC instead of server's local time
  • [Backup] Allowed to backup all shards of the same database concurrently
  • [Backup] Fixed the cancellation of a backup
  • [Backup/Import/Export] Handling the export and import of time series deleted ranges
  • [Backup/Import/Export] Fixed an potential race condition issue with applying commands during import / export
  • [Compression] Fixed a potential issue with stats of a collection when compression was turned on/off during large import
  • [Containers] Set HTTPs scheme in Docker automatically if cert options were passed
  • [Containers] Publishing Docker multi-arch images
  • [Corax] Fixed an issue with updating query statistics
  • [Corax] Fixed implementation of dynamic fields in JS indexes
  • [Corax] Fixed take and skip parameters handling in MoreLikeThis queries
  • [Corax] Fixed in and all in queries with null parameter
  • [Corax] Fixed error handling during indexing
  • [Corax] Fixed ordering by multiple fields
  • [Databases] Fixed an issue with databases loading if there was an inconsistent casing
  • [ETL] Replaced deprecated System.Data.SqlClient dependency with Microsoft.Data.SqlClient (existing connection strings will default to Encrypt=Optional option which is mandatory since version 5.0 of Microsoft.Data.SqlClient to ensure backward compatibility)
  • [Expiration/Refresh] Improved size calculation of expiration/refresh commands so it will reduce the memory usage
  • [Import] Allowed to import a disabled configuration of the revisions
  • [Indexing] Improved memory usage of loaded documents that are compressed
  • [Indexing] Fixed the hash of query results after resetting an index
  • [Indexing] Rollback indexing for a document where exception happened during indexing/mapping in case of fanout index
  • [JS Admin] Added ability to use internal operation contexts to execute some emergency operations
  • [Logging] Audit log improvements
  • [Monitoring] Added ability to monitor number of ongoing tasks via SNMP
  • [Monitoring] Exposed Monitor.LockContentionCount via SNMP
  • [Monitoring] Added MIB generator for easy integration with SNMP monitoring tools
  • [Setup] Fixed regression issue with RavenDB deb package dependencies
  • [Setup] Added Ubuntu Deb Packages distribution for Ubuntu 24.04 and dropped distribution for Ubuntu 18.04
  • [Patching] Fixed and issue with patching a document metadata
  • [Replication] Fixed issue that WaitForReplicationAfterSaveChanges() didn't account itself to calculate majority
  • [Server] Added -i | --info switch to Raven.Server
  • [Sharding] Implemented a backoff strategy for failed resharding attempt
  • [Subscriptions] Throwing less SubscriptionDoesNotBelongToNodeException on unstable cluster
  • [.NET] Updated to .NET 8.0.7

Client

  • [Querying] Implemented LongCountLazily and LongCountLazilyAsync
  • [Patching] Fixed consistency of serialization of enums between storing and patching (SaveEnumsAsIntegersForPatching convention was added)

Studio

  • Added navigation buttons to Revisions Compare view
  • Fixed and issue with the export visible columns to CSV - studio did not include @id
  • Fixed NRE on the Indexes view related to referenced collections
  • Fixed an issue with showing Insufficient security clearance while it's not true
  • Making the date of index creation consistent on Index view
  • Better copying of subscription errors
  • Fixed the button on Admin JS Console view
  • Added ability to export query results to JSON directly
  • Fixed all documents deletion

Articles

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 that WaitForIndexNotification wasn't waiting until the command was done
  • [Configuration] Added Indexing.AllowStringCompilation and Patching.AllowStringCompilation configuration options
  • [Corax] Sort results in MultiTermMatch.AndWithFill when Fill 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 to The 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 on WaitForIndexesAfterSaveChanges() 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 in ShardExecutor.Dispose()
  • [Sharding] Fixed implementation of Revisions.GetAsync()
  • [Subscriptions] On update subscription populate PinToMentorNode 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 in InvalidJournalException after the restart.
  • [Voron] Optimized allocations and performance
  • [.NET] Updated to .NET 8.0.5

Client

  • [Certificates] Throwing meaningful exception when HttpClientHandler does not support certificates
  • [Querying] Fixed an issue with missing parentheses when combining Where and Search 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 customized HttpContent 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 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