What's new

5.2.6 (52021) - 2022/01/07

Server

  • [Compression] fixed possible data corruption issue that could occur when transaction which used compression was rolled-back

5.2.5 (52020) - 2021/12/21

Server

  • [Backup] fixed issue with testing AWS credentials when custom URL is used
  • [Backup] fixed issue with rescheduling backup when during processing it is being moved to another node
  • [Backup] added 'ForcePathStyle' option to S3 settings
  • [Backup] properly escaping tombstone ID during backup
  • [Backup] fixed issue when exporting and importing could lose ID capitalization when cluster transaction with atomic guard was used to create that document
  • [Cluster] idle indexes should not be taken into account when calculating promotable state
  • [Compare Exchange] fixed possible NRE when 'AddOrUpdateCompareExchangeCommand' is executed due to possibility of early context release
  • [Configuration] added 'Indexing.TimeSinceLastQueryAfterWhichDeepCleanupCanBeExecutedInMin' configuration option
  • [Configuration] added 'Indexing.IndexStartupBehavior' configuration option
  • [ETL] fixed possibility of infinite loop in ETL (backported from 5.2)
  • [ETL] fixed issue with removing node from database too early when deletion status is still set to 'no'
  • [Indexing] added support for 'LoadDocument' without adding a tracking reference
  • [Indexing] early stop reference processing if server is under memory pressure
  • [Indexing] fixed issue with retrying 'OutputReduceToCollectionCommand' in transaction merger which could result in not deleting relevant documents
  • [Indexing] fixed issue with calculating hash incorrectly for double values in map-reduce indexes causing increased number of hash collisions to handle
  • [Indexing] expose batch complete reason in the indexing performance stats for Cleanup & References
  • [Querying] fixed issue with calculating total number of results when using collection query on a non-existent property
  • [Querying] properly handling NULL_VALUE when sorting alphanumerically
  • [Querying] added the ability to do JavaScript projection of Time Series values
  • [Replication] fixed issue with calculating properly HasRevisions flag when replicating document delete
  • [Replication] revision configuration should create revision bin for documents deleted by replication
  • [Replication] expose incoming replication stats from external replication to the Ongoing Tasks View
  • [Time Series] decrease CPU usage during streaming of large time series
  • [Transactions] fixed issue with re-running some of the commands when merging fails and they need to be executed once again one by one
  • [Voron] using 'mmap' instead of 'posix_memalign' when allocating 4KB aligned memory for encryption buffers to avoid memory fragmentation
  • [.NET] updated to .NET 5.0.13

Client API

  • [Querying] throw when whole entity instance is compared inside conditional statement
  • [Querying] support for using select after select (will be handled same as 'let')
  • [Querying] caching index metadata to increase query building process performance
  • [Querying] caching query parameter names to increase query build process performance

Other

  • [Docker] added the ability to override server URL via RAVEN_ServerUrl environment variable

5.2.4 (52016) - 2021/11/15

Server

  • [Backup] do not cancel running backup even if task was moved to another node
  • [Backup] fixed issue with restoring Snapshot backup when compare exchange values exist
  • [Cluster] fixed issue with Cluster might accepting commands from higher version than the current one when doing mixed version clusters
  • [Cluster] properly snapshot compare exchange with expiration
  • [Counters] remove leading whitespace from Counter Values Change Vector
  • [Counters] prevent from generating invalid Change Vector that starts with comma
  • [ETL] properly validate if number of transform scripts is greater than 0
  • [ETL] properly handling casing mismatch between table name and table definition
  • [ETL] state should be tracked per database ID instead of node tag to avoid progress miscalculations when node is being removed and re-added
  • [ETL] allow to pass SQL table name with a schema in the script
  • [Import] handle compare exchange values incrementally when doing an import from v4.x
  • [Import] properly handle revisions when doing an import with time series
  • [Indexes] validate if index was created using our database and not copied from a different one
  • [Indexes] properly handle cancellation when doing flush and sync to avoid generating index error
  • [Indexes] fixed issue with throttled indexes getting stuck sometimes
  • [Indexes] added the ability to turn off the size limit check when requesting for index entries
  • [Monitoring] exposed MemInfo (linux) to SNMP
  • [Monitoring] exposed number of faulted databases to SNMP
  • [Querying] fixed issue with collection size limitation when using 'Not In' clause and the possibility to return invalid results
  • [Querying] properly handle NULL_VALUE when using alphanumeric sorting
  • [Replication] do not stop replication when replicating a document with a changed collection and there is a conflict already
  • [Replication] properly handling Tombstones for legacy 3.x replication
  • [Replication] properly setting HasAttachment, HasCounters flag in reverted revision documents
  • [Replication] fixed issue with negotiating replication protocol version
  • [Transactions] properly handling Change Vector when TxMerger executes transactions one by one to avoid returning invalid Change Vector
  • [TCP] properly dispose Ping connections to avoid having a lot of CLOSED_WAIT sockets
  • [Voron] fixed invalid handling of journals created based on recyclable ones during the storage recovery on startup
  • [Voron] fixed 'Collection was modified; enumeration operation may not execute.' when generating a storage report
  • [.NET] updated to .NET Core 5.0.12

