You are currently browsing legacy 4.0 version of documentation. Click here to switch to the newest 4.2 version.

We can help you with migration to the latest RavenDB

Contact Us Now

What's new

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

4.0.4-patch-40038 - 2018/05/18

Server

  • [Attachments] updating @last-modified of a parent document on each attachment change
  • [Configuration] added 'Security.DisableHttpsRedirection' configuration option
  • [Cluster] stability improvements
  • [CSV] better error handling
  • [Indexing] fixed possible duplicate reference to complex property in Map-Reduce indexes
  • [Indexing] fixed incorrect array indexing conversion to long instead of int
  • [Indexing] index by name lookup should be case sensitive for auto-indexes and case insensitive for static ones
  • [Indexing] better handling of map-reduce errors
  • [HTTP] when HTTPS is configured on port 443 then by default server will bind to 80 also and redirect all traffic to 443
  • [Licensing] better handling when server does not have connection to api.ravendb.net
  • [Linux] preventing NRE that could happen in HDD swapping detection code
  • [Logs] better logging
  • [OngoingTasks] ensure uniqueness for tasks
  • [Patching] added declared functions support
  • [Replication] stability improvements
  • [Revisions] properly decrementing count of revisions when revision is being deleted using a RevisionTombstone
  • [Querying] added support for leading wildcard when lucene() is used
  • [Querying] added alias support to facets in RQL
  • [Querying] fixed support for exact when exact is set via field options, not a query
  • [Querying] exact now can be used with lucene()
  • [Querying] lucene() now supports 'null'
  • [Smuggler] support for v4.1 smuggler files
  • [Statistics] fixed Concurrent Requests Count calculation
  • [Terms] Terms for field with spatial BoundingBox strategy will now be returned correctly
  • [Version] server will now remove new version notification on start if the server version is the same or greater than the one from notification

Client

  • [Attachments] 'session.Advanced.Attachments.GetNames' will throw if entity is not bound to session instead of returning empty array
  • [BulkInsert] fixed memory leak that would decrease performance significantly
  • [Commands] added force parameter to 'SeedIdentityForCommand'
  • [Cache] Aggressive Cache is now properly disposed on DocumentStore dispose
  • [Cache] Query cache will take into account null values properly now
  • [Event] added OnSessionCreated event to DocumentStore
  • [macOS] fixed exception that could occur on session open
  • [Operations] added OfflineMigrationOperation
  • [Operations] added UpdateDatabaseOperation
  • [Projections] support for byte array
  • [Querying] added .WhereLucene(fieldName, value, exact) overload
  • [Serialization] entity and command serialization is now separated to avoid sending wrongly serialized commands when the default serialization on client is overridden
  • [Streams] fixed performance issue that could occur when there is a huge property name variance between documents
  • fixed potential race-condition in RequestExecutor
  • changing validation function will invalidate all HttpClients in use to create new ones with correct validation function attached

Studio

  • [Backup] added progress
  • [ETL] exposed AllowEtlOnNonEncryptedChannel option to SQL ETL
  • various performance and stability fixes
  • layout fixes

TestDriver

  • [Configuration] will ignore configuration from settings.json from now on

4.0.3 (40036) - 2018/04/23

This is an aggregated build containing fixes released in patch versions since the previous stable build - 4.0.2 (40029) in addition with:

Server

  • [Backup] Smuggler and Restore operation should take into account the file extension when determining the order of files
  • [Backup] unfinished backup files will be marked with '.in-progress' extension
  • [Backup] preventing from saving more than one full or snapshot backup in the same folder
  • [Certificates] will not longer throw on startup if certificate is expired
  • [Cluster] stability improvements
  • [Configuration] added 'Storage.MaxScratchBufferSizeInMb'
  • [Compaction] more robust
  • [Indexes] better error handling on catastrophic failures
  • [Indexes] preventing a deadlock that could occur when index was being stopped and side-by-side replacement is in progress
  • [Indexes] fixed encryption for large indexes
  • [Indexes] fixed possible overflow when AlphaNumeric sorting is being used
  • [Indexes] editing side-by-side index now works properly and does not create an invalid index
  • [Indexes] preventing from creating an excessive indexing thread after replacing an index
  • [JSON] fixed LazyCompressedStringValue conversion
  • [JSON] fixed writing large strings
  • [Linux] optimized number of fsync calls
  • [Memory] fixed memory leak when encrypted database is being used
  • [Restore] added ability to disable ongoing tasks after restore
  • [Settings] the deployment package now contains settings.default.json instead of settings.json to prevent accidental overrides when updating the Server
  • [Setup] added UNIX file permissions to cluster deployment package
  • [Setup] fixed issues with updating expired licenses
  • [Voron] stability improvements
  • fixed big floating point numbers handling
  • databases will no longer unload when Changes API connection is opened
  • working directory is set automatically to executable directory on startup
  • updated to .NET Core 2.0.7

Client API

  • [Bulk Insert] checking if the background task state is not faulty on 'Store' operation to error early
  • [Caching] aggressive caching could not work when being mixed with non-aggressive loads
  • [Conventions] added UseCompression
  • [Operations] fixed missing disposal of Changes API when 'WaitForCompletion' throws timeout exception
  • [NuGet] added 'System.Runtime.InteropServices.RuntimeInformation' dependency

Studio

  • various performance and stability fixes
  • layout fixes

4.0.3-patch-40034 - 2018/03/30

Server

  • [Audit] allow to configure audit log
  • [Cluster] operators can now demote nodes and force timeouts
  • [Cluster] stability improvements
  • [Configuration] added Security.AuditLog.FolderPath and Security.AuditLog.RetentionTimeInHours
  • [Database] database will not be unloaded if only read operations are performed on it
  • [Encryption] fixed possible issue with loading encrypted database after restart
  • [JavaScript] fixed performance degradation issue
  • [JavaScript] fixed possible concurrency issue in Jint
  • [JavaScript] patching will not add property when it does not exist but the existence was checked in the JS
  • [JavaScript] support for 'map' on objects
  • [JSON] fixed possible "Invalid escape char 'r' in query response"
  • [Indexing] fixed NRE that could happen when statistics are retrieved,
  • [Indexing] added First, FirstOrDefault, Single, SingleOrDefault, Any, All support to arrays inside indexing functions
  • [Memory] better memory handling
  • [Migration] support for API keys
  • [Querying] do not return duplicate results when duplicate IDs are present inside 'IN' operator
  • [Restore] fixed issue with restoring Windows-made snapshots on Linux due to invalid path combining
  • [Service] support for service name with spaces
  • [Suggestions] should take into account field analyzer and match the 3.x behavior
  • [Voron] fixed possible corruption that could happen in map-reduce indexes
  • [Voron] fixed decreasing temp buffers file on Encrypted database when low on memory
  • support for 'multipart/form-data' when batches are being processed
  • more restrictive static index and database names

Client

  • [Headers] header values needs to be send using invariant culture to avoid getting bad response from Kestrel
  • [Projections] support for using reserved words
  • [Projections] support for 'map' on objects

Studio

  • various performance and stability fixes
  • layout fixes
  • improved memory stats displaying