What's new

3.0.30037 - 2016/01/09

Server

  • [DTC] Fixed NonAuthorativeInformation detection,
  • Added admin/generate-oauth-certificate endpoint,
  • Exports will now include documents created during the export time,
  • Fixed licensing timer leaks,
  • Minor fixes and tweaks,
  • Added a mechanism preventing from opening a resource with a different storage type than is defined in configuration,
  • Added a mechanism preventing from creating a different resource type than is defined in data directory,
  • [Scripted Index Results] will work correctly if there are multiple loads and puts of the same document in same batch,
  • [JavaScript] decreased max recursion from 1024 to 128,
  • [Replication] added LastReplicatedAttachmentEtag to the replication statistics,
  • [Patching] Inc operation will now assume that the value is Int64, not Int32,
  • Better mechanism preventing index corruption after server crash

Client API

  • support for DNX Core 5.0 (only unstable builds greater than 30011 due to NuGet policies),
  • Streams now contain full document metadata,
  • Added SetResultTransformer overload to IDocumentQuery and IAsyncDocumentQuery,
  • Query DurationMilliseconds is set to -1 when response comes from cache

Studio

  • Fixed FileSystem import,
  • Studio should not allow to 'save' locked index or should indicate after pressing save that the index is locked and changes will not be saved,
  • Minor fixes and tweaks

FileSystem

  • Failure to start FileSystem should result in 503, not 500 status code,
  • Fixed issues with recreating IndexSearcher during index reset, which could result in a failure to access index files,
  • Fixed FileSystem exports,
  • Fixed issue with streaming, now streams will exclude internal files (tombstones, deleted, synchronized),
  • Stability improvements

StorageExporter

  • Added SkipConsistencyCheck option

Smuggler

  • Better export timeout handling,
  • Enhanced server version discovery

3.0.30000 - 2015/11/19

  • [Breaking Change] Changed the build number in the RavenDB version (3.0.30000)

Server

  • [Prefetching] Fixed performance issues,
  • [Indexing] Fixed an issue with accessing index files (System.ObjectDisposedException: Cannot access '_[xxx].fdt' because the index input has been disposed or System.IO.FileNotFoundException: Can not load ICSharpCode.SharpZipLib.dll),
  • [Indexing] Fixed reduction phase which skipped docs when first time it was performed in a single step but later it was processed as a multi step operation,
  • [Indexing] Fixed race condition in Lucene.net spatial contrib,
  • [DTC] Fixed an issue with deletes performed in multiple concurrent threads (while in a distributed transaction) were not being replicated,
  • [Scripted Index Results] Fixed missing execution of index update triggers when removing from map-reduce index using RemoveFromIndexTask,
  • [Scripted Index Results] Fixed conversion of null string properties,
  • [SQL Replication] Fixed bug when comparing with null in a sql replication script,
  • [Configuration] Added Raven/Tenants/MaxConcurrentResourceLoads and Raven/Tenants/ConcurrentResourceLoadTimeout settings which limit concurrent load of resources (databases, filesystems, etc)

Client API

  • Added support for transactional sessions with DTC under async sessions,
  • Fixed an issue with unbounded results API which returned up to 128 documents when doing spatial query using Customize(),
  • Enabled compression for more requests to shrink the amount of data transferred through the network,
  • Added InMemoryDocumentSessionOperations.UnregisterMissing and invoke it before loading ConstraintDocument in bundle,
  • Added new overload of SetResultTransformer to IDocumentQuery that allows strong-typing of the transformed result independently of the type of the index entries.

Data Subscriptions

  • Changed the approach of retrieving and processing documents to avoid connection breaks caused by consuming incoming data too slowly,
  • Fixed issues related to opening a subscription depending on a specified strategy,
  • Fixed a timeout handling in subscriptions if all documents are filtered out

File systems

  • Fixed OutOfMemoryException when uploading large files or synchronizing between servers,
  • Fixed an issue that a file were accessible even though its upload has been aborted,
  • Fixed file uploads with Windows Auth enabled

Smuggler

  • Fixed the import of dump files containing Raven/Subscription/... identities used by Data Subscrptions,
  • Added support for transform / filter scripts on database export.

Studio

  • Added transform script validation for import/export operations. Fixing help message and outdated links,
  • Fixed Patch by index - query not filtering matching documents,
  • Fixed acquisition of the debug info package if the server machine has .NET installed in version 4.5.2 or 4.6,
  • Faster transitions,
  • Fixed race condition between loading the studio version and generating help link,
  • Fixed Patch page - when selecting a collection the documents are overlapping the Before Patch and After Patch,
  • Fixed Indexes page - show if index is map reduce

version.3800 - 2015/09/21

Server

  • Improved formatted index generation with better error handling,
  • Fixed issue with single OAuth tokens caching,
  • Larger batches are now handled better by Map-Reduce indexes,
  • Added support for HEAD request for streams,
  • Fixed ArgumentOutOfRangeException that could occur during reading from Lucene index

File systems

  • Better handling of larger files with longer names

Client API

  • Fixed issue with saving documents to proper database in ShardedBulkInsert operation,
  • Fixed issues with index generation,
  • IndexCreation now takes into account conventions,
  • Added the option to specify timeout of a subscriptions pull request

Studio

  • Fixed replication topology graph
  • Fixed replication settings page

version.3785 - 2015/08/31