Client API

  • [Document Store] exposed 'HiLoIdGenerator'
  • [Session] support for selecting metadata in single call expressions
  • [Session] support for nested projections when using LINQ
  • [Operations] fixed issue with using TypeNameHandling.None by user and deserialization of Operations
  • [Operations] fixed issue with contacting server when using server-wide operations and node is a watcher

Studio

  • [Admin Logs] clearing admin logs when they are paused should not start them
  • [Compare Exchange] display Raft Index
  • [Licenses] display connectivity to api.ravendb.net
  • [Licenses] show force update license on all license types
  • [Notifications] added total documents size for page size is too big performance hint
  • [OLAP ETL] fixed issue with opening Test Area
  • [Patching] provide number of affected documents before executing patch
  • [Querying] fixed issue with providing query parameters as inline JSON
  • [Threads] added the ability to view a stack trace of a single thread
  • [Threads] added the ability to filter by thread Id

5.2.3 (52012) - 2021/09/29

Server

  • [Backups] fixed issue with restoring snapshots that were 2GB+ because of limitations of ZipArchive in .NET
  • [Backups] fixed issue with Azure client having issues with staging large blocks
  • [Backups] fixed progress update in AWS S3 and AWS Glacier clients
  • [Backups] fixed issue with restoring snapshot backups containing compression recovery files
  • [Cluster] decrease the amount of locks taken by cluster to avoid contention
  • [Cluster] check for topology changes also on server-wide requests resulting in faster topology change discovery by Client APIs
  • [Configuration] added 'Backup.UploadTimeoutInMin'
  • [Configuration] added 'Security.Certificate.Validation.KeyUsages'
  • [Encryption] decreased memory footprint when generating storage report with attachments on an encrypted database
  • [Indexes] fixed possible storage corruption in indexes that are using Suggestions
  • [Indexes] fixed issue when modifying 'PatternReferencesCollectionName' in map-reduce indexes could create conflicts during replication
  • [Indexes] fixed issue with using 'IfEntityIs'
  • [Indexes] fixed NRE when database compaction is executed - could happen if auto indexes were merged
  • [Indexes] prevent database from unloading because of idleness during index compaction
  • [Indexes] 'ErrorIndexStartupBehavior.ResetAndRestart' will also try to reset the Faulty indexes
  • [Indexes] index will create a Studio performance hint notifications when substantial amount of LoadDocument & LoadCompareExchangeValue calls per single reference item exists
  • [Linux] set 'TasksMax' to infinity in 'ravendb.service' file
  • [Memory] fixed memory leak that could occur in Databases cache when a lot of databases is being added and deleted
  • [Monitoring] exposed writes and data written per second in SNMP for server and per database
  • [Monitoring] exposed average request duration for server
  • [Querying] better exception when page size is negative
  • [Querying] fixed issue with 'Not In' not support more than 128 items
  • [Replication] fixed issue that could cause replication problem if a revision of a conflict between document and document deletion occurs
  • [Subscriptions] do not send includes in every subscription batch when the list of them is empty
  • [Revisions] properly set etag when revision bin entry is created to avoid issues with ordering and therefore retrieving the revisions bin entries
  • [Voron] immediate process exit on catastrophic failure in server store to avoid running with invalid state

Client API

  • [Session] using 'Evict' method should release memory immediately to release memory pressure as soon as possible
  • [Operations] fixed issue with deserialization of 'IOperationResult' when 'TypeNameHandling.None' is set in conventions
  • [Operations] fixed possible NRE when waiting for smuggler operation if it was completed before the wait was called

