You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Breaking changes can impact your Elastic applications, potentially disrupting normal operations. Before you upgrade, carefully review the Elasticsearch .NET Client breaking changes and take the necessary steps to mitigate any issues. To learn how to upgrade, check [Upgrade](docs-content://deploy-manage/upgrade.md).
9
10
10
-
% ## Next version [elasticsearch-nett-client-nextversion-breaking-changes]
11
+
The 💥 icon indicates changes that are most likely breaking for users, whereas the ⚠️ icon indicates breaking changes that will not affect most users (e.g., changes in fluent descriptors that do not affect the lambda expression syntax).
12
+
13
+
% ## Next version [elasticsearch-net-client-nextversion-breaking-changes]
11
14
12
15
% ::::{dropdown} Title of breaking change
13
16
% Description of the breaking change.
@@ -16,11 +19,159 @@ Breaking changes can impact your Elastic applications, potentially disrupting no
16
19
% **Action**<br> Steps for mitigating deprecation impact.
% **Action**<br> Steps for mitigating deprecation impact.
26
-
% ::::
24
+
### 1. 💥 Container types
25
+
26
+
Container types now use regular properties for their variants instead of static factory methods ([read more](index.md#900-elasticsearch-net-client-900-release-notes)).
27
+
28
+
This change primarily affects the `Query` and `Aggregation` types.
29
+
30
+
```csharp
31
+
// 8.x
32
+
newSearchRequest
33
+
{
34
+
Query=Query.MatchAll(
35
+
newMatchAllQuery
36
+
{
37
+
}
38
+
)
39
+
};
40
+
41
+
// 9.0
42
+
newSearchRequest
43
+
{
44
+
Query=newQuery
45
+
{
46
+
MatchAll=newMatchAllQuery
47
+
{
48
+
}
49
+
}
50
+
};
51
+
```
52
+
53
+
### 2. 💥 Removal of certain generic request descriptors
54
+
55
+
Removed the generic version of some request descriptors for which the corresponding requests do not contain inferrable properties.
56
+
57
+
These descriptors were generated unintentionally.
58
+
59
+
When migrating, the generic type parameter must be removed from the type, e.g., `AsyncSearchStatusRequestDescriptor<TDocument>` should become just `AsyncSearchStatusRequestDescriptor`.
Replaced by `ExtendedBounds<T>`, `ExtendedBoundsOfFieldDateMathDescriptor`, and `ExtendedBoundsOfDoubleDescriptor`.
150
+
151
+
### 6. ⚠️ `Field.Format`
152
+
153
+
Removed `Field.Format` property and corresponding constructor and inferrer overloads.
154
+
155
+
This property has not been used for some time (replaced by the `FieldAndFormat` type).
156
+
157
+
### 7. ⚠️ `Field`/`Fields` semantics
158
+
159
+
`Field`/`Fields` static factory methods and conversion operators no longer return nullable references but throw exceptions instead (`Field`) if the input `string`/`Expression`/`PropertyInfo` argument is `null`.
160
+
161
+
This makes implicit conversions to `Field` more user-friendly without requiring the null-forgiveness operator (`!`) ([read more](index#5-field-name-inference)).
162
+
163
+
### 8. ⚠️ `FieldValue`
164
+
165
+
Removed `FieldValue.IsLazyDocument`, `FieldValue.IsComposite`, and the corresponding members in the `FieldValue.ValueKind` enum.
166
+
167
+
These values have not been used for some time.
168
+
169
+
### 9. ⚠️ `FieldSort`
170
+
171
+
Removed static `FieldSort.Empty` member.
172
+
173
+
Sorting got reworked which makes this member obsolete ([read more](index#8-sorting)).
174
+
175
+
### 10. ⚠️ Descriptor types `class` -> `struct`
176
+
177
+
All descriptor types are now implemented as `struct` instead of `class`.
0 commit comments