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