Studio

  • [Certificates] added the ability to generate client certificate with expiration date in days instead of months
  • [Certificates] allow Operators to enter Custom Analyzers & Sorters views
  • [ETL] added the ability to edit script name
  • [Indexes] fixed NRE when navigating to a non-existing index
  • [Indexes] more detailed index change history
  • [Ongoing Tasks] added the ability to create ongoing task as disabled
  • [Querying] fixed issue with Spatial queries not showing 'Map view'

Embedded

  • added support for + in ServerOptions.FrameworkVersion for Patch number with default set to 5.0.10+

Tools

  • [rvn] proper 'CTRL+D' and 'EOF' handling

Docker

  • added support for $RAVEN_DATABASE parameter which creates given database on a first run
  • added support for 'arm64' docker image

5.2.2 (52003) - 2021/08/16

Server

  • [Backups] moved to official Azure, AWS S3 and AWS Glacier clients
  • [Backups] on export avoid ArgumentNullException because of lack of ClusterTransactionId which was added in 5.2
  • [Bulk Insert] added 'SkipOverwriteIfUnchanged' support
  • [Certificates] added support for 'PBEwithHmacSHA-256 encrypted certificates'
  • [Concurrency] fixed possibility of loosing a document tombstone when optimistic concurrency 'put' is done after 'delete'
  • [Configuration] added 'Storage.DiscardVirtualMemory' option
  • [Compression] added the ability to compress all collections without specifying their name individually
  • [Encryption] fixed issue with removing encrypted node with wrong key
  • [Indexing] decreased CPU pressure by scheduling indexing cleanup only when it is needed
  • [Indexing] avoid creating index writer if no results were generated
  • [Indexing] handle properly OperationCancelledException and ObjectDisposedException when querying an index that is being replaced at the same time
  • [Indexing] handle 'SelectMany' in nested dictionary properly in indexing functions
  • [Indexing] fixed select value from collection in indexing function while using 'FirstOrDefault' method
  • [Indexing] method 'LoadDocument' should return null for null IDs
  • [JavaScript] releasing memory earlier in Jint engine to reduce the memory footprint
  • [Monitoring] added endpoints to monitor number of indexes, stale indexes and indexing performance in all loaded databases
  • [Querying] when projecting from a document that does not exist already, we should skip that document
  • [Querying] fixed issue with paging on unbounded set when 'StartsWith' on 'id()' is used
  • [Querying] support for loading multiple values from Lucene document when doing a projection
  • [Replication] when replication failovers it should check destination change vector and start from there, not from scratch
  • [Revisions] enforcing revision configuration should also take into account document tombstones
  • [Revisions] added 'MaximumRevisionsToDeleteUponDocumentUpdate' option
  • [RQL] added support for parameters starting with a number e.g. $1
  • [Voron] fixed issue with recursive write lock acquisitions when removing inactive scratches
  • [Voron] fixed possibility of accessing disposed pager of 'compression.buffers'
  • [Voron] fixed int.MaxValue overflow in 'AdjustPagesRequiredFor32Bits' when running on 32-bits
  • [Windows] server will take into account Job memory limits when amount of resources available is calculated
  • [.NET] updated to 5.0.8

Client API

  • [Bulk Insert] added 'SkipOverwriteIfUnchanged' option
  • [Indexing] fixed issue with generated index definition from LINQ when generic arguments are used
  • [Querying] fixed issue with using 'Group' as a property name in includes
  • [Querying] fixed missing alias when doing a secondary level includes
  • [Operations] added 'GetDatabaseSettingsOperation' and 'PutDatabaseSettingsOperation'
  • [Revisions] added the ability to include revisions by date and Change Vector
  • [Session] method Attachmnts.GetNames should return correct number of attachments after deletion
  • [Session] properly detect changes in documents containing Unicode characters
  • [Session] fixed cache issue when using MultiGet
  • [Subscriptions] added 'Disabled' to 'SubscriptionCreationOptions'

Studio

  • [Ongoing Tasks] will keep their state (Disabled/Enabled) on save instead of becoming enabled
  • [Performance Hints] added Total Documents Size to paging performance hint
  • [Querying] correctly display number of documents when delete by collection is executed
  • [Replication] added number of replicated counters to Replication Stats Graph
  • [Storage] added grouping of the data in the graph if number of items is excessive
  • [Traffic Watch] added response size
  • do not align text in all of the notifications to center
  • fixed issue with setting LoadBalanceBehavior

Tools

  • [Debug] added ability to save traffic watch