What's new

5.1.4 (51016) - 2021/02/01

Server

  • [Encryption] Fixing the recovery process on storage startup which could cause overwrite of valid data and result in "Unable to decrypt page" error
  • [Encryption] Fixing potential segmentation fault error on Linux on attempt to encrypt empty page that effectively was not in use
  • [Indexing] Fixing internals in Lucene to prevent from killing the server by an unhandled exception

5.1.3 (51013) - 2021/01/25

Server

  • [ARM] Fixing PAL copying on Raspberry PI build
  • [Alerts] Using standard deviation for Low swap size warning
  • [Backups] Fixing ocasionally happening problem that backups were not triggered
  • [Backups] Fixing error handling for backups to S3
  • [Backups] Added Backup.TempPath configuration option
  • [Cloud]Retry CPU credits sync on startup
  • [Cluster] Prevent concurrent bootstrap
  • [Cluster] Cluster observer will move node to rehab upon large gap from the other nodes
  • [Cluster] Fixing missing revisions from cluster transactions
  • [Cluster] Limiting cluster log truncation by time
  • [Cluster] Promote from rehab with indexes that were explicitly disabled
  • [Cluster] Stay in rehab with index error
  • [Configuration] Adding Indexing.MaximumSizePerSegmentInMb, Indexing.MergeFactor, Indexing.LargeSegmentSizeToMergeInMb, Indexing.NumberOfLargeSegmentsToMergeInSingleBatch, Indexing.MaxTimeForMergesToKeepRunningInSec
  • [Debug] Adding /admin/stats end point to Debug Package
  • [Debug] Adding /admin/debug/databases/idle endpoint
  • [Docker] Updating docker base image
  • [Docker] Allow to ignore file lock error when using docker shared volume from Windows
  • [Encryption] Introducing global stack to EncryptionBuffersPool for better memory management
  • [ETL] Fixing IndexOutOfRangeException while iterating the ETL processes what could result in process crash
  • [Indexing] Fixing partitioning in Bloom Filters
  • [Indexing] Fixing JS map-reduce indexes when grouping by nested object
  • [Indexing] Adding support for complex reduce keys in JS map-reduce indexes
  • [Indexing] Fixing the index replacement behavior if any error happened meanwhile
  • [Indexing] Improving memory management in Lucene to reduce GC cost
  • [Indexing] De-referencing index resources under low memory
  • [Indexing] Better management of Lucene's merges to reduce the size of transaction
  • [Indexing] Fixing CreateField returning a single result when passing the same field name
  • [Indexing] Fixing progress calculation of indexes processing counter or time series
  • [Indexing] Improve the performance of LoadDocument when referencing very large number of documents
  • [Indexing] Improve the performance of initial index run
  • [Indexing] Adding support for return block statements in group by + allow arrow functions which return objects (w/o explicit return) in JS indexes map
  • [Indexing] Restricting number of items in fields cache of LuceneDocumentConverter
  • [Indexing] Taking into account Indexing option from the default field options
  • [Indexing] Registering Additional Assemblies by name and full name
  • [Indexing] Support for boosting in JS indexes
  • [Indexing] Increasing default value of Indexing.Encrypted.TransactionSizeLimitInMb configuration option to 96 MB
  • [Linux] Fixing SWAP detection on HDD over SSD in Posix systems when NVMe SSD drives are available
  • [MacOS] Fixing issue with copying PAL and friends to MacOS package
  • [Memory] Fixing posible momory leak when using stream query
  • [Operations] Fixing WaitForCompletion throwing InvalidOperationException for RevertRevisionsOperation
  • [Patching] Fixing regression issue with pathing large number of documents
  • [Querying] Fixing metadata projection returning LastModified in incorrect format
  • [Querying] Allow to include on the output of facets
  • [Querying] Converting >= and <= queries to between queries automatically
  • [Querying] Fixing potential issues with float comparison
  • [Querying] Fixing wrong query results or exception when querying for quotes or/and slashes
  • [Replication] Avoiding the update of sibling etag on new connections
  • [Replication] Fixing the issue with change vector is not updated after replication
  • [Replication] Fixing issue that resolving document conflict in Studio removed the attachment
  • [Replication] Fixing issue with missing attachment breaking the replication
  • [Replication] Fixing duplicate attachments problem in conflicted documents
  • [Replication] Checking conflict status for attachment and deleted attachment which caused infinite loop
  • [Replication/Smuggler]Adding unused database Ids to import/export for preventing "conflict" in import destination cluster replication
  • [Revisions] Fixing issue that deleting a document with Resolved flag created a revision
  • [Revisions] Fixing unhandled cases of conflicts in revisions
  • [Subscriptions] Fixing the subscription behavior on SubscriptionDoesNotBelongToNodeException
  • [Subscriptions] Fixing calculation of redirect node in case of failover
  • [Time Series] Fixing optimistic concurrency violation error when patching multiple types
  • [Time Series] Fixing parsing issue when querying with the usage of time series names containing spaces
  • [Time Series] Throwing better error message on attempt to group by tag only when querying
  • [Time Series] Adding Last and Next InterpolationTypes for TimeSeries Gap Filling feature
  • [Voron] Fixing the validation of overflow pages during the storage recovery process on startup
  • [Voron] Fixing possible AccessViolationException in when deleting entries from fixed size trees
  • [Voron] Fixing NRE on attempt to get temp page from DecompressionBuffersPool
  • [Voron] Deleting large journals instead of adding them to recycle pool to speed up the startup time
  • [Voron] Adding cleanup of Temp directory on storage startup
  • [Voron] Fixing seeking to a record when using startAfter parameter
  • [.NET] Updated to .NET 5.0.2
  • Improved error handling in timer threads

