What's new
5.4.5 (54018) - 2022/11/21
Server
[Attachments]
prevent saving attachments inside a batch for documents with server-side generated IDs[Backup]
optimized cluster transaction restore performance[Backup]
added the ability to exclude indexes for Snapshot backup[Backup]
after restore database will be automatically loaded to apply the journals[Backup]
using 'Backup.TempPath' for one time backups[Backup]
optimized memory during restore/import of Time Series to an encrypted database[Batch]
fixed issue with waiting for indexes not working when batch is a cluster transaction[Corax]
added support for Range facets[Cluster]
fixed possibility of Cluster Transaction application hanging after Database is being initialized[Cluster]
introduced dedicated commands for processing client/studio/settings configurations to avoid using database record updates all the time, which need much more processing than other commands[Certificates]
allow to start the server with expired certificate to allow certificate refresh to take place[ETL]
added support for providing SQL provider specific parameter types in SQL ETL scripts[Indexes]
added support for file-scoped namespace declarations in additional sources[Indexes]
fixed issue with optimize hanging during index compaction[Licensing]
fixed issue throwing a 'LicenseLimitException' when asserting PostgreSQL license limit, even if license has this feature enabled[Multi Get]
fixed issue with multi-get requests not respecting client timeout[PostgreSQL]
disposing documents transaction properly after handling query[Querying]
fixed IndexOutOfBoundsException when skip is greater than number of results in index after Distinct is used[Querying]
expose @spatial metadata for JavaScript projections[Replication]
delay replication on missing attachments[Voron]
do not change valid pages if the page checksum or number is invalid[.NET]
updated to .NET 6.0.11
Client API
[Bulk Insert]
throw NotSupportedException on attempt to insert Incremental Time Series[Events]
invoke 'OnAfterConversionToEntity' event after entity has been tracked so methods like 'GetMatadataFor' can be used inside the event[Querying]
added support for case-sensitive string comparisons in LINQ[Querying]
fixed issue with SELECT clause containing unnecessary aliases for methods[Session]
fixed possible NRE when updating compare exchange metadata in the session[Session]
allow incrementing Time Series multiple times in the same session[Session]
added Typed Incremental Time Series API[Subscriptions]
forbid opening more than one session per each subscription batch
Studio
[Cluster Dashboard]
added average request time per database[Index Merge Suggestions]
added view[Querying]
removed dynamic fields from RQL code assistance[Thread Info]
added websockets for live updates
5.4.4 (54012) - 2022/10/12
Server
[Backup]
fixed issue with OLAP ETL not being disabled when 'Disable Ongoing Task' is set during restore[Backup]
fixed issue with Elasticsearch not being disabled when 'Disable Ongoing Task' is set during restore[Backup]
fixed issue with creating new server-wide backup with name identical to existing backup[Backup]
restore of compare exchange should not only be count-based but also size based[Backup]
restore of cluster transactions should not only be count-based but also size based[Certificates]
using EphemeralKeySet and UserKeySet as a default key set instead of MachineKeySet with MachineKeySet as a failover[Cluster]
take into account the state of compare exchange replication when calculating database group node state[Configuration]
added 'Databases.DeepCleanupThresholdInMin'[Configuration]
added 'Databases.RegularCleanupThresholdInMin'[Configuration]
added 'Indexing.Lucene.Analyzers.NGram.MinGram' alias to 'Indexing.Analyzers.NGram.MinGram'[Configuration]
added 'Indexing.Lucene.Analyzers.NGram.MaxGram' alias to 'Indexing.Analyzers.NGram.MaxGram'[Configuration]
added 'Indexing.Lucene.MaximumSizePerSegmentInMb' alias to 'Indexing.MaximumSizePerSegmentInMb'[Configuration]
added 'Indexing.Lucene.MergeFactor' alias to 'Indexing.MergeFactor'[Configuration]
added 'Indexing.Lucene.LargeSegmentSizeToMergeInMb' alias to 'Indexing.LargeSegmentSizeToMergeInMb'[Configuration]
added 'Indexing.Lucene.NumberOfLargeSegmentsToMergeInSingleBatch' alias to 'Indexing.NumberOfLargeSegmentsToMergeInSingleBatch'[Configuration]
added 'Indexing.Lucene.MaxTimeForMergesToKeepRunningInSec' alias to 'Indexing.MaxTimeForMergesToKeepRunningInSec'[Configuration]
added 'Indexing.OrderByScoreAutomaticallyWhenBoostingIsInvolved'[Configuration]
added 'Indexing.Lucene.UseCompoundFileInMerging' and 'Indexing.UseCompoundFileInMerging'[Configuration]
added 'Indexing.Lucene.IndexInputType'[ETL]
added the ability to define document ID postfix[Indexes]
fixed race condition when handling nested references[Indexes]
adjustments in index merge suggestions mechanism[Memory]
fixed memory leak that could happen for large allocations, especially when compression is used (e.g. Revisions). This should reduce the memory footprint needed for processing compressed documents e.g. during backup operation[Monitoring]
added 'AvailableMemoryForProcessing' to SNMP[PAL]
fixed issue with writing large transactions to journals on Posix (over 2GB)[Querying]
reduced Lucene processing time by buffering the input resulting in reducing the overall querying time[Querying]
fixed issue with CSV export throwing when JavaScript projection is used[Time Series]
fixed issue with start and end range being in different TZ when getting range stats[Voron]
fixed faulty error handling during the recovery of storage environment that could happen if recyclable journal is being used[Voron]
fixed issue with updating headers when partial recovery is being done[Voron]
fixed issue with gathering data needed to display storage report in Studio[.NET]
updated .NET to 6.0.9
Client API
[Conventions]
added 'HttpPooledConnectionLifetime' and 'HttpPooledConnectionIdleTimeout' conventions[HTTP]
limit number of HttpClient recreations during error handling to 1 per 5 seconds[HTTP]
immediately recreate HttpClient after getting 'SocketError.TryAgain'[Querying]
fixed issue with LINQ 'As<>' not taking into account the projection used[Querying]
added TimeOnly DateOnly support for single projections[Querying]
better 'CompareTo' support on strings in LINQ[Session]
fixed issue with Compare Exchange metadata not marking values as dirty so they are ignored during 'SaveChanges'
Studio
[Certificates]
Allow to renew client certificate 30 days before expiration[Configuration]
added read-only view for server-level configuration[Dashboard]
added disk metrics to Cluster Dashboard[Documents]
fixed issue in collection tracker that was detecting changes in collection (an displaying 'Your data has changed' notification) despite nothing being changed[Notifications]
Merging 'DeleteByQuery' notifications into one to avoid flooding the notification center[Traffic Watch]
added average response size to stats[Traffic Watch]
added the ability to save to file
Other
[Test Driver]
setting 'DisableTopologyCache' to 'true' by default for the DocumentStore created by the driver
5.4.2 (54006) - 2022/09/01
Server
- [Corax] Performance improvements during indexing
- [Corax] Improved execution of range queries
- [Cluster] Fixed infinite leader/follower negotiation
- [Cluster] Fixed incapability to expand database group
- [Compression] Fix potential usage of disposed buffer in ZstdStream
- [Compression] Suppressing security check for Zstd native calls for better performance
- [Core] Fixed possible leak of an instance of a document database that could lead to data corruption or errors with accessing db.lock file
- [Debug] Fixed dump creation via /admin/debug/gcdump
- [Indexing] Support for creation of dynamic and spatial fields on arrays inside JavaScript indexes
- [Indexing] Added a performance hint when fanout index is outputting a source document
- [Indexing] Added a performance hint warning about too many usages of 'let' in index definition
- [Indexing] Fixed side-by-side index duplication after server restart
- [Indexing] Fixed handling of out of disk space errors
- [Indexing] Improved memory usage calculations on Linux for big indexes
- [Memory] Fixed native memory allocation when in specific case of fragmentation
- [Querying] Fixed performance of collection query with
startsWith()
- [Setup] Allow to create a setup package for unsecured setup via Setup Wizard
- [Subscriptions] Fixed problem with a subscription not sending over new docs after restart of responsible node
- [.NET] updated to .NET 6.0.8
Client
- Improved error messages in case of broken responses
- [Session] Fixed marking document as dirty if only read operations or no-op operations were performed on metadata
- [Session] Added ability to include counters, time series when including revisions
- [Session] Fixed unexpected behavior for saving same entity with different id
- [Querying] Support for more complex scenarios when querying on a dictionary
Studio
- [Cluster Dashboard] Added details per database to Ongoing Tasks widget
- [Cluster Dashboard] Added Elasticsearch ETL to Ongoing Tasks widget
- [Cluster Dashboard] Added Kafka and RabbitMQ ETLs to Ongoing Tasks widget
- [Cluster Dashboard] Added configuration option to scale disk size based on its size
- [Cluster Dashboard] Added server and OS info to Cluster Overview widget
- [Ongoing tasks] Added Hub task details
- [Traffic Watch] Added a request size
- [Index Terms] Fixed querying on complex term objects
- [Backup Task] Fixed testing credentials functionality
- Fixed and enhancements
Tools
- Replay traffic watch tool for queries
5.4.1 (54001) - 2022/07/19
Client API
- fixed error CA2252: Using 'DocumentStore' requires opting into preview features
5.4.0 (54000) - 2022/07/18
Features
[ETL]
Added Kafka support to our ETL. More here. Thanks @djordjedjukic for an external contribution.[ETL]
Added RabbitMQ support to our ETL. More here. Thanks @djordjedjukic for an external contribution.[Corax]
new Experimental search & indexing engine. More here.
Client API
[Graph API]
marked all APIs as obsolete