Skip to content

Commit be927c4

Browse files
swallezphilkra
andcommitted
Add release notes (#158)
Co-authored-by: Philip Krauss <[email protected]>
1 parent fb1f6a5 commit be927c4

File tree

5 files changed

+303
-0
lines changed

5 files changed

+303
-0
lines changed

CHANGELOG.md

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
See the [release notes](https://www.elastic.co/guide/en/elasticsearch/client/java-api-client/current/release_notes.html) sections in the main documentation.

docs/index.asciidoc

+1
Original file line numberDiff line numberDiff line change
@@ -31,5 +31,6 @@ ifdef::is_main_branch,v8_1_1_released,v7_17_2_released[]
3131
include::loading-json.asciidoc[]
3232
endif::is_main_branch,v8_1_1_released,v7_17_2_released[]
3333
include::javadoc-and-source.asciidoc[]
34+
include::release-notes.asciidoc[]
3435

3536
include::{elasticsearch-root}/docs/java-rest/low-level/index.asciidoc[]

docs/release-notes.asciidoc

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
[[release_notes]]
2+
== Release notes
3+
4+
* <<breaking-changes-policy>>
5+
* <<release_notes_7_17>>
6+
7+
include::release-notes/breaking-change-policy.asciidoc[]
8+
include::release-notes/7.17.asciidoc[]
9+

docs/release-notes/7.17.asciidoc

+262
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,262 @@
1+
[[release_notes_7_17]]
2+
=== Version 7.17
3+
4+
[discrete]
5+
==== Changes and bug fixes
6+
7+
This release includes minor updates and improvement to the API specification and a number of bug fixes (see closed issues in the https://github.com/elastic/elasticsearch-java/milestone/1?closed=1[GitHub repo]).
8+
9+
[discrete]
10+
==== Breaking changes between 7.16 and 7.17
11+
12+
Please refer to the <<breaking-changes-policy>>. The `co.elastic.clients.elasticsearch` package is abbreviated to `c.e.c.e` below.
13+
14+
An issue in the code generator led properties whose API name contains a dot (`.`) to be removed. They will be reintroduced in version 7.17.1:
15+
16+
Class `c.e.c.e._types.aggregations.ChildrenAggregate`: ::
17+
* Parent class changed from `c.e.c.e._types.aggregations.MultiBucketAggregateBase` to `c.e.c.e._types.aggregations.SingleBucketAggregateBase`.
18+
Class `c.e.c.e._types.aggregations.ChildrenAggregateBucket` removed.::
19+
Class `c.e.c.e._types.aggregations.StringStatsAggregate`: ::
20+
* Property `distribution` changed from `String` to `Map`.
21+
Class `c.e.c.e._types.aggregations.TopMetricsAggregate`: ::
22+
* Parent class changed from `c.e.c.e._types.aggregations.MultiBucketAggregateBase` to `c.e.c.e._types.aggregations.AggregateBase`.
23+
Class `c.e.c.e._types.aggregations.TopMetricsBucket` removed.::
24+
Class `c.e.c.e._types.ChainTransform` removed.::
25+
Class `c.e.c.e._types.DocStats`: ::
26+
* Property `deleted` changed from `long` to `Long`.
27+
Class `c.e.c.e._types.EmptyTransform` removed.::
28+
Class `c.e.c.e._types.query_dsl.CombinedFieldsQuery`: ::
29+
* Property `mimimumShouldMatch` removed.
30+
Class `c.e.c.e._types.query_dsl.RangeQuery`: ::
31+
* Property `from` changed from `c.e.c.json.JsonData` to `String`.
32+
* Property `to` changed from `c.e.c.json.JsonData` to `String`.
33+
Class `c.e.c.e._types.SegmentsStats`: ::
34+
* Property `maxUnsafeAutoIdTimestamp` changed from `int` to `long`.
35+
Class `c.e.c.e._types.Transform`: ::
36+
* Property `chain` changed from `c.e.c.e._types.ChainTransform` to `List`.
37+
Class `c.e.c.e.cat.indices.IndicesRecord`: ::
38+
* Property `priBulkAvgSizeInBytes` removed.
39+
* Property `priBulkAvgTime` removed.
40+
* Property `priBulkTotalOperations` removed.
41+
* Property `priBulkTotalSizeInBytes` removed.
42+
* Property `priBulkTotalTime` removed.
43+
* Property `priCompletionSize` removed.
44+
* Property `priFielddataEvictions` removed.
45+
* Property `priFielddataMemorySize` removed.
46+
* Property `priFlushTotal` removed.
47+
* Property `priFlushTotalTime` removed.
48+
* Property `priGetCurrent` removed.
49+
* Property `priGetExistsTime` removed.
50+
* Property `priGetExistsTotal` removed.
51+
* Property `priGetMissingTime` removed.
52+
* Property `priGetMissingTotal` removed.
53+
* Property `priGetTime` removed.
54+
* Property `priGetTotal` removed.
55+
* Property `priIndexingDeleteCurrent` removed.
56+
* Property `priIndexingDeleteTime` removed.
57+
* Property `priIndexingDeleteTotal` removed.
58+
* Property `priIndexingIndexCurrent` removed.
59+
* Property `priIndexingIndexFailed` removed.
60+
* Property `priIndexingIndexTime` removed.
61+
* Property `priIndexingIndexTotal` removed.
62+
* Property `priMemoryTotal` removed.
63+
* Property `priMergesCurrent` removed.
64+
* Property `priMergesCurrentDocs` removed.
65+
* Property `priMergesCurrentSize` removed.
66+
* Property `priMergesTotal` removed.
67+
* Property `priMergesTotalDocs` removed.
68+
* Property `priMergesTotalSize` removed.
69+
* Property `priMergesTotalTime` removed.
70+
* Property `priQueryCacheEvictions` removed.
71+
* Property `priQueryCacheMemorySize` removed.
72+
* Property `priRefreshExternalTime` removed.
73+
* Property `priRefreshExternalTotal` removed.
74+
* Property `priRefreshListeners` removed.
75+
* Property `priRefreshTime` removed.
76+
* Property `priRefreshTotal` removed.
77+
* Property `priRequestCacheEvictions` removed.
78+
* Property `priRequestCacheHitCount` removed.
79+
* Property `priRequestCacheMemorySize` removed.
80+
* Property `priRequestCacheMissCount` removed.
81+
* Property `priSearchFetchCurrent` removed.
82+
* Property `priSearchFetchTime` removed.
83+
* Property `priSearchFetchTotal` removed.
84+
* Property `priSearchOpenContexts` removed.
85+
* Property `priSearchQueryCurrent` removed.
86+
* Property `priSearchQueryTime` removed.
87+
* Property `priSearchQueryTotal` removed.
88+
* Property `priSearchScrollCurrent` removed.
89+
* Property `priSearchScrollTime` removed.
90+
* Property `priSearchScrollTotal` removed.
91+
* Property `priSegmentsCount` removed.
92+
* Property `priSegmentsFixedBitsetMemory` removed.
93+
* Property `priSegmentsIndexWriterMemory` removed.
94+
* Property `priSegmentsMemory` removed.
95+
* Property `priSegmentsVersionMapMemory` removed.
96+
* Property `priStoreSize` removed.
97+
* Property `priSuggestCurrent` removed.
98+
* Property `priSuggestTime` removed.
99+
* Property `priSuggestTotal` removed.
100+
* Property `priWarmerCurrent` removed.
101+
* Property `priWarmerTotal` removed.
102+
* Property `priWarmerTotalTime` removed.
103+
Class `c.e.c.e.cat.nodes.NodesRecord`: ::
104+
* Property `refreshTime` removed.
105+
* Property `refreshTotal` removed.
106+
Class `c.e.c.e.cat.shards.ShardsRecord`: ::
107+
* Property `refreshTime` removed.
108+
* Property `refreshTotal` removed.
109+
Class `c.e.c.e.core.bulk.UpdateOperation`: ::
110+
* Property `document` removed.
111+
Class `c.e.c.e.core.DeleteByQueryRequest`: ::
112+
* Property `source` removed.
113+
* Property `sourceExcludes` removed.
114+
* Property `sourceIncludes` removed.
115+
Class `c.e.c.e.core.msearch.MultiSearchItem`: ::
116+
* Property `status` changed from `int` to `Integer`.
117+
Class `c.e.c.e.core.search.CompletionSuggestOption`: ::
118+
* Property `score` changed from `double` to `Double`.
119+
Class `c.e.c.e.core.search.Suggestion`: ::
120+
* Property `length` removed.
121+
* Property `offset` removed.
122+
* Property `options` removed.
123+
* Property `serializeInternal` removed.
124+
* Property `setupSuggestionDeserializer` removed.
125+
* Property `text` removed.
126+
Class `c.e.c.e.core.search.SuggestOption` removed.::
127+
Class `c.e.c.e.core.search.TermSuggestOption`: ::
128+
* Property `freq` changed from `Long` to `long`.
129+
Class `c.e.c.e.core.SearchTemplateResponse`: ::
130+
* Property `took` changed from `int` to `long`.
131+
Class `c.e.c.e.core.UpdateByQueryRequest`: ::
132+
* Property `source` removed.
133+
* Property `sourceExcludes` removed.
134+
* Property `sourceIncludes` removed.
135+
Class `c.e.c.e.indices.data_streams_stats.DataStreamsStatsItem`: ::
136+
* Property `maximumTimestamp` changed from `int` to `long`.
137+
Class `c.e.c.e.indices.stats.IndexStats`: ::
138+
* Property `shards` removed.
139+
Class `c.e.c.e.logstash.PipelineSettings`: ::
140+
* Property `pipelineBatchDelay` removed.
141+
* Property `pipelineBatchSize` removed.
142+
* Property `pipelineWorkers` removed.
143+
* Property `queueCheckpointWrites` removed.
144+
* Property `queueMaxBytesNumber` removed.
145+
* Property `queueMaxBytesUnits` removed.
146+
* Property `queueType` removed.
147+
Class `c.e.c.e.ml.DataCounts`: ::
148+
* Property `earliestRecordTimestamp` changed from `long` to `Long`.
149+
* Property `lastDataTime` changed from `long` to `Long`.
150+
* Property `latestBucketTimestamp` changed from `long` to `Long`.
151+
* Property `latestEmptyBucketTimestamp` changed from `long` to `Long`.
152+
* Property `latestRecordTimestamp` changed from `long` to `Long`.
153+
* Property `latestSparseBucketTimestamp` changed from `long` to `Long`.
154+
Class `c.e.c.e.ml.Job`: ::
155+
* Property `createTime` changed from `int` to `Integer`.
156+
Class `c.e.c.e.ml.JobTimingStats`: ::
157+
* Property `averageBucketProcessingTimeMs` changed from `double` to `Double`.
158+
* Property `exponentialAverageBucketProcessingTimeMs` changed from `double` to `Double`.
159+
* Property `maximumBucketProcessingTimeMs` changed from `double` to `Double`.
160+
* Property `minimumBucketProcessingTimeMs` changed from `double` to `Double`.
161+
Class `c.e.c.e.ml.ModelSnapshot`: ::
162+
* Property `timestamp` changed from `int` to `long`.
163+
Class `c.e.c.e.ml.PostDataResponse`: ::
164+
* Property `earliestRecordTimestamp` changed from `int` to `long`.
165+
* Property `latestRecordTimestamp` changed from `int` to `long`.
166+
Class `c.e.c.e.nodes.AdaptiveSelection`: ::
167+
* Property `avgQueueSize` changed from `long` to `Long`.
168+
* Property `avgResponseTime` changed from `long` to `Long`.
169+
* Property `avgResponseTimeNs` changed from `long` to `Long`.
170+
* Property `avgServiceTimeNs` changed from `long` to `Long`.
171+
* Property `outgoingSearches` changed from `long` to `Long`.
172+
Class `c.e.c.e.nodes.Breaker`: ::
173+
* Property `estimatedSizeInBytes` changed from `long` to `Long`.
174+
* Property `limitSizeInBytes` changed from `long` to `Long`.
175+
* Property `overhead` changed from `float` to `Float`.
176+
* Property `tripped` changed from `float` to `Float`.
177+
Class `c.e.c.e.nodes.Cpu`: ::
178+
* Property `percent` changed from `int` to `Integer`.
179+
Class `c.e.c.e.nodes.DataPathStats`: ::
180+
* Property `availableInBytes` changed from `long` to `Long`.
181+
* Property `diskReads` changed from `long` to `Long`.
182+
* Property `diskReadSizeInBytes` changed from `long` to `Long`.
183+
* Property `diskWrites` changed from `long` to `Long`.
184+
* Property `diskWriteSizeInBytes` changed from `long` to `Long`.
185+
* Property `freeInBytes` changed from `long` to `Long`.
186+
* Property `totalInBytes` changed from `long` to `Long`.
187+
Class `c.e.c.e.nodes.ExtendedMemoryStats`: ::
188+
* Property `freePercent` changed from `int` to `Integer`.
189+
* Property `usedPercent` changed from `int` to `Integer`.
190+
Class `c.e.c.e.nodes.FileSystem`: ::
191+
* Property `timestamp` changed from `long` to `Long`.
192+
Class `c.e.c.e.nodes.FileSystemTotal`: ::
193+
* Property `availableInBytes` changed from `long` to `Long`.
194+
* Property `freeInBytes` changed from `long` to `Long`.
195+
* Property `totalInBytes` changed from `long` to `Long`.
196+
Class `c.e.c.e.nodes.GarbageCollectorTotal`: ::
197+
* Property `collectionCount` changed from `long` to `Long`.
198+
* Property `collectionTimeInMillis` changed from `long` to `Long`.
199+
Class `c.e.c.e.nodes.Http`: ::
200+
* Property `currentOpen` changed from `int` to `Integer`.
201+
* Property `totalOpened` changed from `long` to `Long`.
202+
Class `c.e.c.e.nodes.info.NodeInfoSettingsHttp`: ::
203+
* Property `typeDefault` removed.
204+
Class `c.e.c.e.nodes.info.NodeInfoSettingsTransport`: ::
205+
* Property `typeDefault` removed.
206+
Class `c.e.c.e.nodes.IngestTotal`: ::
207+
* Property `count` changed from `long` to `Long`.
208+
* Property `current` changed from `long` to `Long`.
209+
* Property `failed` changed from `long` to `Long`.
210+
* Property `timeInMillis` changed from `long` to `Long`.
211+
Class `c.e.c.e.nodes.Jvm`: ::
212+
* Property `mem` changed from `c.e.c.e.nodes.MemoryStats` to `c.e.c.e.nodes.JvmMemoryStats`.
213+
* Property `timestamp` changed from `long` to `Long`.
214+
* Property `uptimeInMillis` changed from `long` to `Long`.
215+
Class `c.e.c.e.nodes.JvmClasses`: ::
216+
* Property `currentLoadedCount` changed from `long` to `Long`.
217+
* Property `totalLoadedCount` changed from `long` to `Long`.
218+
* Property `totalUnloadedCount` changed from `long` to `Long`.
219+
Class `c.e.c.e.nodes.JvmThreads`: ::
220+
* Property `count` changed from `long` to `Long`.
221+
* Property `peakCount` changed from `long` to `Long`.
222+
Class `c.e.c.e.nodes.KeyedProcessor`: ::
223+
* Property `statistics` removed.
224+
Class `c.e.c.e.nodes.MemoryStats`: ::
225+
* Property `freeInBytes` changed from `long` to `Long`.
226+
* Property `totalInBytes` changed from `long` to `Long`.
227+
* Property `usedInBytes` changed from `long` to `Long`.
228+
Class `c.e.c.e.nodes.NodeBufferPool`: ::
229+
* Property `count` changed from `long` to `Long`.
230+
* Property `totalCapacityInBytes` changed from `long` to `Long`.
231+
* Property `usedInBytes` changed from `long` to `Long`.
232+
Class `c.e.c.e.nodes.OperatingSystem`: ::
233+
* Property `timestamp` changed from `long` to `Long`.
234+
Class `c.e.c.e.nodes.Process`: ::
235+
* Property `openFileDescriptors` changed from `int` to `Integer`.
236+
* Property `timestamp` changed from `long` to `Long`.
237+
Class `c.e.c.e.nodes.Scripting`: ::
238+
* Property `cacheEvictions` changed from `long` to `Long`.
239+
* Property `compilations` changed from `long` to `Long`.
240+
Class `c.e.c.e.nodes.Stats`: ::
241+
* Property `indices` changed from `c.e.c.e.indices.stats.IndexStats` to `c.e.c.e.indices.stats.ShardStats`.
242+
* Property `timestamp` changed from `long` to `Long`.
243+
Class `c.e.c.e.nodes.ThreadCount`: ::
244+
* Property `active` changed from `long` to `Long`.
245+
* Property `completed` changed from `long` to `Long`.
246+
* Property `largest` changed from `long` to `Long`.
247+
* Property `queue` changed from `long` to `Long`.
248+
* Property `rejected` changed from `long` to `Long`.
249+
* Property `threads` changed from `long` to `Long`.
250+
Class `c.e.c.e.nodes.Transport`: ::
251+
* Property `rxCount` changed from `long` to `Long`.
252+
* Property `rxSizeInBytes` changed from `long` to `Long`.
253+
* Property `serverOpen` changed from `int` to `Integer`.
254+
* Property `txCount` changed from `long` to `Long`.
255+
* Property `txSizeInBytes` changed from `long` to `Long`.
256+
Class `c.e.c.e.transform.GetTransformStatsRequest`: ::
257+
* Property `transformId` changed from `String` to `List`.
258+
Class `c.e.c.e.watcher.CompareCondition`: ::
259+
* Property `ctxPayloadMatch` removed.
260+
* Property `ctxPayloadValue` removed.
261+
Class `c.e.c.e.watcher.CompareContextPayloadCondition` removed.::
262+
{nbsp}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
[[breaking-changes-policy]]
2+
=== Breaking changes policy
3+
4+
The {java-client} source code is generated from a https://github.com/elastic/elasticsearch-specification[formal specification of the Elasticsearch API]. This API specification is large, and although it is tested against hundreds of Elasticsearch test files, it may have discrepancies with the actual API that result in issues in the {java-client}.
5+
6+
Fixing these discrepancies in the API specification results in code changes in the {java-client}, and some of these changes can require code updates in your applications.
7+
8+
This section explains how these breaking changes are considered for inclusion in {java-client} releases.
9+
10+
[discrete]
11+
==== Breaking changes in patch releases
12+
13+
Some issues in the API specification are properties that have an incorrect type, such as a `long` that should be a `string`, or a required property that is actually optional. These issues can cause the {java-client} to not work properly or even throw exceptions.
14+
15+
When a specification issue is discovered and resolved, it may require code updates in applications using the {java-client}. Such breaking changes are considered acceptable, _even in patch releases_ (e.g. 7.17.0 -> 7.17.1), as they introduce stability to APIs that may otherwise be unusable.
16+
17+
[discrete]
18+
==== Breaking changes in minor releases
19+
20+
Along with these bug fixes, the API specification is constantly refined, more precise type definitions are introduced to improve developer comfort and remove ambiguities. The specification of often-used APIs is fairly mature, so these changes happen generally on less often used APIs. These changes can also cause breaking changes requiring code updates which are considered _acceptable in minor releases_ (e.g. 8.0 -> 8.1).
21+
22+
[discrete]
23+
==== Breaking changes in major releases
24+
25+
Major releases (e.g. 7.x -> 8.x) can include larger refactorings of the API specification and the framework underlying the {java-client}. These refactorings are considered carefully and done only when they unlock new important features or new developments.
26+
27+
[discrete]
28+
==== Elasticsearch API stability guarantees
29+
30+
All Elasticsearch APIs have stability indicators, which imply potential changes. If an API is `stable` only additional non-breaking changes are added. In case of `experimental` APIs, breaking changes can be introduced any time, which means that these changes, will also be reflected in the {java-client}.

0 commit comments

Comments
 (0)