Skip to content

Bump Elastic.Clients.Elasticsearch from 8.19.21 to 9.4.0#230

Closed
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/nuget/src/Foundatio.Parsers.ElasticQueries/Elastic.Clients.Elasticsearch-9.4.0
Closed

Bump Elastic.Clients.Elasticsearch from 8.19.21 to 9.4.0#230
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/nuget/src/Foundatio.Parsers.ElasticQueries/Elastic.Clients.Elasticsearch-9.4.0

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot Bot commented on behalf of github May 13, 2026

Updated Elastic.Clients.Elasticsearch from 8.19.21 to 9.4.0.

Release notes

Sourced from Elastic.Clients.Elasticsearch's releases.

9.4.0

What's Changed

Initial 9.4.x release.

Full Changelog: elastic/elasticsearch-net@9.3.7...9.4.0

9.3.7

What's Changed

  • Regenerate client by @​flobernd in [9.3] Regenerate client elastic/elasticsearch-net#8898
    • Set explicit ContentType: application/json for ChatCompletionUnified and StreamCompletion streaming inference requests
    • Switch SearchMvt Accept header to application/vnd.elasticsearch+vnd.mapbox-vector-tile (Elasticsearch product-flavored content-type)
    • Bump Elastic.Transport to 0.17.1
    • Document default max_page_search_size values for pivot (500) and latest (5000) transforms

Full Changelog: elastic/elasticsearch-net@9.3.6...9.3.7

9.3.6

What's Changed

Full Changelog: elastic/elasticsearch-net@9.3.5...9.3.6

9.3.5

What's Changed

Full Changelog: elastic/elasticsearch-net@9.3.4...9.3.5

9.3.4

What's Changed

Full Changelog: elastic/elasticsearch-net@9.3.3...9.3.4

9.3.3

What's Changed

Full Changelog: elastic/elasticsearch-net@9.3.2...9.3.3

9.3.2

What's Changed

New Contributors

Full Changelog: elastic/elasticsearch-net@9.3.1...9.3.2

9.3.1

What's Changed

Full Changelog: elastic/elasticsearch-net@9.3.0...9.3.1

9.3.0

What's Changed

Initial 9.3.x release.

Full Changelog: elastic/elasticsearch-net@9.2.3...9.3.0

9.2.3

What's Changed

New Contributors

Full Changelog: elastic/elasticsearch-net@9.2.2...9.2.3

9.2.2

What's Changed

Full Changelog: elastic/elasticsearch-net@9.2.1...9.2.2

9.2.1

What's Changed

Full Changelog: elastic/elasticsearch-net@9.2.0...9.2.1

9.2.0

What's Changed

Initial 9.2 release.

Full Changelog: elastic/elasticsearch-net@9.1.12...9.2.0

9.1.12

What's Changed

Full Changelog: elastic/elasticsearch-net@9.1.11...9.1.12

9.1.11

What's Changed

Full Changelog: elastic/elasticsearch-net@9.1.10...9.1.11

9.1.10

What's Changed

Full Changelog: elastic/elasticsearch-net@9.1.9...9.1.10

9.1.9

What's Changed

Full Changelog: elastic/elasticsearch-net@9.1.8...9.1.9

9.1.8

What's Changed

Breaking Changes

The type of the Sources property has been changed from ICollection<IDictionary<string, CompositeAggregationSource>> to ICollection<KeyValuePair<string, CompositeAggregationSource>>. This corresponds to the Elasticsearch standard for modeling ordered dictionaries in the REST API.

CompositeAggregationSource is now also a container (similar to Aggregation, Query, etc.). This change improves usability due to specialized code generation. For example, implicit conversion operators from all existing variants (CompositeTermsAggregation, CompositeHistogramAggregation, etc.) to CompositeAggregationSource are now generated.

As a consequence, the object initializer syntax changes as follows:

// 9.1.7 and below

var request = new SearchRequest
{
    Aggregations = new Dictionary<string, Aggregation>
    {
        { "my_composite", new CompositeAggregation
        {
            Sources =
            [
                new Dictionary<string, CompositeAggregationSource>
                {
                    { "my_terms", new CompositeAggregationSource
                    {
                        Terms = new CompositeTermsAggregation
                        {
                            // ...
                        }
                    }}
                },
                new Dictionary<string, CompositeAggregationSource>
                {
                    { "my_histo", new CompositeAggregationSource
                    {
                        Histogram = new CompositeHistogramAggregation(0.5)
                        {
                            // ...
                        }
                    }}
                }
            ]
        }}
    }
};

 ... (truncated)

## 9.1.7

## What's Changed

* BulkResponseItemConverter: Continue after skipping unmapped json member by @​MindaugasButkus in https://github.com/elastic/elasticsearch-net/pull/8698

## New Contributors

* @​MindaugasButkus made their first contribution in https://github.com/elastic/elasticsearch-net/pull/8698

**Full Changelog**: https://github.com/elastic/elasticsearch-net/compare/9.1.6...9.1.7

## 9.1.6

## What's Changed

* Fix deserialization of `Context` by @​flobernd in https://github.com/elastic/elasticsearch-net/pull/8688

