Become part of the community! Contribute to documentation.

What's new

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

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