Migration: Server Breaking Changes
-
The following features and behaviors that were available in previous versions of RavenDB
are either unavailable in RavenDB6.x
or incompatible with those earlier versions. -
In this page:
License keys
License keys for versions lower than 6.0
are not supported by RavenDB 6.0
.
If you own a valid license key for RavenDB 5.x
or lower, please upgrade it using
the quick online interface described here.
RavenDB for Docker
RavenDB now applies an improved security model, and uses a dedicated user rather than root
.
Read more about this change here.
Unsupported sharding features
Graph queries
Graph Queries support,
available in RavenDB versions 4.2
to 5.x
, has been removed from the RavenDB 6.x
server and client API.
SQL ETL
SQL ETL no longer tolerates errors on Load
, load errors are thrown immediately.
This is done to distinguish partial load errors that are used in SQL ETL from, for example, commit errors that may happen during load.
(Prior to this change, the ETL would just advance instead of retrying.)
DateOnly & TimeOnly
DateOnly and TimeOnly types are now supported for every new auto index.
Full-text search with wildcards
Starting with 6.0
we have changed how the Search method handles wildcards when they are included in search terms:
Behavior for versions lower than 6.0
:
After the analyzer stripped wildcards from the search term,
RavenDB would attempt to restore the *
to their original positions before sending the term to the search engine (Lucene or Corax).
Behavior for 6.0
and up:
Once wildcards are stripped by the analyzer, we no longer add them back before sending the term to the search engine. The search terms sent to the search engine are solely based on the transformations applied by the analyzer used in the index.
Note the different behavior in the following cases:
- When using
RavenStandardAnalyzer
orStandardAnalyzer
orNGramAnalyzer
:
The queried terms in the Search method are processed with theLowerCaseKeywordAnalyzer
before being sent to the search engine. - When using a custom analyzer:
The queried terms in the Search method are processed according to the custom analyzer's logic. - When using the Exact analyzer:
The queried terms in the Search method remain untouched as produced by the exact analyzer.
When using Corax as the search engine,
this behavior will only apply to indexes that are newly created or have been reset.
See detailed examples in: Searching with wildcards.