What's new

4.2.6 (42028) - 2019/12/09

Server

  • [AuditLog] Avoid throwing ObjectDisposed during audit logging if the socket was closed
  • [Backup] Fixed issue that an idle database wakes up but doesn't run backup
  • [Indexing] Fixed error logging if there was an error in the referenced document
  • [Indexing] Fixed saving of reduce documents to OutputToReduceCollection (System.FormatException: Bad variable size int)
  • [Replication] Handled a conflict should take into account the unused databases
  • [SNMP]Fixed database startup load due to exceptions thrown by SNMP watcher
  • [Subscriptions] Handled passive nodes during subscription connection
  • [Subscriptions] Improved mechanism to move between nodes in case we don't know what the responsible node should be
  • [Subscriptions] Added timeout when there is compare exchange subscription substitution concurrency to prevent a partial live lock
  • [Subscriptions] Fixed double dispose resulting in unexpected signaling of ConnectionInUse
  • Fixed versions of dependency DLLs
  • Updated to .NET Core 2.2.8

Client

  • Added XMLdocs to the NuGet pckaged
  • Disabled MaxIdleTime of ServicePoint

4.2.5 (42027) - 2019/11/25

Server

  • [Backup] Backup task will delete the .in-progress file when it fails
  • [Backup] Avaliable space validation before the backup
  • [Cluster] Fixed node kicked out of the cluster if the we have election timeout mismatch
  • [Cluster] Added ability to specify topology priority order
  • [Configuration] Increased default value of Databases.ConcurrentLoadTimeoutInSec setting from 10 to 60 seconds
  • [Indexing] Added ability to define pattern for reference documents of OutputToCollection docs generated by map-reduce indexes
  • [Indexing / Voron] Fixed unhandled case of leafs compression which resulted in map-reduce indexing error
  • [JSON] Fixed memory overlap on ID slice creation, when we have two or more control characters in a row
  • [Replication] Fixed replication looping when having faulty replication configuration with two replication channels from the same source to the same destination
  • [Revisions] Allow to define separate conflict revision configuration
  • [Stats] Exposed IO metrics for the system storage

Client

  • [Index Definition] Fixed needless usage of ToDictionary() for simple calls
  • [Index Definition] Fixed missing int cast on method call arguments
  • [Operations] Synchronization of database name validation between Client API and server side
  • [Operations] Added ConfigureRevisionsForConflictsOperation
  • [Projections] Added support for nullable DateTime in projection
  • [Projections] Fixed JsConverter strip 'Value' or 'Key' from dictionary entity
  • [Projections] Fixed unhandled case of projection with SelectFields
  • [Session] Fixed entities loading during OnBeforeStoreEvent
  • [Session] Propertly converting dictionary stored in metadata
  • [Session] Added active async tasks tracking and throwing on session dispose if there are any

Studio

  • [Stats] Added IO metrics view for the system storage

4.2.5-patch-42026 - 2019/11/13

Server

  • [Backup] Making sure S3 client won't be downloading entire stream
  • [Backup] Allowing a user to choose the compression level for a Snaphost backup
  • [Backup] Restore from backup was not respecting "Disable ongoing tasks after restore"
  • [Backup] Support restoring from a legacy backup
  • [Cluster] Stability improvements
  • [Cluster] Fixed race condition between methods that rely on LastDatabaseRecordIndex
  • [Cluster] Fixed case when removing and re-adding a node to the cluster
  • [CLI] Added threadsInfo to the command options
  • [Certificates] Support for ACME V2
  • [Certificates] Fixed LastAuthorizedNonClusterAdminRequestTime calculation
  • [Debug] Improved Debug Package
  • [ETL] Task status reporting fixes. Improved logging.
  • [Indexing] Support for side-by-side indexing of map-reduce indexes with OutputReduceToCollection
  • [Indexing] Better memory management for map-reduce indexes with OutputReduceToCollection
  • [Linux] Fixed CPU usage calculation
  • [Linux] Fixed high CPU usage of the Low memory notification thread
  • [Logging]When out of disk space, don't attempt to log.
  • [Patching] Preserving the order of properties after a patch
  • [Querying] Fixed query etag calculation when counters are included or cmpxng was used
  • [Querying] Added support of oreding by spatial.distance() for auto indexes
  • [Querying] Fixed querying with the usage of in operator and querying list is bigger than 1024
  • [Querying] Support not exists() for dynamic queries
  • [Querying] Improved field options detection of dynamic queries
  • [Querying] Fixed projection uses wrong alias for result of function
  • [Querying] Fixed facet intersection algorithm calculation
  • [Revisions] Fixed Enforce revision configuration option when there were tombstones
  • [Replication] Fixed handling of replication attempting to talk to an idle database
  • [Replication] Enhanced handling of Enforcing configuration
  • [Subscriptions] Enhanced logging
  • [Subscriptions] Fixed subscription race condition between awaiting for a free connection to waiting to different node
  • [Subscriptions] Fixed race between subscription connection disposal and returning an answer to the client
  • [SNMP] Improved memory allocations
  • [SNMP] Added /monitoring/snmp/bulk endpoint
  • [Voron] Use UTF8 for Linux and Unicode for windows on PAL

Studio

  • [Backup] Fixed visibility of backup configuration with encryption
  • [Notifications] Enhancements for huge documents notifications
  • [Patching] Fixed error when doing a test patch
  • [Restore] Fixed restore operation didn't not set proper Processed value
  • Added option to filter import and export of artificial documents

