What's new

5.0.3 (50011) - 2020/09/28

Server

  • [ARM] support for Linux ARM64
  • [Backups] fixed issue with updating server-wide backup name that could result in creating a new backup task instead of updating existing one
  • [Backups] fixed possible deadlock scenario in backup runner
  • [Backups] exposed FTP upload details
  • [Backups] reduce amount of work needed for restoring a snapshot
  • [Backups] reduce memory footprint when exporting a database
  • [Batching] do not throw when 'WaitForReplicationAfterSaveChanges' is requested but 'throwOnTimeout' is set to 'false'
  • [Cluster] added 15 second timeout for 'GetRemoteTaskTopologyCommand', 'GetTcpInfoForRemoteTaskCommand', 'GetDatabaseTopologyCommand ' and 'GetTcpInfoCommand'
  • [Compare Exchange] compare exchange tombstones should properly take into account the state of the backups
  • [Configuration] added 'License.DisableAutoUpdate' and 'License.DisableLicenseSupportCheck'
  • [Counters] fixed issue with conflict between new and deleted counter
  • [Counters] remove unused Database Ids upon counter splitting
  • [Counters] fixed issue with splitting counters containing unicode characters
  • [Counters] fixed possible overflow issue in distributed counters
  • [Indexing] fixed possible missing documents in OutputReduceToCollection when there is a duplicate key hash
  • [Indexing] Lucene.dll is now signed
  • [Indexing] fixed serialization of projected decimal fields
  • [Indexing] fixed performance regression for fanout indexes with 'LoadDocument'
  • [JavaScript] updated Jint
  • [JavaScript] fixed possible NRE in EsprimaVisitor
  • [JSON] parsing decimal value from Blittable JSON should be culture invariant
  • [JSON] better hash calculation to reduce the collisions and increase performance
  • [Licensing] allow to start server with expired license, when new license is added in the configuration
  • [Migration] fixed issue with migration of revisions without a document for 3.x
  • [Querying] do not delete surpassed auto-index when the new one is not up to date
  • [Querying] fixed issue with killing faceted query - in some cases it could take longer than expected
  • [Storage] fixed possible NRE that could happen during storage report generation if journal was disposed meanwhile
  • [Storage] better handling of special characters in collection names
  • [Subscriptions] support for @all_docs
  • [Subscriptions] fixed issue with @all_docs subscription not responding to updated documents
  • [Subscriptions] support for 'in' inside 'where' clause
  • [TimeSeries] enhancements to TimeSeries conflict resolution
  • [TimeSeries] skipping dead segments when doing full backup to reduce amount of work during the restore
  • [.NET Core] updated to 3.1.8

Client API

  • [Conventions] added ShouldIgnoreEntityChanges
  • [Operations] exposed 'GetCompareExchangeValuesOperation(string[] keys)' ctor
  • [Events] exposed 'OnBeforeConversionToDocument', 'OnAfterConversionToDocument', 'OnBeforeConversionToEntity' and 'OnAfterConversionToEntity' in session
  • [Events] added OnBeforeRequest and OnSucceedRequest events
  • [Querying] added support for aggresive caching in lazy queries
  • [Session] registering known missing Ids on Load
  • [Session] properly update documents' CV in session state after storing an attachment
  • [Session] Lazy Query should invoke OnBeforeQuery properly
  • [TimeSeries] fixed possible NRE when using 'ForDatabase' in 'TimeSeriesOperations'

Studio

  • [Database Record] added the toggle to show/hide empty values
  • [Documents] copy 'TimeSeries' when cloning a document
  • [Querying] fixed issue with deleting by query from Studio
  • various fixes and style enhancements

5.0.2 (50009) - 2020/08/17