Client API

  • [Conventions]added DisableTopologyCache convention
  • [Changes API] Fixing changes API interal operation so it should use the same node as the operation
  • [Changes API] Marking Changes API connection state as faulted if failed to initialize
  • [Querying] Adding option to project the last modified date from queries
  • [Querying] Fixing calculation the hash of complex objects when querying that caused query hangs
  • [Querying] Support TimeSpan in projections
  • [Querying] Making HashCalculator use DateTime.GetDefaultRavenFormat
  • [Querying] Fixing time series queries using the string interpolation of call expression in GroupBy
  • [Serialization] Optimize client side JSON serialization
  • [Time Series] Typed API for time-series bulk insert
  • Fixing backward compatibility of the health check endpoint
  • Fixing issue when using lazy query + aggressive caching returned Index does not exists exception
  • Better exception for actions that require database but none was specified via parameter or there is no default one
  • Properly detecting changes in HasChanged when we have deletes
  • Suggest X509KeyStorageFlags.MachineKeySet when passing invalid certificate to document store

Studio

  • Adding navigation when clicking the backup alert
  • Fixing hight CPU usage on the dashboard
  • Auto-reconnect to web socket in Admin Logs & Traffic Watch
  • When node is passive and license is not activated, stating so explicitly on the License View
  • Giving better error message if trying to run update in query window
  • Adding more details from Lucene do Idexing Performance view
  • Fixing issue that setting value to zero in Database Record saved it as null
  • Fixing broken failed Enforce Revision Configuration message
  • Support for compare exchange metadata
  • Clear error on Discovery URLs when list is empty and added warning icon when test failed
  • Display TS value names for a new TS entry
  • Improving the help for Additional Assemblies
  • Add support to save documents/indexes using Ctrl+S.
  • Showing the full analyzer name for custom analyzer
  • Fixing issue with analyzer input box being not disabled disabled when indexing is 'Search(implied)'
  • Fixing Admin logs filtering

5.1.2 (51010) - 2020/12/11

Server

  • [Encryption] fixed possible AVE when encryption is being used
  • [Indexing] fixed issues with custom assebly resolution when custom analyzers are used

Studio

  • [Certificates] fixed issues with displaying when client certificate is not provided

5.1.1 (51007) - 2020/12/01

Server

  • [Compression] fixed possible data corruption that could manifest when compression is used
  • [Encryption] fixed memory leak that occurred when encryption was used
  • [Indexing] fixed possible NRE when using NuGet additional source and it failed to download it
  • [Querying] increased performance and decreased memory usage of collection queries with where clauses for operations (e.g. patching by collection or deleting by collection)
  • [Replication] fixed issue with filtered replication using AllowedSinkToHubPaths instead of AllowedSinkToHubPaths
  • [Replication] fixed possible endless loop in replication tombstone cleanup mechanism

Client API

  • [Querying] fixed that could occur during streaming of query results

Studio

  • [Time Series] fixed issues with Time Series visualization caused by JS error

5.1.0 (51000) - 2020/11/18

Features

  • [Filtered Replication] added feature. Documentation
  • [Indexes] added Additional Assemblies from NuGet feature. Documentation
  • [Indexes] added Attachment Content Indexing support. Documentation
  • [Indexes] added Counters and Time Series support to JavaScript indexes.
  • [Pull Replication] revamped feature, added the ability not only to pull the data but also to push it. Documentation
  • [Replication] added server-wide external replication feature
  • [Time Series] added gap filling support. Documentation
  • [Time Series] added scale support. Documentation

    Out of Experimental

  • [Documents Compression] removed experimental flag

    Other

  • [Backups] added the ability to exclude databases from server-wide backups
  • [Backups] added Backup Now functionality
  • [Indexes] optimized how reduce result is constructed
  • [Indexes] aligned list of available methods (e.g. counterNamesFor) in JavaScript indexes with C# ones
  • [Time Series] added streaming support
  • [Time Series] added percentile, slope and stddev support
  • [Time Series] added ETL support
  • [Time Series] added the ability to group by tag
  • [.NET] migrated to .NET 5.0
  • [.NET] decreased number of files in the distribution package

    Client API

  • [Conventions] added ShouldIgnoreEntityChanges convention. Documentation
  • [Events] event OnBeforeDelete will be invoked when Delete(id) is executed from now on
  • [Querying] support for explicitly stating the origin of a value in projection. Documentation
  • [Querying] added support for RavenQuery.Cmpxchg in single projection queries
  • [Serialization] added support for C# 9 records
  • [Session] support for includes in Time Series. Documentation
  • [Session] implemented ConditionalLoad. Documentation
  • [Subscriptions] added OnUnexpectedSubscriptionError event

    Studio

  • [Backups] added dedicated view
  • [Configuration] added the ability to collapse document properties by default
  • [Document] added the ability to collapse the properties panel
  • [Menu] added the ability to collapse it
  • [Quality of Life] polished a lot of views and made considerable amount of UX enhancements
  • [Setup] added the notification to download the admin certificate at the end of the setup