What's New
4.1.10 (41024) - 2019/11/25
Server
[Indexing / Voron]
Fixed unhandled case of leafs compression which resulted in map-reduce indexing error[Replication]
Fixed replication looping when having faulty replication configuration with two replication channels from the same source to the same destination
4.1.9 (41023) - 2019/10/14
Marking last Patch build (4.1.9-patch-41022) as Stable
4.1.8 (41021) - 2019/08/26
Server
[Cluster]
stability improvements[Cluster]
promoting and demoting node should be a ClusterAdmin, not Operator operation[Indexing]
fixed the possibility to encounter stale indexes when node was added to a cluster database group[Indexing]
output of map-reduce indexing functions should not use the same property accessor cache, because it might not contain necessary group by fields needed[RQL]
detecting properly artificial projection e.g. 'from Orders as o select o'[Voron]
fixed "attempted to delete value but it wasn't in index" bug[Voron]
fixed "tried to released page X but couldn't find it in the allocation section" bug that could occur on 32-bit systems
Client API
[Indexes]
added 'System.Text.RegularExpressions' to a list of well-known server-side assemblies, so parameters from methods like 'Regex.IsMatch' will not be converted to strings[Patching]
proper handling whensession.Advanced.Patch
is used on a collection, will not duplicate records in collection afterSaveChanges
[Subscriptions]
opening a session will skip tracking revisions if this is a subscription that retrieves revisions
4.1.7 (41016) - 2019/06/27
Server
[Compare Exchange]
Added ability to storenull
as compare exchange value[Cluster]
Stability improvements[CSV]
Fixed missing Raven-Clr-Type in Export/Import CSV[Debugging]
Added/cluster/topology
to the debug package info[Indexing]
Fixed cleanup on idle index[Indexing]
Recreating index writer on EarlyOutOfMemoryException[Patching]
Fixed memory leak[Replication]
Fixed conflict creation of HiLo documents[Suggestions]
Fixed index writer recreation after indexing batch[Setup Wizard]
Fixed port issue when setting up cluster[Voron]
Fixed error handling in async transactions- Fixed possible race condition during server initialization when using HTTPS
Client
[Configuration]
Preventing multiple calls to configuration/client endpoint[Projections]
Fixed calculations on integers[RQL]
Marking 'limit' and 'offset' as reserved keywords[Querying]
Fixed custom converters usage when serializing query parameters[Session]
Fixed changes detection ofsession.Advanced.WhatChanged()
[Session]
Fixed session clearing
###Studio
[Licensing]
Added Renew option if license is expired[Cluster]
Fixed displayed version after server update on Cluster view[Cluster]
Fixed Cluster view constantly showing Voting in Progress
4.1.6 (41014) - 2019/05/21
Server
[Attachments]
preventing the insertion of a document with attachment if those do not exist[Cluster]
fixed possible loop that could occur during database deletion when database was removed immediately after it was created[Cluster]
stability improvements[Encryption]
better memory management when database is being encrypted[Indexing]
proper change detection when additional sources are changing[Migration]
fixed RavenFS NRE and context misuse[Patching]
fixed issue with rounding when overwriting ints with decimals[Patching]
fixed possibility of endless loop when no modifications are being applied by the patch[Patching]
patching by index query should properly delay the cancellation token[Querying]
fixed 'TotalResults' value when streaming using collection query[Querying]
optimized Lucene query generation, by removing redundant parathesis, which reduces the computation power needed by the Lucene to process the query[Replication]
fixed 'item with the same key has already been added' issue[Subscriptions]
added the ability to disable subscription w/o a name[Voron]
fixing syncing issue due to missing handling of empty journal[.NET Core]
updated to 2.1.11
Embedded
- 'WaitForUserToContinueTheTest' will only trigger when debugger is attached
Client
[Caching]
aggressive cache now has an option to 'do not track changes' via Changes API (passive mode)[Caching]
properly update the cache generation if the document wasn't modified[Conventions]
addedAggresiveCache
conventions for 'Duration' and 'Mode'[Memory]
fixed possible memory leaks when Changes API is used or change detection is executed[Patching]
patching a field with 'null' value should not throw 'NullReferenceException'[Projections]
using 'id()' in map-reduce indexes, instead of 'Id' to let decide the server-side from where the identifier should be retrieved[Querying]
added 'SearchOperator' parameter to 'Search' method[Querying]
parameters should not use the convention serializer[Session]
using read balance behavior from request executor, so it can be properly injected by the server-side
4.1.5 (41013) - 2019/04/15
Server
[Backups]
fixed calculation if incremental backup should have been started when only Compare Exchange and/or Identities were changed[Cluster]
stability improvements[Cluster]
fixed possibility of database hanging in 'pending for deletion' progress[Cluster]
prevent adding node to a cluster when leader is initialized with port 0 (random)[Documents]
better validation for document ID, counter & attachment name sizes[ETL]
fixed failover in ETL that could occur when node was no relevant for this operation[ETL]
fixed the possibility of ETL hanging when too many counters were replicated at once[Indexing]
fixed possible NRE when defining Output Collection in JavaScript indexes[Indexing]
better index name validation[Indexing]
added support forCount()
method, previously onlyCount
property was supported[Indexing]
optimize querying, by reusing and refreshing the IndexReader, not opening a new one after each indexing batch[Indexing]
filtering-out terms that do not have any matching documents anymore[Indexing]
fixed issue with switching back index to normal operation from low-memory mode[JavaScript]
fixed possibility of non-disposing the blittable JSON objects, when patching script was throwing an exception[Subscriptions]
limited the maximum send batch size to 32MB on x64 and 4MB on x86 machines[Subscriptions]
fixed the possibility of an invalid Subscription state in non-leader nodes[Replication]
fixed Counter replication discrepancies[Replication]
fixed missing Attachment handling in Replication that could case endless repeats of replicationbatches in certain cases[RQL]
support for 'exact' in 'startsWith' and 'endsWith'[Voron]
fixed possible 'UnauthorizedAccessException' that could happen during disposal or deletion of a database of an index[.NET Core]
updated to .NET Core 2.1.10
Client API
[Compare Exchange]
correctly escape characters in URLs[LINQ]
taking into account 'PropertyNameAttribute' from JSON.NET when converting LINQ to RQL[Projections]
fixed issue with projecting array length to custom projection class[Projections]
fixed issue with projecting identity of sub-collection object[Projections]
properly handling counter names with spaces[Projections]
fixed issue with projections failing when there are multiple loads with nested sibling lists[Querying]
support for 'exact' in 'StartsWith' and 'EndsWith'[Session]
state of Session will be cleared only after successfulSaveChanges
operation[Subscriptions]
fixed issue with retrieving subscription information via 'GetOngoingTaskInfoOperation'- fixed possible StackOverflowException that could occur rarely during Database deletion when Client tried to switch to a different node
Studio
[Indexing]
added 'LowerCaseWhitespaceAnalyzer' to the list of analyzers[Storage]
added Storage Report for Server Store- reduced CPU usage needed for 'Server Dashboard View'
- fixed memory leak in 'Server Dashboard View'
- fixed caching issue with Studio files
4.1.4 (41010) - 2019/02/13
Server
[Cluster]
Fixed logging of exceptions[Compaction]
Fixed compaction on 32 bits[Compare Exchange]
Deleting compare exchange entries on a database deletion[Indexing]
Fixed edge case in data compression of map-reduce indexes[Indexing]
Added support for the usage ofNormalize()
method on string values[Indexing]
Fixed indexing of deleted documents[Replication]
Fixed database change vector update if there are conflicts[Replication]
Fixed handling of conflicted revisions[Replication]
Fixed possible AccessViolationException when replicating huge batch[Replication]
Fixed replication of revisions[Setup Wizard]
Fixed continuation of cluster setup from a ZIP file[Smuggler]
Fixed possible NRE during import of tombstones[Smuggler]
] Fixed import if only revisions are loaded[.NET Core]
Updated to .NET Core 2.1.8
Tools
[Voron Recovery]
Disabled data file syncing during the recovery
Studio
- Added view for Transaction Record / Replay feature
4.1.3 (41007) - 2018/11/19
Server
[Cluster]
Fixed unexpected ConcurrencyException when using optimistic concurrency with deletions[Cluster]
Fixed possible high CPU issue when cluster loses the leader[Configuration]
Renamed Storage.OnCreateDirectory options to Storage.OnDirectoryInitialize[Debug]
Added more details to Debug Package[ETL]
Improved validation of added ETL tasks[Indexing]
Fixed indexing of large terms when using collation analyzer[Indexing]
Fixed index replacement handling[Indexing]
Better handling of EarlyOutOfMemoryException in indexing process[Indexing]
Improved memory allocation detection in indexing process[Indexing]
Fixed disposal of temp files created during indexing[Logging]
Disabled logging warning when reducing the size of compression buffers file when db is idle[Patching]
Clearing script runners cache when running in low memory[Querying]
Fixed not contains queries on empty collections[Querying]
Fixed in and between queries to take into account if index does not have 'exact' set on field[Querying]
Fixed loading of empty stored fields in projections[Querying]
Removed optimization of sort only queries[Subscriptions]
Protocol version detection to properly work against 4.0 version of the client[Traffic Watch]
Better tracking of failed queries[Smuggler]
Fixed @flags metadata when migrating from another database but skipping revisions or counters[Smuggler]
Fixed export of large counter values[Voron]
Fixed condition allowing to flushing when we a database is idle[Voron]
Fixed cleanup of recycled scratch buffers only when there is no open read transaction that is still using it[Smuggler]
Added the ability to filter out attachments or counters when doing smuggler import or export[.NET Core]
Updated to .NET Core 2.1.6
Client
[Cache]
Fixed aggressive caching for POST requests[Patching]
AddedBatchPatchCommandData
command[Projections]
Fixed JS projections with dates[Smuggler]
Fixed returning progress of operations
Studio
[Connection Strings]
Fixed detection of connection string can be removed[Notifications]
Delete by collection will display details in notification panel[Setup Wizard]
Setup Wizard was failing when we were not creating a new cluster but Studio Environment was set
4.1.2 (41004) - 2018/10/15
Server
[Backups]
added the ability to skip indexes importing during creation database from backup[Certificates]
better certificate handling[Configuration]
new 'Storage.PrefetchBatchSizeInKb' and 'Storage.PrefetchResetThresholdInGb' configuration option[Cluster]
stability improvements[CPU]
fixed high CPU usage during idle state[Embedded]
on start command line arguments are cloned to avoid adding internal arguments to user defined options[Embedded]
in ASP.NET the 'AppContext.BaseDirectory' is not poiting to 'bin' folder, because of that if server file is not found in that location, also 'bin' will be checked[ETL]
properly handling multiple ETL scripts[ETL]
better detection for empty transformations[ETL]
better SQL ETL database connection handling[ETL]
added 'deleteDocumentsBehavior' method for generic deletion handling[Indexing]
added 'CreateField' that contains all variety of options for advanced usage[Indexing]
when 'default field options' are defined then 'default field values' will not be removed per each field for proper inheritance handling[Indexing]
fixed possible IndexOutOfRange in 'LastIndexOf' and 'LastIndexOfAny' string extensions in indexing functions[Indexing]
support for grouping by nested field values[Indexing]
fixed possible map-reduce error due to unhandled case in the reduce phase[Indexing]
fixed the possibility of skipping documents during indexing when in low memory condition and references are changed in meanwhile[Linux]
retry on EINVAL pwrite fail if cifs/nfs mount[Memory]
adjustments in memory utilization and management[Patching]
fixed issue with parsing and patching stored indexes values[Patching]
fixed null propagation on array methods[Querying]
fixed issues with sort-only queries not returning proper number of results or returning duplicates[Querying]
using 'group by' on an index query will result in an error[Querying]
support for 'fuzzy'[Querying]
support for 'proximity'[Storage]
better prefetching behavior[Traffic Watch]
added request body content[Transactions]
support for transaction recording[.NET Core]
updated to 2.1.5
Experimental
[Cluster Transactions]
fixed issue with executing transaction on a database that was created in version 4.0.x[JavaScript Indexes]
added 'CreateField' that contains all variety of options for advanced usage
Client
[JSON]
fixed change detection when original value was an array and new one is an object with '$type' property[Operations]
not setting 'DocumentStore.Database' will no longer cause DeleteByQueryOperation<TEntity> to throw[Patching]
'session.Advanced.Increment' will generate a patch that checks if the original value is 'null' before concatenating the string[Projections]
support for a predicate in LINQ Count[Projections]
fixed Min/Max behavior on filtered empty collections[Projections]
ensure 'null' coalescing has parenthesis[Smuggler]
fixed issues in smuggler when no default database is set in 'DocumentStore'[Store]
storing 'new object()' should not set any collection, it should go to '@empty' one
Studio
- various performance and stability fixes
- layout fixes
4.1.1 (41003) - 2018/09/14
Server
[Backups]
support for creation of database from legacy 'ravendb-incremental-dump' files[Certificates]
fixed cluster connection issues that could occur after automatic certificate replacement[Changes API]
more graceful shutdown procedure[Embedded]
fixed issues with accessing Studio when embedding in an ASP.NET Core application[ETL]
optimized SQL ETL deletions, will now reduce the amount of deletions that needs to be send and processed[Indexing]
fixed Map-Reduce performance degradation[Indexing]
added 'AttachmentsFor' and 'CounterNamesFor' methods to static indexes[Linux]
added 'PrivateClean' smap memory type to available memory calculations[Memory]
fixed low memory handling in 'ByteStringContext'[Memory]
better memory management[Querying]
fixed issues with optimized sort-only queries returning duplicate results[Querying]
added support for using@metadata.@last-modified
in RQL for dynamic queries[Voron Recovery]
fixed issues with using the recovery tool an an empty database[Voron Recovery]
fixed issues with loading the database after recovery was done[.NET Core]
updated to 2.1.4
Experimental
[Counters]
fixed issues with counter replication[Counters]
fixed issues with not cleaning up JavaScript patching engine from added counters, which would result in unwanted additions for next patching operations when engine would come from cache
Client
[BulkInsert]
fixed issues with escaping ' and " characters in document Id[Indexing]
added 'AttachmentsFor' and 'CounterNamesFor' methods toAbstractIndexCreationTask
[Operations]
not setting 'DocumentStore.Database' will no longer causeDeleteByQueryOperation<TEntity>
to throw
Studio
- support for downloading 'Additional Sources' in Index Edit View
- better validation message for when disallowed characters are used in database name during database creation
- hovering over database name on storage pie chart will highlight relevant record in the table
- various performance and stability fixes
- layout fixes
4.1.0 (41001) - 2018/08/31
Features:
[Indexing]
Highlighting support. Blog[Embedded]
Embedded package. Blog & Documentation[Migration]
SQL Migration. Blog[Migration]
NoSQL Migration. Blog[Querying]
Dynamic query optimization explanations. Blog[Querying]
Lucene explanations. Blog[Querying]
Detailed query timings. Blog[Subscriptions]
Support for includes. Blog
Experimental:
[Counters]
Distributed counters support. Blog[Cluster Transactions]
Cluster-Wide Transaction support. Blog[Indexing]
JavaScript indexes support. Blog & Documentation
Other
[JavaScript]
improved performance[Monitoring]
SNMP entry for performance hints and HTTP endpoint for retrieving SNMP values[Monitoring]
SNMP entries exposed via HTTP endpoint
Client
[Attachments]
addedsession.Advanced.Attachments.Copy
[Attachments]
addedsession.Advanced.Attachments.Move
[Attachments]
addedsession.Advanced.Attachments.Rename
[Changes API]
added counters[Cluster Transactions]
addedsession.Advanced.ClusterTransaction
[Counters]
addedsession.GetCountersFor
[Document Query]
added 'ToQueryable'[Indexes]
added 'AbstractJavaScriptIndexCreationTask'[Session]
addedSessionOptions.NoTracking
[Session]
addedSessionOptions.NoCaching
[Session]
deferred commands will update the session state[Session]
new include syntax with IncludeBuilder (e.g.session.Load<T>(string id, Action<IIncludeBuilder<T>> includes)
)- dropped
netstandard1.3
target