What's new

5.3.104 (53029) - 2022/07/18

Server

  • [Batches] WaitForIndexesAfterSaveChanges and WaitForReplicationAfterSaveChanges timeouts would return status code that could cause Client API to failover instead of failing immediately
  • [Cluster] avoid holding read transaction for a long time while processing stat changes via the cluster observer
  • [Cluster] fixed issue with handling non-existent server-wide task deletion
  • [CPU] fixed CPU usage calculation on Linux
  • [Indexes] fixed unexpected error in indexing thread which effectively was expected TaskCanceledException
  • [Indexes] fixed possibility of occurrence of infinite loop when handing a document with a lot of references
  • [JSON] prevent StackOverflowException on complex nested JSON
  • [Linux] added the ability t track disk metrics
  • [Logging] added the ability to download logs via '/admin/logs/download' endpoint
  • [macOS] added support for macOS ARM x64
  • [PostgreSQL] added named statement handling for Azure Data Factory queries
  • [Replication] fixed issue with using TCP compression and replication over SSL between mixed-OS cluster nodes
  • [.NET] updated to .NET 6.0.7

Client API

  • [Querying] added support for LINQ queries with dictionary entity types
  • [Session] timeout caused by WaitForIndexes could cause Client API to failover instead of throwing immediately
  • fixed issue with picking a node when operating a one node cluster and server previously failed with server unavailable

Studio

  • [Logging] added the ability o downloads logs directly from Admin Logs View
  • [Revisions] exposed flags for deleted revisions

Tools

  • [daemon] make sure that all daemon installation scripts have TasksMax set properly

5.3.103 (53023) - 2022/06/07

Server

  • [Attachments] ignoring the creation of attachment tombstone when it already exists to possible data corruption
  • [Backup] fixed possibility of desync for backup info between cluster nodes
  • [Backup] custom URL and region are now handled correctly
  • [Cluster] fixed possibility of infinite log negotiation
  • [Cluster] fixed a race when disconnected leader could commit a no-op command without having a consensus
  • [Encryption] fixed possible memory fragmentation due to the usage of 'posix_memalign' instead of 'mmap' which could cause a high memory consumption (Posix only)
  • [Indexes] disabled indexes are no longer considered when 'WaitForIndexesAfterSaveChanges' is used in Client API, unless explicitly specified
  • [Indexes] applying whole document boosting properly to the Lucene document instead individually to each field
  • [Indexes] using cached value (5 second) for extended memory info in CanContinueBatch to reduce the CPU cost because of expensive calculation
  • [macOS] do not close the server when thread priority cannot be set because platform does not support it
  • [Querying] queries will failover properly when index is being compacted
  • [Querying] searching with the usage of multiple phrases must not add '+?' to Lucene query
  • [Revisions] fixed manual revision creation when revisions are enabled for all collections
  • [Replication] introduced attachment de-duplication feature to decrease the amount of data sent in the batch
  • [Replication] fixed issue where under low memory we could stop sending any documents, now we will send at least one
  • [Replication] ensure no replication from multiple nodes to node in rehab is happening
  • [Replication] fixed replication of attachments & revisions, properly handling replacement of attachment after revision config was enabled and properly handling replication of first revision after enabling revision config
  • [Subscriptions] active subscription connections should be taken into account when check database idleness
  • [.NET] Updated to 6.0.5

Client API

  • [Bulk Insert] added 'OnProgress' event
  • [Conventions] added 'ResolveTypeFromClrTypeName' convention
  • [Querying] timings are now filled correctly when using 'DocumentQuery' + 'ToQueryable' methods
  • [RQL] properly escape 'Group' field name in queries using '.GroupBy'
  • [Session] added 'GetTrackedEntities' method
  • [Time Series] fixed issue with start and end date parsing when using streaming

Tools

  • [rvn] added 'init-setup-params' option
  • [rvn] added 'create-setup-package' option

Containers

  • [Docker] Handle SIGTERM ad SIGINT from within 'run-raven.sh' properly

5.3.102 (53016) - 2022/04/19

Server

  • [Backups] fixed issue with backups timers not being rescheduled when database fails to load
  • [Backups] fixed issue with region being ignored when using backup to S3 with custom url
  • [Cluster] fixed possible NRE in Cluster Observer causing a lot of I/O used by the Cluster Observer process
  • [Compression] fixed possibility of having duplicates in the compressed collections list after doing import
  • [ETL] fixed issue with updating ETL process state which could result in ETL looping and getting stuck
  • [ETL] fixed issue with OLAP ETL not removing all the internal states after task is deleted
  • [Indexes] fixed issue with FirstOrDefault retuning null instead of dynamic null in some cases for map-reduce indexes
  • [Indexes] fixed issue with rolling index deployments getting stuck
  • [Indexes] added support for nullable DateOnly & TimeOnly
  • [Migration] exposed SQL PK values to the migration script
  • [Querying] allow to project id() from map index while projection behavior is set to index only
  • [Revisions] allow to delete revision bin even when revisions are disabled
  • [Time Series] fixed 'Invalid time unit None' exception during application of rollup policy
  • [Time Series] removing stats of existing time series properly to avoid issues with tombstone cleaner not cleaning everything up
  • [Voron] fixed potential deadlock when getting flushing and write transaction locks
  • [Voron] fixed potential race condition between backup and journal applicator
  • [.NET] updated to .NET 6.0.4

Client API

  • [Caching] fixed issue with Aggressive Cache not being used by Lazy operations in some cases
  • [JSON] added support for nullable DateOnly & TimeOnly
  • [Time Series] better exception message when using properties within structs for typed Time Series

Setup

  • Signed setup-as-service.ps1