**Full Changelog**: https://github.com/elastic/elasticsearch-net/compare/9.1.5...9.1.6

## 9.1.5

## What's Changed

* Introduce `RequestResponseConverter<T>` and make all non-generated `JsonConverter`s public by @​flobernd in https://github.com/elastic/elasticsearch-net/pull/8669
  * Greatly simplifies use of `Elastic.Clients.Elasticsearch` types in documents (e.g. for percolation; see #​8003)
* Regenerate client by @​flobernd in https://github.com/elastic/elasticsearch-net/pull/8679
* Update `Elastic.Transport` to `0.10.1` by @​flobernd in https://github.com/elastic/elasticsearch-net/pull/8681
  * Fixes a race condition (see #​8671)

**Full Changelog**: https://github.com/elastic/elasticsearch-net/compare/9.1.4...9.1.5

## 9.1.4

## What's Changed

* More AOT annotations  by @​Mpdreamz in https://github.com/elastic/elasticsearch-net/pull/8661
* Regenerate client by @​flobernd in https://github.com/elastic/elasticsearch-net/pull/8668
  * Fixes deserialization of `PercentilesItem` (https://github.com/elastic/elasticsearch-net/issues/8570)

**Full Changelog**: https://github.com/elastic/elasticsearch-net/compare/9.1.3...9.1.4

## 9.1.3

## What's Changed

* Regenerate client by @​flobernd in https://github.com/elastic/elasticsearch-net/pull/8658
  * Fixes several AOT related warnings.
* Add AOT example by @​flobernd in https://github.com/elastic/elasticsearch-net/pull/8569

**Full Changelog**: https://github.com/elastic/elasticsearch-net/compare/9.1.2...9.1.3

## 9.1.2

## What's Changed

* Regenerate client by @​flobernd in https://github.com/elastic/elasticsearch-net/pull/8656
  * Use `SourceSerializer` for `object` types (https://github.com/elastic/elasticsearch-net/issues/8648)

**Full Changelog**: https://github.com/elastic/elasticsearch-net/compare/9.1.1...9.1.2

## 9.1.1

## What's Changed

* Regenerate client by @​flobernd in https://github.com/elastic/elasticsearch-net/pull/8644 and https://github.com/elastic/elasticsearch-net/pull/8645
  * Fixes deserialization of `PercentilesAggregate` and improves usability (https://github.com/elastic/elasticsearch-net/issues/8570)
  * Fixes serialization of `TermsvectorRequest.fields` (https://github.com/elastic/elasticsearch-net/issues/8641)
* Address some of the AOT compiler errors in .NET 9 by @​Mpdreamz in https://github.com/elastic/elasticsearch-net/pull/8649

## Breaking Changes

The type of the `Values` property for the following classes got changed from the `Percentiles` union to a simple `PercentilesItem` collection:

- `HdrPercentilesAggregate`
- `HdrPercentileRanksAggregate`
- `TDigestPercentilesAggregate`
- `TDigestPercentileRanksAggregate`
- `PercentilesBucketAggregate`

The `Percentiles` union type got removed as it's no longer used.

---

**Full Changelog**: https://github.com/elastic/elasticsearch-net/compare/9.1.0...9.1.1

## 9.1.0

## What's Changed

* Release 9.1.0

**Full Changelog**: https://github.com/elastic/elasticsearch-net/compare/9.0.8...9.1.0

## 9.0.8

## What's Changed

* Use Count instead of Count() by @​gpetrou in https://github.com/elastic/elasticsearch-net/pull/8604
* Regenerate client by @​flobernd in https://github.com/elastic/elasticsearch-net/pull/8638

**Full Changelog**: https://github.com/elastic/elasticsearch-net/compare/9.0.7...9.0.8

## 9.0.7

## What's Changed

* Increase `MaxDepth` to 512 for internal request/response type serializer (#​8573) by @​github-actions in https://github.com/elastic/elasticsearch-net/pull/8575
* Support (de-)serialization of nullable value-types in AOT context by @​flobernd in https://github.com/elastic/elasticsearch-net/pull/8584
* Add deserialization support for `GeoBounds` and `GeoLocation` (#​8586) by @​github-actions in https://github.com/elastic/elasticsearch-net/pull/8588
* Regenerate client by @​flobernd in https://github.com/elastic/elasticsearch-net/pull/8602

**Full Changelog**: https://github.com/elastic/elasticsearch-net/compare/9.0.6...9.0.7

## 9.0.6

## What's Changed

* Fix `IndexName` ambiguity by @​flobernd in https://github.com/elastic/elasticsearch-net/pull/8556
* Preserve `BucketsPath` alias by @​flobernd in https://github.com/elastic/elasticsearch-net/pull/8561
* Regenerate client

**Full Changelog**: https://github.com/elastic/elasticsearch-net/compare/9.0.5...9.0.6

## 9.0.5

## What's Changed

* Update `Elastic.Transport` by @​flobernd in https://github.com/elastic/elasticsearch-net/pull/8549
  * Fixes an issue that caused certain URL parameters to get serialized with incorrect casing

**Full Changelog**: https://github.com/elastic/elasticsearch-net/compare/9.0.4...9.0.5

## 9.0.4

## What's Changed

* Add (experimental) native AOT support by @​flobernd in https://github.com/elastic/elasticsearch-net/pull/8530
* Regenerate client by @​flobernd in https://github.com/elastic/elasticsearch-net/pull/8532

**Full Changelog**: https://github.com/elastic/elasticsearch-net/compare/9.0.3...9.0.4

## 9.0.3

## What's Changed

* Fix `IndexName` inference (and regenerate client) by @​flobernd in https://github.com/elastic/elasticsearch-net/pull/8519

**Full Changelog**: https://github.com/elastic/elasticsearch-net/compare/9.0.2...9.0.3

## 9.0.2

## What's Changed

* Fix `RequestConfiguration` by @​flobernd in https://github.com/elastic/elasticsearch-net/pull/8514
* Fix NPE when deserializing invalid `SearchResponse` by @​flobernd in https://github.com/elastic/elasticsearch-net/pull/8516

**Full Changelog**: https://github.com/elastic/elasticsearch-net/compare/9.0.1...9.0.2

## 9.0.1

## What's Changed

* Fix NPE in `GetAliasResponse` by @​flobernd in https://github.com/elastic/elasticsearch-net/pull/8505
* Fix serialization of `InnerHits.Fields` by @​flobernd in https://github.com/elastic/elasticsearch-net/pull/8505

## New Contributors

* @​bmorelli25 made their first contribution in https://github.com/elastic/elasticsearch-net/pull/8492
* @​sergey-tihon made their first contribution in https://github.com/elastic/elasticsearch-net/pull/8504

**Full Changelog**: https://github.com/elastic/elasticsearch-net/compare/9.0.0...9.0.1

## 9.0.0

## What's Changed

See [release notes](https://www.elastic.co/docs/release-notes/elasticsearch/clients/dotnet#elasticsearch-net-client-900-release-notes) and [breaking changes](https://www.elastic.co/docs/release-notes/elasticsearch/clients/dotnet/breaking-changes#elasticsearch-net-client-900-breaking-changes).

---

**Full Changelog**: https://github.com/elastic/elasticsearch-net/compare/8.17.2...9.0.0

## 9.0.0-preview.1

## What's Changed

### 1.1 Request Method/API Changes

#### 1.1.1 Synchronous Request APIs

Synchronous request APIs are no longer marked as `obsolete`. We received some feedback about this deprecation and decided to revert it.

#### 1.1.2 Separate Type Arguments for Request/Response

It is now possible to specify separate type arguments for requests/responses when executing request methods:

```csharp
var response = await client.SearchAsync<Person, JsonObject>(x => x
    .Query(x => x.Term(x => x.Field(x => x.FirstName).Value("Florian")))
);

var documents = response.Documents; // IReadOnlyCollection<JsonObject>

The regular APIs with merged type arguments are still available.

1.2 Improved Fluent API

The enhanced fluent API generation is likely the most notable change in the 9.0 client.

This section describes the main syntax constructs generated based on the type of the property in the corresponding object.

1.2.1 ICollection<E>

Note: This syntax already existed in 8.x.

new SearchRequestDescriptor<Person>()
    .Query(q => q
        .Bool(b => b
            .Must(new Query())                           // Scalar: Single element.
            .Must(new Query(), new Query())              // Scalar: Multiple elements (params).
            .Must(m => m.MatchAll())                     // Fluent: Single element.
            .Must(m => m.MatchAll(), m => m.MatchNone()) // Fluent: Multiple elements (params).
        )
    );

1.2.2 IDictionary<K, V>

The 9.0 client introduces full fluent API support for dictionary types.

new SearchRequestDescriptor<Person>()
 ... (truncated)

Commits viewable in [compare view](https://github.com/elastic/elasticsearch-net/compare/8.19.21...9.4.0).
</details>

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=Elastic.Clients.Elasticsearch&package-manager=nuget&previous-version=8.19.21&new-version=9.4.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

---
updated-dependencies:
- dependency-name: Elastic.Clients.Elasticsearch
  dependency-version: 9.4.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added .NET Pull requests that update .NET code dependencies Pull requests that update a dependency file labels May 13, 2026
@CLAassistant
Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

@niemyjski niemyjski closed this May 22, 2026
@dependabot @github
Copy link
Copy Markdown
Contributor Author

dependabot Bot commented on behalf of github May 22, 2026

OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting @dependabot ignore this major version or @dependabot ignore this minor version. You can also ignore all major, minor, or patch releases for a dependency by adding an ignore condition with the desired update_types to your config file.

If you change your mind, just re-open this PR and I'll resolve any conflicts on it.

@dependabot dependabot Bot deleted the dependabot/nuget/src/Foundatio.Parsers.ElasticQueries/Elastic.Clients.Elasticsearch-9.4.0 branch May 22, 2026 19:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file .NET Pull requests that update .NET code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Behavioral regression: SearchResponse for expired PIT (HTTP 404) now reports IsValidResponse=true

2 participants