Skip to content

Align LINQ-to-ES|QL integration with Elastic.Esql 0.11.0#8886

Merged
flobernd merged 1 commit intomainfrom
feat/esql-transport-0.16-alignment
Apr 22, 2026
Merged

Align LINQ-to-ES|QL integration with Elastic.Esql 0.11.0#8886
flobernd merged 1 commit intomainfrom
feat/esql-transport-0.16-alignment

Conversation

@flobernd
Copy link
Copy Markdown
Member

Summary

Following the binary-response generator work (#8883), all ES|QL client methods return `Elastic.Transport.Products.Elasticsearch.ElasticsearchStreamResponse`. This PR aligns the handcrafted LINQ-to-ES|QL integration with that new contract and with the `Elastic.Esql` 0.11.0 release (which itself adopts the Elasticsearch-specific transport response types).

  • Bump `Elastic.Esql` `0.10.0` → `0.11.0`.
  • `EsqlQueryExecutor` now uses `ElasticsearchStreamResponse` (sync) and `ElasticsearchPipeResponse` on NET10+ (async); the NET10+ async adapter exposes the native `PipeReader` directly instead of wrapping the stream.
  • `EsqlNamespacedClient.QueryAsStreamAsync` (both overloads) return type changes from `Task` to `Task`.
  • Remove the dead `EsqlQueryResponse` / `EsqlResponseBuilder` bridge (internal + registration) — no call site requests `EsqlQueryResponse` as `TResponse`, and the 9.4.0 breaking-changes doc (docs: document 9.3.5 binary-response breaking changes #8881) already declares the type's removal.

The corresponding docs entry is added on the 9.4.0 breaking-changes page in #8881 (main-only; this code change backports to the maintenance branches).

- Bump `Elastic.Esql` 0.10.0 -> 0.11.0
- `EsqlQueryExecutor` uses `ElasticsearchStreamResponse` (sync) and
  `ElasticsearchPipeResponse` on NET10+ (async), matching the
  response types 0.11.0 expects. NET10+ async now uses the native
  `PipeReader` directly instead of wrapping the stream.
- `EsqlNamespacedClient.QueryAsStreamAsync` return type is now
  `Task<ElasticsearchStreamResponse>`.
- Remove the dead `EsqlQueryResponse` / `EsqlResponseBuilder` bridge
  and its registration: no call site requests the type as TResponse,
  and the 9.4.0 breaking-changes doc already declares its removal.
@flobernd flobernd enabled auto-merge (squash) April 22, 2026 12:44
@flobernd flobernd disabled auto-merge April 22, 2026 14:29
@flobernd flobernd merged commit 86da193 into main Apr 22, 2026
30 of 31 checks passed
@flobernd flobernd deleted the feat/esql-transport-0.16-alignment branch April 22, 2026 14:29
@github-actions
Copy link
Copy Markdown
Contributor

💚 All backports created successfully

Status Branch Result
8.19
9.3
9.4

Questions ?

Please refer to the Backport tool documentation and see the Github Action logs for details

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant