Become part of the community! Contribute to documentation.

What's new

4.0.8 (40051) - 2018/10/15

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
  • [Certificates] better certificate handling
  • [Changes API] more graceful shutdown procedure
  • [ETL] optimized SQL ETL deletions, will now reduce the amount of deletions that needs to be send and processed
  • [ETL] properly handling multiple ETL scripts
  • [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 issues with the possibility to not preserve modified properties
  • [Patching] fixed issue with parsing and patching stored indexes values
  • [Patching] fixed null propagation on array methods
  • [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.5

Client

  • [Bulk Insert] fixed issues with escaping ' and " characters in document Id
  • [Operations] not setting 'DocumentStore.Database' will no longer cause DeleteByQueryOperation to throw
  • [Operations] 'ConfigureExpirationOperation' will now return proper result
  • [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
  • [Store] storing 'new object()' should not set any collection, it should go to '@empty' one

Studio

  • various performance and stability fixes
  • layout fixes

4.0.7 (40049) - 2018/08/31

Server

  • [Cluster] stability and performance improvements
  • [Encryption] fixed issues with encryption when 32 bit pager is used
  • [Encryption] updated libsodium to 1.0.16
  • [Indexing] fixed issue with grouping by multiple fields when a collection property is empty in Auto Map-Reduce indexes
  • [Indexing] fixed staleness detection for indexes that use LoadDocument
  • [Indexing] fixed staleness calculation when specific order of documents mixed with tombstones is in place
  • [Indexing] fixed issues with indexing references under low memory
  • [Indexing] fixed hash calculation for reduce key which could sometimes result in invalid Map-Reduce results
  • [Indexing] fixed issues with deploying Map-Reduce index with OutputReduceToCollection
  • [Indexing] Map-Reduce index with 'OutputReduceToCollection' will handle hash collisions properly
  • [Linux] fixed issue with supporting 4GB+ writes on 32-bit ARM
  • [macOS] fixed issues with database creation
  • [Patching] fixed issues with modified property not being preserved in certain situations
  • [Revisions] fixed possible issue with cleaning in-memory state of Revisions after transaction is rolled back
  • [.NET Core] bumped to 2.1.3

Client

  • [Conventions] new convention 'TopologyCacheLocation'
  • [Patching] fixed issues with adding items to collection when method with 'params' is used
  • [Projections] not supported methods (e.g. Single or SingleOrDefault) will throw instead of silently failing
  • [Projections] fixed issues with projecting property named 'Group'
  • [Projections] support for formatting using .ToString(format) and .ToString(format, culture)
  • [Subscriptions] filter conversion should not be culture specific

Studio

  • various performance and stability fixes
  • layout fixes

4.0.6 (40048) - 2018/08/03

Server

  • [Backups] database will no longer be unloaded when there is a backup task scheduled
  • [Backups] fixed restore backup operation to use default db location if not provided
  • [Certificates] various fixed and improvements in handling certificates
  • [Cluster] stability improvements
  • [CSV Export] add @id column to export file when no fields are provided
  • [Documents] throwing better exception if cannot delete a document due to recent change of its collection
  • [ETL] fixed handling of attachment deletions in Raven ETL by tracking attachment tombstones and sending 'AttachmentDELETE' command
  • [Indexing] fixed the issue with resetting index that had 'Output reduce to the collection' set
  • [Indexing] fixed possible index compilation errors caused by usage of 'SelectMany'
  • [Indexing] give indexing some time to finalize the batch on database unload
  • [Indexing] fixed possible issue when having two the same indexes using CreateField()
  • [Licensing] fixed issue with updating expired license when license service is temporary unavailable
  • [Linux] fixed pipes
  • [Querying] fixed possible ODE when querying during index replacement
  • [Querying] sorting by score by default if there are boosted fields and no ordering is specified
  • [Querying] when 'RQL load' is used, properly detect that value should be taken from index and not from document
  • [Replication] added the support for sending missing attachments
  • [Replication] fixed issue with preserving document ID casing after resolving a conflict
  • [Replication] fixed revisions replication issue
  • [Replication & Smuggler] fixed deletion of documents with attachments after import or replication
  • [Revisions] properly creating an attachment revision on revision put
  • [Setup] fixed PlatformNotSupported when registering a certificate on OSX
  • [Subscriptions] preventing race condition between one subscription finishing work and the other starting it
  • [TCP] fixed TCP protocol version negotiation
  • [.NET Core] updated to .NET Core 2.1.2

Client

  • [Conventions] added convention OperationStatusFetchMode
  • [HTTP] switched to SocketsHttpHandler
  • [HTTP] exposed 'RemoteCertificateValidationCallback' and marked 'ServerCertificateCustomValidationCallback' as obsolete
  • [Indexes] fixed various indexing function bugs caused by LINQ conversion
  • [LINQ] fixed handling of a query with multiple nested lets
  • [LINQ] fixed query generation when simple member projection is used
  • [Patching] support for patching 'uint', 'ulong', 'short' and 'byte'
  • [Querying] fixed caching issue for queries having LOAD or INCLUDE
  • [Session] session.Advanced.Exists should check already deleted ID in a given session

Studio

  • various performance and stability fixes
  • layout fixes

4.0.6-patch-40047 - 2018/07/02

Server

  • [Attachments] fixed possible data corruption caused by invalid offset use in re-used buffers
  • [Backup] fixed issue with recalculating backup time when backup frequency is changes
  • [Cluster] stability improvements
  • [Cluster] added '/admin/cluster/bootstrap' endpoint
  • [Configuration] added Security.WellKnownCertificates.Admin
  • [Configuration] added Logs.UseUtcTime
  • [Culture] server will run under InvariantCulture from now on
  • [Docker] fixed data corruption issues when CIFS is used e.g. Linux container under Windows Host with external mount
  • [ETL] reduced default batch processing time from 5 minutes to 60 seconds to reduce possible huge batches and high memory usage
  • [Indexing] fixed loading managed DLLs when 'AdditionalSources' are used
  • [Indexing] fixed possible NRE when Map-Reduce is used without a 'group by'
  • [Indexing] fixed handling of empty arrays defined explicitly in the definition
  • [Indexing] fixed issue with Indexing a nested complex 'Id' property
  • [Linux] fixed 'pwrite' call on 32-bit OS
  • [Logging] added support for writing logs in UTC or server local time (by default UTC)
  • [Logging] added /admin/logs/configuration endpoint (GET and POST)
  • [Migration] fixed possible issue when database could be unloaded due to idleness when migration operation is performed
  • [Notifications] Slow IO warnings will be merged from now on into a single notification with detailed occurrences
  • [Patching] calling 'put' will not copy attachments
  • [Querying] fixed 'null' handling when values are passed directly and not as parameters
  • [Querying] by default queries with boost will sort by score if no 'order by' is specified
  • [Querying] fixed possible invalid seek position exception in Lucene
  • [Tombstones] proper handling of tombstone cleanup when attachments and revisions are used
  • [TestDriver] will auto-accept EULA
  • [TestDriver] added 'net461' target with proper AppDomain unloading hook
  • [TestDriver] properly escaping custom configuration file path with spaces in it
  • added support for non-Latin letters in database names
  • updated to .NET Core 2.1.1

Client

  • [Conventions] added 'TypeIsKnownServerSide' convention
  • [Load] method 'LoadAsync' should return 'default(T)' when null is passed to match sync method behavior
  • [Load] added various 'null-argument' checks
  • [Operations] added 'SetLogsConfigurationOperation' and 'GetLogsConfigurationOperation'
  • [Querying] queries on Map-Reduce indexes will not change all possible identifiers to 'id()' no longer
  • [Querying] properly unwrapping casts in expressions
  • [Querying] added ThenByScore and ThenByScoreDescending
  • [Querying] fixed issue with translating two boolean queries into RQL
  • [Projections] fixed usage of Select on let values in queries

Studio

  • added unsupported browser warning
  • added the ability to bootstrap cluster from the Studio
  • improved notification issues for better distinguishably
  • storage size will include temporary files size also,
  • various performance and stability fixes
  • layout fixes

4.0.5 (40045) - 2018/06/12

Server

  • [Cluster] stability improvements
  • [Cluster] compatibility with 4.1
  • [Cluster] fixed a possible high CPU issue on follower nodes caused by to WebSocket bug in .NET Core
  • [Cluster] fixed creation of a database directory on not relevant nodes
  • [Debug Package] server-wide package will filter-out disabled databases
  • [Indexing] fixed Auto-Index name when group by array is used
  • [Indexing] fixed a bug when we would not extend the GroupBy fields properly
  • [Indexing] fixed detection of idle indexes when running in cluster
  • [Indexing] fixed indexing of null values in arrays
  • [Indexing] fixed creation and matching of auto map-reduce indexes with different array grouping strategies
  • [Indexing] fixed changing the state of an idle index if starts to answer to queries
  • [Indexing] fixed edge case for detection of idle indexes
  • [JSON] fixed JSON parsing when string property size is exactly 32766
  • [Logging] fixed a race condition in the logging
  • [Memory] memory utilization improvements
  • [Querying] collection queries will handle distinct properly
  • [Querying] collection queries will no longer handle order by random, query will go to Lucene
  • [Querying] order by random queries will not be cached on the client
  • [Querying] properly caching parameterless queries
  • [Querying] improved Auto-Index matching on dynamic queries, avoiding a situation when empty index can be taken instead of a better one when querying by ID
  • [Querying] fixed NRE that could happen when cmpxchg was used without putting any values prior
  • [RQL] Handling NOT as a unary expression - fixes 'in' restriction for empty list when not operators present
  • [SQL ETL] fixed fallback and error notification dismiss
  • Preventing from unloading idle db if there are any active operations on a database
  • Ensuring an unique name of a temp export file for the offline migration
  • Fixed issues with running a server when custom temporary path is specified
  • Server will throw a better exception when there is a 'major' version mismatch between Client API and Server

Client

  • [Changes API] ForDocumentsOfType is marked as obsolete and not working
  • [Changes API] Fixed event leak in DatabaseConnectionState
  • [Conventions] added PropertyNameConverter
  • [Conventions] added RegisterQueryValueConverter that returns objects instead of string, marked string converter as obsolete
  • [Headers] will send major.minor.patch.build in Raven-Client-Version header from now on
  • [Includes] Include with two generics will create prefixed includes
  • [Indexes] fixed issues with creating indexes that contain nullable enums and SaveEnumsAsIntegers is turned on
  • [Operations] fixed issues on Linux to receive the status of the operation
  • [Projections] fixed single field projections
  • [Querying] queries using greater than / less than for value types will exclude nulls
  • [Subscriptions] will assert if store is initialized before subscription is opened
  • [Subscriptions] support for using constant fields in subscription typed definition
  • fixed serialization / deserialization of entities if using CamelCasePropertyNamesContractResolver
  • fixed possible deadlock when disposing document store if using Changes API

Studio

  • [About] new design
  • various performance and stability fixes
  • layout fixes