Studio

  • [About] always show Replace License button
  • [Backups] fixed issue with JavaScript exception that could occur upon entering the view
  • [Certificates] allow to generate a new certificate with same name & permissions when original one is expired
  • [Cluster Dashboard] added Tasks panel
  • [Configuration] allow to set -1 as a value
  • [Database] compact database popup will also display information about compressed documents
  • [Documents] Fixed issue with Studio re-sorting properties after formatting the document which could cause JSON.NET to throw an exception because the $type property needs to be first
  • [Documents] upon refreshing document Studio will remember 'collapse' state instead of resetting the state
  • [Documents] added option to copy conflicted documents
  • [Indexes] Notify that enabling/disabling indexing required database reloading
  • [Indexes] Warn users that storing index fields should be used with caution
  • [Indexes] Allow to define Store:No & Indexing:No for Map-Reduce index
  • [Debug] show spinner while generating stacktraces

5.3.101 (53009) - 2022/03/15

Server

  • [Backup] fixed issue with concurrent access to headers files when doing snapshot backup
  • [Backup] fixed issue with trying to backup already deleted journals when doing snapshot backup
  • [Cluster] fixed unhandled cases for raft snapshot
  • [Cluster] fixed error with snapshot installation of compare exchanges with expiration (it required System storage schema upgrade)
  • [Compression] reduced memory usage when using TCP compression on x86 platform
  • [Configuration] added new configuration option Indexing.Static.RequireAdminToDeployJavaScriptIndexes
  • [Counters] added counters tombstone cleaner
  • [Debug] fixed potential invalid memory access during creation of Debug Package
  • [Debug] added timeout for Debug Package creation
  • [Debug] updated libsodium on macOS
  • [Indexing] fixed wrong decompression usage in map-reduce indexes that could result in low level Voron errors
  • [Indexing] fixed issue with compacting an index with NGram analyzer
  • [Indexing] fixed issue with putting ReplacementOf indexes in the database record
  • [Indexing] fixed index error when trying to parse a short type
  • [Indexing] fixed problem with undisposed indexes and UnauthorizedAccessException if an error was thrown during a database initialization
  • [Indexing] added ability to enable / disable an index cluster-wide
  • [Indexing] added indexer to DynamicArray
  • [Indexing] added option to disable creating auto indexes via studio queries
  • [Indexing] added support for DateOnly and TimeOnly
  • [Licensing] fixed the downgrade to dev license from commercial one
  • [Licensing] better error when trying to activate an expired ISV license
  • [Querying] fixed export to CSV filename was not encoded
  • [Querying] improved performance of some facet queries
  • [Querying] fixed regression with using filter as JS projection function after introducing filter feature to RQL
  • [Querying] added support for Filter in intersection queries
  • [Querying] added support for DateOnly when doing projections
  • [SNMP] fixed the count of faulty databases when doing compaction
  • [SNMP] fixes issue with time since oldest backup showing wrong values for never backed up databases
  • [SNMP] added number of faulty indexes (per database and total)
  • [Subscriptions] fixed test inside the Studio not showing results when query contained revisions
  • [.NET] updated to .NET 6.0.3
  • [Schema Upgrade] this release includes the upgrade of System storage schema - it prevents from doing downgrade to older RavenDB build

Client

  • [Bulk insert] forced data flush on initial write of data to the server to fix potential connection problem when using SSL
  • [Session] exposed AddOrPatch and AddOrIncrement to IAsyncAdvancedSessionOperations
  • [Serialization] added support for DateOnly and TimeOnly
  • [macOS] disable TCP Compression on macOS if ZSTD lib cannot be loaded

Studio

  • [Backup] fixed issue with showing backup progress
  • [Indexing] exposed more details on indexing performance view
  • [Configuration] fixed the order of the duplicate configurations
  • [Databases] introduced additional filtering options for databases listing
  • [Traffic Watch] fixes for MultiGet queries
  • [Querying] support for filter in RQL code assistant

5.3.100 (53004) - 2022/02/01

Server

  • [Certificates] when database is being deleted, access will be removed from the certificate as well, after recreation of the database permissions needs to be set again
  • [Cluster] fixed issue with observer moving node from member to rehab back and forth
  • [Configuration] added 'Indexing.TimeSinceLastQueryAfterWhichDeepCleanupCanBeExecutedInMin'
  • [Compare Exchange] atomic guards should inherit @expires from the source document
  • [Counters] properly removing counters and counters-snapshot from metadata upon counter deletion
  • [Debug] added database record to the debug package
  • [Encryption] fixed issue with encrypted stream flushes not being done in 4096 increments when using gzip
  • [Indexes] properly handle SelectMany with DateTime
  • [Indexes] rolling deployment should not deploy in more than one node at the same time, this could happen if documents were modified in certain order
  • [JSON] support for 'yyyy-MM-ddTHH:mm:ss.fff' format
  • [Querying] fixed issue with using in projections fields from documents loaded using 'load'
  • [Querying] added the ability to early cancel JS projection when executing that on time series
  • [Replication] fixed possible freed memory usage
  • [RQL] added support for filter
  • [Time Series] fixed issue with Time Series value not updating across all of the nodes when certain order of operations is performed on various nodes at the same time
  • [.NET] updated to .NET 6

Embedded

  • Fixed issue with 'Found multiple publish output files with the same relative path: ' when publishing

Client API

  • [Bulk Insert] fixed issue with sending very large documents
  • [Changes API] fixed retry connection handling
  • [Querying] added support for Filter
  • [Subscriptions] do not fail subscription worker if MaxErroneousPeriod was spent during registration of subscription connection

Studio

  • [Backup] region should not be mandatory when using custom S3 host
  • [Identities] fixed issue with loading the identities