Server

  • [Backup] fixed race condition between finishing and setting a new backup
  • [Backup] fixed issue with restoration of encrypted backups sometimes timing out
  • [Backup] fixed NRE that could occur when restoring backups using Azure
  • [Configuration] added 'Server.AdminChannel.Disable'
  • [Configuration] added 'Server.LogsStream.Disable'
  • [Configuration] added 'Indexing.ManagedAllocationsBatchSizeLimitInMb'
  • [Debug] added '/databases/*/admin/configuration/settings' to Debug Package
  • [Encryption] performance improvements for encrypted databases
  • [Expiration] allow usage of expiration and refresh at the same time
  • [Graph API] fixed out of memory when executing recursive graph query on a large graph
  • [Graph API] fixed 'transaction already opened' when computing etag on a query after data was changed
  • [Indexing] fixed issue with indexing compare exchange references after they were changed but their etag is lower than last etag of a collection of a mapping function when they were used
  • [Indexing] indexing batch will stop if managed allocations are exceeding threshold defined in configuration 'Indexing.ManagedAllocationsBatchSizeLimitInMb' (2048 by default)
  • [Indexing] fixed possible 'VoronUnrecoverableErrorException' when Map-Reduce index is used
  • [Indexing] fixed possible 'IndexOutOfRangeException' when Lucene commit is too big
  • [Patching] added 'timeseries.getStats'
  • [Querying] avoid infinite loop when 'WaitForIndexesAfterSaveChanges' is used without throwing on timeout
  • [Replication] fixed issue with attachment stream being deleted when not all revisions with that attachment were replicated
  • [Replication] added 'RegisterBytesSent' and 'RegisterBytesReceived' to replication statistics
  • [Revisions] when document is being deleted and it has revisions, but revision configuration was deleted, then we should remove the revisions
  • [Subscriptions] fixed issue with subscription not always reconnecting due to race condition
  • [Time Series] throw 'not supported exception' when using 'milliseconds' in first/last
  • [Time Series] fixed 'ArgumentException' when using 'group by X milliseconds' in Time Series query
  • [.NET Core] updated to 3.1.7

Client API

  • [Conventions] added 'IgnoreByRefMembers' and 'IgnoreUnsafeMembers'
  • [Counters] fixed NRE when retrieving a counter that does not exist
  • [Indexes] fixed issue with setting a priority in 'AbstractIndexCreationTask'
  • [Patching] added support for nullable in strongly-typed patching
  • [Patching] added support for LINQ in strongly-typed patching
  • [Querying] added 'string.Compare' support
  • [Querying] fixed 'reference scope' error when filtering and projecting sub-collection
  • [Revisions] added 'ForceRevisionCreationFor' to async API
  • [Serialization] proper handling of 'by-ref' and 'pointer' fields and properties
  • [Subscriptions] fixed issue with subscription not always reconnecting due to race condition

Studio

  • [Patching] display test information for Counters and Time Series
  • [Querying] always quote index name when requesting terms
  • [Time Series] display rollup values in a table

Test Driver

  • fixed issue with deleting some temporary directories when database is running in memory

5.0.1 (50008) - 2020/08/05

Server

  • [Indexing] fixed issue with possible referenced document (LoadDocument) miscalculation that could result in indexing not triggering properly when referenced documents were changed in some situations

5.0.0 (50005) - 2020/07/23

Features

  • [Time Series] added feature. Documentation
  • [Documents Compression] added feature (Experimental)

Other

  • [Compare Exchange] added support for loading compare exchange values as references in indexes
  • [Compare Exchange] support for expiration of values
  • [Identities] ability to set identity parts separator on the server-side
  • [Indexes] added 'TryConvert' to static indexes
  • [Indexes] automatic DateTime detection during indexing and query optimization around that
  • [Indexes] added support for static Counter indexes
  • [Indexes] added support for static Time Series indexes
  • [Patching] updated Jint with support for 'let' and 'const'
  • [Querying] support for multiple operations on facets
  • [Subscriptions] support for including Counters

Client API

  • [Attachments] support for multi-get
  • [Bulk Insert] support for Attachments
  • [Bulk Insert] support for Counters
  • [Bulk Insert] support for Time Series
  • [Compare Exchange] added lazy methods
  • [Load Balancing] added load balance behavior support
  • [Patching] added support for Dictionaries in Session.Advanced.Patch
  • [Subscriptions] added methods for updating the Subscriptions
  • [Serialization] added abstract layer over serialization. Migration
  • [Serialization] improved JSON serialization performance

Studio

  • [Database Settings] added support
  • [Indexing] ability to clear index errors
  • [Time Series] added support for plotting