What's new

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 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 to AbstractIndexCreationTask
  • [Operations] not setting 'DocumentStore.Database' will no longer cause DeleteByQueryOperation<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


Other

  • [JavaScript] improved performance
  • [Monitoring] SNMP entry for performance hints and HTTP endpoint for retrieving SNMP values
  • [Monitoring] SNMP entries exposed via HTTP endpoint
  • [ETL] Ability to test scripts
  • [ETL] Support for attachments in RavenETL

Client

  • [Attachments] added session.Advanced.Attachments.Copy
  • [Attachments] added session.Advanced.Attachments.Move
  • [Attachments] added session.Advanced.Attachments.Rename
  • [Changes API] added counters
  • [Cluster Transactions] added session.Advanced.ClusterTransaction
  • [Counters] added session.GetCountersFor
  • [Document Query] added 'ToQueryable'
  • [Indexes] added 'AbstractJavaScriptIndexCreationTask'
  • [Session] added SessionOptions.NoTracking
  • [Session] added SessionOptions.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