Client

  • [JSON] Added support for more basic types as metadata value
  • [JSON] Simplify JSON when serializing a command
  • [JSON] TrySimplifyJson assign the right type to derived properties
  • [Projections] Fixed NRE in NullableSupport
  • [Querying] Support negated Any statement in Linq
  • Improved validation of provided node URLs
  • Can use operations with selected node tag even if DisableTopologyUpdates is true

4.2.4 (42021) - 2019/10/14

Server

  • [Backup] fixed issue with detecting if backup is encrypted
  • [Backup] fixed issue with creating an encrypted backup regardless of explictly stating in Studio that the backup should not be encrypted
  • [Backup] improved handling of huge backup files during Google Cloud restore
  • [Configuration] added 'Indexing.IndexMissingFieldsAsNull'
  • [Cluster] upgrading a Watcher node from 4.1 to 4.2 should not throw NotSupportedException
  • [Expiration & Refresh] reduced memory footprint during Expiration cleanup or Refreshing documents
  • [Indexing] added the ability to index missing fields as null
  • [Indexing] properly handling out of memory exeptions that were raised during index writer creation
  • [Linux] fixed Thread CPU usage calculation
  • [Logging] reduced number of log entries when we are in low memory
  • [Memory] reduced memory footprint for streaming and backup operations on 32-bit systems or in encrypted databases
  • [Querying] negative paging parameters (Start, PageSize, Offset, Limit) will throw
  • [RQL] fixed string literal parsing when it ends with backslash
  • [SQL Import] fixed Schema discovery when importing from MySQL

Client API

  • [Events] added 'OnFailedRequest' to 'DocumentStore', marked old 'FailedRequest' from 'RequestExecutor' as obsolete
  • [JSON] avoid calling 'DeserializeEntityFromBlittable' when query return type is 'BlittableJsonReaderObject'

Studio

  • [Backup] fixed NRE during folder discovery for Amazon S3 restore
  • [Backup] displaying full path for local backups instead of relative one
  • [Backup] fixed restore source detection when restoring from Amazon S3, Microsoft Azure and Google Cloud
  • [Backup] properly detecting restore points from Google Cloud
  • [Backup] properly detecting database names in restore points when we have nested folders
  • [Backup] properly detecting number of files to restore when we have nested folders
  • [Documents] no longer displaying 'RevisionCreated' in the Documents view
  • [Databases] added support for arrow handling in 'Databases Dropdown'
  • [Refresh] exposed refresh date in 'Documents' view
  • [Revisions] added Enforce Configuration button
  • [Themes] fixed styling

4.2.4-patch-42020 - 2019/09/27

Server

  • [Backup] Using dedicated threads for backup operations
  • [Backup] Allowing to restore a backup from cloud storage
  • [Backup] Server wide backup wont' wake up idle databases
  • [Backup] Fixed error handling when we fail to delete files on S3 when running retention policy
  • [Blittable] Fixed handling of escape characters
  • [Blittable] Fixed disposal of arrays nested in JSON
  • [Cluster] Fixed deletion of a node that is a part of an encrypted database group
  • [Cluster] Unloading idle databases when running in cluster
  • [Cluster] Don't choose node as responsible once if it is about to be deleted from database group
  • [Cluster] Fixed error in ClusterMaintenanceSupervisor caused by getting multiple reports in network buffer
  • [Docker] Improved memory consumption monitoring
  • [Encryption] Fixed support for huge transactions (>int.MaxValue) in encrypted databases
  • [Indexing] Moving JavaScript index compilation cache from static level to database level
  • [Indexing] Fixed index creation referencing metadata for collection names with dashes
  • [Indexing] Fixed error handling of OOM exception when logging another error
  • [Indexing] Fixed cleanup of tombstones which wasn't processed by multi map or map-reduce index
  • [Indexing] Fixed index progress for an index with LoadDocument
  • [Licensing] Removed SNMP warning after license activation
  • [Memory] Improved memory calculations when running in Docker
  • [Patching] Fixed debug actions logging for put, load and delete
  • [Querying] Fixed the order of extraction of JS projected fields - from index first then from a document
  • [Querying] Fixed fixed JS projection behavior when we have dynamic fields in index (always check index fields in that case)
  • [Querying] Fixed NULL_VALUE and EMPTY_STRING behavior for JS projections to match the non-JS ones
  • [Querying] Fixed JS projections of stored string field with value that 'looks' like a large number
  • [Replication] Fixed issue where specific document with attachment insertion pattern cause replication of many items in a single batch
  • [Revisions] Allowing to enforce revision configuration
  • [SNMP] Using unique engine ID when SNMPv3 AuthPriv is used
  • [SNMP] Fixed Allocated Memory on Linux
  • [SNMP] Fixed Public TCP Url OID
  • [SNMP] Exposed LastAuthorizedNonClusterAdminRequestTime
  • [Subscriptions] Fixed tight looping when having subscription configured for revisions but there is no revision in database
  • [Smuggler] Prevent Access Violation when importing legacy counters
  • [Smuggler] Fixing memory leaks during import
  • [Voron] Fixed compatibility of 64 bits database that are used from 32 bits systems
  • [Voron] Added functionality that will skip transaction during journal reading which has integrity issues but was already synced

  • Updated .NET Core to version 2.2.7

Client

  • [RequestExecutor] Creating new HttpClient if SocketException was encountered
  • [RequestExecutor] Fixing possible race condition when we update topology during command failover
  • [Querying] Fixed missing Id to id() translation in Where with exact overload
  • [Loading] Fixed Load with Include for dictionaries
  • [JSON] Avoid simplifying the property if it's a JObject, JArray and JValue

Studio

  • Basic support for formatting of JavaScript indexes
  • Exposing Refresh feature