What's Changed
Initial 9.5.x release.
Warning
This release regenerates the client against the Elasticsearch 9.5 specification and contains breaking changes. Please review the list below before upgrading.
- Regenerate client against the Elasticsearch 9.5 specification by @flobernd in #8930 and #8944
- New experimental
client.Encryption.Resetendpoint, plus aProjectEncryptionKeyindicator on the health report - New experimental ES|QL data federation APIs:
PutDataSource/GetDataSource/DeleteDataSourceandPutDataset/GetDataset/DeleteDataset, with the supportingESQLDataSource,ESQLDatasetandDatasetMappingtypes - New experimental Inference region policy APIs:
PutRegionPolicy/GetRegionPolicy/DeleteRegionPolicy - New
_slicerouting parameter (RouteSlice) across the search, get, index, delete, update and bulk APIs, as well as on the multi-search header and the reindex destination FrequentItemSetsaggregations now round-trip correctly. The generated variant used an empty discriminator where the converter expectedfrequent_item_sets, so the property always read back asnull- Role-template queries in index privileges now deserialize to
RoleTemplateQuery. Previously any object-shaped query was unconditionally read as a regularQueryDsl.Query SpanGapandRoleMappingRule.Fieldvariant accessors now returnnullinstead of a defaultKeyValuePairwhen the union holds a different variant- New enum members:
EmbeddingContentType.Audio/.Pdf/.Video,AnthropicTaskType.ChatCompletion,OpenAITaskType.Embedding, and theClusterPrivilege.ManageReindex/.MonitorReindexvalues - Breaking (mapping):
DocValueson 32 property types changes frombool?toUnion<bool, DocValuesConfig>?to carry the newdoc_values.multi_valuesetting. The parameterlessDocValues()descriptor overload is gone, and reading the property into abool?no longer compiles.SourceField.CompressandCompressThresholdare removed, andTextIndexPrefixes.MinChars/MaxCharsbecome optional (int?), dropping the two-argument constructor - Breaking (ES|QL): the named-parameter arm of
ParamsonEsqlQueryandAsyncQuerychanges fromKeyValuePair<string, ICollection<FieldValue>>toKeyValuePair<string, Union<ICollection<FieldValue>, ClassifiedNamedParameter>>, which affects every existing named-parameter call site. Both requests also gain aSettingsbody property - Breaking (inference):
Reranknow accepts the expanded multimodal request format, soInputbecomesUnion<ICollection<string>, ICollection<RerankInputObject>>,QuerybecomesUnion<string, RerankInputObject>, and theInput(params string[])overload is removed.EmbeddingContentObject.ContentbecomesICollection<EmbeddingContentObjectItem>andEmbeddingContentObjectContentsis gone,OpenAIServiceSettings.ApiKeyis now optional, andJinaAIServiceSettings.ElementTypeis renamed toEmbeddingType - Breaking (snapshot):
SourceOnlyRepositorySettingsis replaced by theISourceOnlyRepositorySettingsvariant family with per-backend settings types, constructed throughSourceOnlyRepositorySettingsFactory(ForAzure,ForGcs,ForReadOnlyUrl,ForS3,ForSharedFileSystem).SourceOnlyRepository.Settingsnow takes the interface, and its descriptor overloads are replaced by a factory callback - Breaking (security):
RoleInfo.Indiceschanges fromIndicesPrivilegestoIndicesPrivilegesRead, and role definitions gainDataSourcePrivileges - Breaking (stats):
GetStats.Timeis renamed toGetTime,ShardStats.Indicesbecomes a dictionary ofShardStats, theDenseVectorOffHeapStats.TotalCenifSizetypo is corrected toTotalCenivfSize, and newly required members change the positional constructors ofIndexingStats,SearchStats,FlushStats,MappingStatsandMachineLearning.Defaults
- New experimental
- Make custom JSON converters safe for multi-segment readers by @flobernd in #8923
- The hand-written date, duration, stringified and fractional numeric converters no longer fail when the
Utf8JsonReaderis constructed over a multi-segmentReadOnlySequence<byte>, which unblocks sequence-based deserializers such as a streaming reader over aPipeReader - The existing single-segment typed deserialization path is unchanged
- The hand-written date, duration, stringified and fractional numeric converters no longer fail when the
New Contributors
- @charlotte-hoblik made their first contribution in #8901
Full Changelog: 9.4.2...9.5.0