Server

  • [Voron] increased scratch buffer size to 6144 MB and added a threshold after which indexing/reducing batch sizes will start decreasing,
  • [Voron] map/reduce optimizations. We have done major work to optimize how RavenDB uses map/reduce on Voron. As a result, map/reduce performance on Voron has improved tremendously. However, this require a migration step during the first startup,
  • [Voron] optimized recovery code heavily to support slow I/O systems on large databases,
  • Changed shutdown sequence - each database / file system waits up to 3 seconds to complete existing requests before they get aborted,
  • Fixed creation of future batches (prefetching mechanism),
  • Changed index priority does not force index reset,
  • Handled failures of index resets,
  • Fixed loading of startup tasks when hosted in IIS,
  • Fixed Lucene.Net to properly dispose files in out of disk space scenario,
  • Fixed Lucene.Net memory allocation on queries. We have drastically reduced the amount of memory that is allocated per query, and improved the performance of queries substantially
  • Better handling of buffer allocations in websockets, reduces memory fragmentation,
  • Better handling of Take() / Skip() inside an index
  • Many small perf optimizations, memory allocations reductions, object pooling, etc. Drastic reduction in memory allocations on common code paths,
  • Allow only a single index to use the fast precomputation optimization at a time (reduce memory usage if multiple medium sized indexes are changed concurrently),
  • Re-implemented memory statistics checks using native calls to avoid expensive allocations,
  • Provide more detailed information when an index is corrupted,
  • Adding endpoint for stopping/starting just reduce work. More here,
  • Less aggressive changes to the batch size at scale, being more cautious gives us a bit slower perf but more stable system under load,
  • Fixed side-by-side index updates,
  • Allowed to update side-by-side index when it is still running,
  • Fixed .NET 4.6 compilation errors,
  • Fixed an NRE when the index definition was removed forcibly when using dynamic queries,
  • Fixed error handling during disposal causing an exception to escape thread boundary and crashing,
  • Fixed FIPS licensing issue on embedded databases,
  • Fixed a finalizer usage bug causing us to try to read from a closed handle,
  • Prevent corrupted index warning when creating a map-reduce index and indexing is disabled,
  • Preventing code from trying to use disposed internal transactions,
  • Properly dispose of timer instance when shutting down a database using expiration bundle,
  • Prevent an error loading ICSharpCode.NRefactory from killing RavenDB client startup

Configuration

  • Increased Raven/Voron/MaxScratchBufferSize from 1024 to 6144. More here,
  • Added Raven/Voron/ScratchBufferSizeNotificationThreshold. More here,
  • Added Raven/MaxClauseCount. More here,
  • Added Raven/Indexing/DisableIndexingFreeSpaceThreshold. More here

File systems

  • Fixed file synchronization mechanism,
  • Fixed files handling with # character in name

Bundles

  • [Replication] Fixed request buffering issues

Client API

  • Added AbstractScriptedIndexCreationTask. More here,
  • Added SetTransformerLock command. More here,
  • Added PutIndexes command. More here,
  • Added Include<TResult>(Expression<Func<T, object>> path) to async session,
  • Implemented GetMetadataForAsync<T>(T instance) in advanced options of async session of ShardedDocumentStore,
  • WithinRadiusOf marked as obsolete in spatial querying because of the parameter order inconsistency. WithinRadius is designated to be used instead. More here,
  • Added StartEtag to SubscriptionCriteria. More here,
  • Added opening strategies to data subscriptions. More here,
  • Added BeforeAcknowledgment and AfterAcknowledgment events to data subscription. More here,
  • Added "Query parsing" measure for ShowTimings query customization. More here,
  • Added TransformerLockMode. More here,
  • Added Load overload with transformer to ILoaderWithInclude. More here,
  • IndexCreation.CreateIndexes creates indexes in a single request,
  • DocumentStore.SideBySideExecuteIndexes and DocumentStore.SideBySideExecuteIndexesAsync creates side by side indexes in a single request,
  • Implemented bulk inserts for ShardedDocumentStore,
  • Optimized memory allocation and better performance in profiling,
  • Fixed implementations of sync methods to avoid hangs,
  • Fixed caching of HttpClient,
  • Extended IEnumerable implementation of DynamicList - more available extensions in an index definition

Studio

  • Environment based studio themes. More here,
  • Added Status -> Debug -> Currently indexing,
  • Added IO Test. More here,
  • Added License server information. More here,
  • Fixed authentication by API keys,
  • Fixed inconsistency bug in Query intellisense,
  • Exposed option StoreAllFields (Edit index view),
  • Support for pre 3.0 versioning documents

Installer

  • Added options to check port availability and revoke URL reservation according to provided port number when installing on IIS,
  • Added support for IIS 10 detection on Windows 10

Smuggler

  • Fixed import of conflicted documents

Tools

  • Added Traffic recorder and simulator tool

version.3690 - 2015/05/22

Server

  • [JavaScript] Added IncreaseNumberOfAllowedStepsBy method. More here,
  • [JavaScript] Debug information now contains number of steps that script took,
  • [Voron] Less aggresive disk space allocation,
  • Various performance improvements

Configuration

  • Added Raven/AllowScriptsToAdjustNumberOfSteps. More here,
  • Added Raven/Voron/AllowOn32Bits. More here,
  • Added Raven/PreventSchemaUpdate. More here.

Bundles

  • [SQL Replication] Adding new replication will not force others to wait till it catches up with them

Studio

  • Patching now displays metadata,
  • Added the ability to force side-by-side index replacement,
  • Added the ability to create C# class from JSON document,
  • Various fixes and enhancements

Client API

  • added ToFacetsLazyAsync extension method to IQueryable,
  • conflicts can be automatically resolved by Client API during query operations if there is IDocumentConflictListener available

Installer

  • installer now contains NLog.Ignore.config for easier logging setup