Repository navigation
chore(deps): update module github.com/elastic/go-elasticsearch/v8 to v9 (8.19) - #8031
elastic-renovate-prod[bot] wants to merge 2 commits into
Conversation
Dependency Update AnalysisSummary: Updated Go module Dependency: github.com/elastic/go-elasticsearch
|
| Check | Result |
|---|---|
| Breaking changes | ✅ None found in this repo’s consumed interfaces after usage cross-check |
| Testable in PR | ✅ Yes — Buildkite PR pipeline is enabled on commit in .buildkite/pull-requests.json (build_on_commit: true), and this PR touches Go source/manifests so skip-only-doc rules do not apply |
Changelog highlights (v8.19.7 → v9.5.2)
v9.3.0introduces major API-shape changes in generated client surfaces (notably string→[]string, some duration typing changes, and related option/signature updates).v9.4.0notesesapilong-typed params changing to*int64and BulkIndexer default-client behavior changes.v9.4.1removes(*Client).ToTyped()(replace withelasticsearch.NewTypedFrom).v9.5.2is a Typed API spec refresh.
Security/CVE assessment:
- Reviewed upstream release-note bodies for
v9.0.0,v9.3.0,v9.4.0,v9.4.1,v9.5.2, and priorv8.19.7. - No CVE IDs, GHSA advisories, or explicit security-fix bulletins were listed for this update path.
- Internal changes are primarily API typing/signature evolution and client/typed-api behavior fixes; these are compatibility-sensitive but do not indicate newly introduced security exposure for this repository’s current usage.
Usage in this repository
- Manifest updates:
go.mod,go.sum,NOTICE.txt,NOTICE-fips.txt. - Code usage surface: import-path migration from
/v8to/v9across ~50 Go files underinternal/pkg/. - Primary consumed interfaces:
elasticsearch.Clientandelasticsearch.Config(client creation/config wiring)esapirequest/response types (index/search/mget/msearch/update-by-query/security APIs)- typed API enums/types used in check-in scripting (
typedapi/types,scriptlanguage.Painless)
- Representative touched modules:
internal/pkg/es,internal/pkg/bulk,internal/pkg/apikey,internal/pkg/api,internal/pkg/file/*,internal/pkg/monitor,internal/pkg/ver, and test helpers underinternal/pkg/testing/esutil.
Compatibility assessment
- This is a major Go-module bump and correctly includes the required import-path migration (
.../v8→.../v9) throughout the codebase. - No remaining
/v8imports are present. - The known upstream breaking item around
(*Client).ToTyped()removal is not used in this repository. - Fleet Server’s Go toolchain baseline (
go 1.26.8ingo.mod) is above the v9 line’s minimum Go requirement, so toolchain compatibility is satisfied. - Net effect: broad but mechanical migration with no observed break against currently consumed APIs in this repo.
Labels Applied
oblt-aw/ai/merge-ready— overall risk is low-to-moderate, no repo-breaking usage detected, and PR-context validation is available via Buildkite PR pipeline.
What is this? | From workflow: Observability Agentic Workflow — Pull Request
Give us feedback! React with 🚀 if perfect, 👍 if helpful, 👎 if not.
Automerge skippedAutomerge skipped this pull request because the changed files do not match any configured dependency collection. If this update should be automerged, ask a maintainer to add or adjust a collection, or merge the pull request manually. See Opt in or opt out for how to enable or disable Automerge collections on the Control Plane Dashboard. Collections currently enabled for automerge: Changed files considered:
|
This comment has been minimized.
This comment has been minimized.
Edited/Blocked NotificationRenovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR. You can manually request rebase by checking the rebase/retry box above. |
|
This pull request is now in conflicts. Could you fix it @elastic-renovate-prod[bot]? 🙏 |
759dc29 to
8b366cd
Compare
There was a problem hiding this comment.
🟡 Changes recommended
The v9 client upgrade leaves API calls that break compilation and sends compatibility headers rejected by supported Elasticsearch 8.19 clusters.
4 open issues
What changed in this PR
Updates Fleet Server’s Elasticsearch Go client from v8.19.7 to v9.5.2 on the 8.19 branch, switching client imports across runtime code and test utilities.
Changes:
- Replaces the v8 module requirement and checksums with v9.5.2.
- Migrates Elasticsearch client, request API, and typed API imports to
/v9. - Updates corresponding imports in unit tests, integration tests, and shared helpers.
| File | Description |
|---|---|
internal/pkg/ver/check.go |
Switches compatibility checks to the v9 client. |
internal/pkg/testing/setup.go |
Updates test setup’s client import. |
internal/pkg/testing/esutil/template.go |
Updates template helper’s client import. |
internal/pkg/testing/esutil/index.go |
Updates index helper’s client import. |
internal/pkg/testing/esutil/ilm.go |
Updates lifecycle helper’s client import. |
internal/pkg/testing/esutil/esutil.go |
Switches response helpers to v9 request types. |
internal/pkg/testing/esutil/datastream.go |
Updates data stream helper’s client import. |
internal/pkg/testing/esutil/client.go |
Updates test client construction import. |
internal/pkg/testing/esutil/bootstrap.go |
Updates bootstrap helper’s client import. |
internal/pkg/testing/bulk.go |
Updates bulk test helper’s client import. |
internal/pkg/server/fleet_secrets_integration_test.go |
Updates secrets integration test import. |
internal/pkg/server/fleet_integration_test.go |
Updates server integration test import. |
internal/pkg/monitor/subscription_monitor.go |
Updates subscription monitor’s client import. |
internal/pkg/monitor/monitor.go |
Updates policy and action monitor’s client import. |
internal/pkg/gcheckpt/checkpoint.go |
Switches checkpoint client and request imports. |
internal/pkg/file/uploader/upload.go |
Updates uploader’s client import. |
internal/pkg/file/uploader/es.go |
Switches upload storage client and request imports. |
internal/pkg/file/delivery/es.go |
Switches delivery storage client and request imports. |
internal/pkg/file/delivery/delivery.go |
Updates file delivery’s client import. |
internal/pkg/file/delivery/delivery_test.go |
Updates delivery test client import. |
internal/pkg/es/info.go |
Updates cluster information client import. |
internal/pkg/es/delete.go |
Updates index deletion client import. |
internal/pkg/es/client.go |
Switches client construction to v9. |
internal/pkg/es/client_test.go |
Updates client and request imports in tests. |
internal/pkg/dl/migration.go |
Switches migration request types to v9. |
internal/pkg/config/output.go |
Switches output configuration to v9 client types. |
internal/pkg/config/output_test.go |
Updates output configuration test import. |
internal/pkg/config/output_nofips_test.go |
Updates non-FIPS TLS test import. |
internal/pkg/config/output_fips_test.go |
Updates FIPS TLS test import. |
internal/pkg/checkin/bulk.go |
Switches check-in script types and enums to v9. |
internal/pkg/bulk/setup_test.go |
Updates bulk test setup import. |
internal/pkg/bulk/secret.go |
Updates secret retrieval client import. |
internal/pkg/bulk/secret_limit_test.go |
Updates secret limit test import. |
internal/pkg/bulk/opSearch.go |
Switches bulk search request types to v9. |
internal/pkg/bulk/opRead.go |
Switches bulk read request types to v9. |
internal/pkg/bulk/opBulk.go |
Switches bulk write request types to v9. |
internal/pkg/bulk/opApiKey.go |
Switches API key request types to v9. |
internal/pkg/bulk/helpers.go |
Switches bulk helper request types to v9. |
internal/pkg/bulk/engine.go |
Updates bulk engine client and request imports. |
internal/pkg/apikey/invalidate.go |
Updates key invalidation client and request imports. |
internal/pkg/apikey/create.go |
Updates key creation client and request imports. |
internal/pkg/apikey/auth.go |
Updates authentication client and request imports. |
internal/pkg/apikey/auth_test.go |
Updates authentication test client import. |
internal/pkg/apikey/apikey.go |
Updates API key client and request imports. |
internal/pkg/apikey/apikey_integration_test.go |
Updates API key integration test import. |
internal/pkg/api/handleUpload.go |
Updates upload handler’s client import. |
internal/pkg/api/handleUpload_test.go |
Updates upload handler test import. |
internal/pkg/api/handleFileDelivery.go |
Updates file delivery handler’s client import. |
internal/pkg/api/handleEnroll.go |
Switches enrollment request types to v9. |
internal/pkg/api/handleEnroll_test.go |
Updates enrollment test client import. |
go.sum |
Replaces v8 checksums with v9.5.2 checksums. |
go.mod |
Requires Elasticsearch Go client v9.5.2. |
Review effort: Balanced
| "github.com/rs/zerolog" | ||
|
|
||
| "github.com/elastic/go-elasticsearch/v8" | ||
| "github.com/elastic/go-elasticsearch/v9" |
| "go.elastic.co/apm/v2" | ||
|
|
||
| "github.com/elastic/go-elasticsearch/v8" | ||
| "github.com/elastic/go-elasticsearch/v9" |
| "github.com/rs/zerolog" | ||
|
|
||
| "github.com/elastic/go-elasticsearch/v8" | ||
| "github.com/elastic/go-elasticsearch/v9" |
| github.com/elastic/elastic-agent-client/v7 v7.18.1 | ||
| github.com/elastic/elastic-agent-libs v0.47.0 | ||
| github.com/elastic/go-elasticsearch/v8 v8.19.7 | ||
| github.com/elastic/go-elasticsearch/v9 v9.5.2 |
There was a problem hiding this comment.
🔵 Needs a closer look
The v9.5.2 migration leaves FleetSearch and ILM.PutLifecycle calls using incompatible signatures and removed WithBody helpers, preventing Fleet Server and the shared test utilities from compiling.
4 open issues
Review effort: Balanced
Dependency Update AnalysisSummary: Dependency: github.com/elastic/go-elasticsearch/v8
|
| Check | Result |
|---|---|
| Breaking changes | |
| Testable in PR | ✅ Yes (.github/workflows/golangci-lint.yml + pre-commit.yml include pull_request) |
Changelog highlights (v8.19.7 → v9.5.2)
v9.3.0release notes include multiple breaking API changes (string→[]string, functional option/signature changes, duration type changes) and raised minimum Go/toolchain expectations (go 1.25inv9.5.2modulego.mod;v8.19.7wasgo 1.21).v9.5.2itself is small (typed API spec refresh).- CVE/security notes: no explicit CVE/GHSA entries found in the inspected release notes (
v9.3.0,v9.5.2).
Usage in this repository
- High usage surface:
github.com/elastic/go-elasticsearch/v9appears in 50 Go files / 60 matches across production modules (internal/pkg/api,apikey,bulk,es,monitor,file/*,dl,policy,server, etc.). - API usage includes
elasticsearch.NewClient(...), manyesapi.*Requestcalls, and typed API imports (internal/pkg/checkin/bulk.go).
Compatibility assessment
- Build validation:
go test ./...fails with concrete incompatibilities matching upstream breaking changes:internal/pkg/monitor/monitor.go:421-422:FleetSearchcall shape mismatch (WithBodyno longer available in this form).internal/pkg/testing/esutil/ilm.go:153-154:ILM.PutLifecyclesignature mismatch andWithBodyusage invalid.
- This indicates migration is incomplete for
v9API signatures; production-impacting modules are affected. - Net: not merge-ready until API call sites are updated and full tests pass.
Labels Applied
No labels applied (overall risk: high, breaking changes currently impact this repo).
What is this? | From workflow: Observability Agentic Workflow — Pull Request
Give us feedback! React with 🚀 if perfect, 👍 if helpful, 👎 if not.
TL;DRBuildkite is failing for two concrete reasons: (1) Remediation
Investigation detailsRoot Cause
Evidence
Verification
Follow-up
What is this? | From workflow: Observability Agentic Workflow — Status Give us feedback! React with 🚀 if perfect, 👍 if helpful, 👎 if not. |


This PR contains the following updates:
v8.19.7→v9.5.2Release Notes
elastic/go-elasticsearch (github.com/elastic/go-elasticsearch/v8)
v9.5.2Compare Source
Features
9665eef(ed209ac)v9.5.1Compare Source
Features
abf9c2c(#1575) (32a7135)v9.5.0Compare Source
Features
4a53326(#1541) (bcdfdb7)37285cb(#1532) (1266ad2)v9.4.3Compare Source
Features
aad9207#1533 (7732b79)v9.4.2Compare Source
Bug Fixes
v9.4.1Compare Source
⚠ BREAKING CHANGES
Bug Fixes
v9.4.0Compare Source
⚠ BREAKING CHANGES
Features
fcf537e(#1455) (4aa8c6e)836fca8(27b32e4)Bug Fixes
v9.3.6Compare Source
Features
17b451d(#1553) (9b25ff4)17fab0b(#1531) (02eb5fd)v9.3.5Compare Source
Bug Fixes
v9.3.4Compare Source
⚠ BREAKING CHANGES
Bug Fixes
v9.3.3Compare Source
⚠ BREAKING CHANGES
Features
Bug Fixes
v9.3.2Compare Source
⚠ BREAKING CHANGES
df81426Features
df81426(32ea244)Bug Fixes
v9.3.1Compare Source
Bug Fixes
v9.3.0Compare Source
⚠ BREAKING CHANGES
[]string. Corresponding WithX helpers now accept variadic arguments (...string).ExpandWildcardsrequest fields were changed fromstringto[]string, andWithExpandWildcardshelpers now accept variadic arguments (...string).stringto[]string, and relatedWithRoutinghelpers now accept variadic arguments (...string).stringnow usetime.Duration(e.g., KeepAlive, Interval, BucketSpan). Call sites must passtime.Durationvalues.interface{}for start/end time parameters now requirestringvalues, removing support for arbitrary types.[]stringinstead ofstringfor path parameters that support multiple resources (e.g., indices, templates, data streams, transforms, repositories, privileges).DocumentTypesupport was removed, Interval is nowtime.Duration, and required parameters were added explicitly to the method signature.stringto[]stringand removal of deprecated fields. Direct struct initialization may require changes.Features
DenseVectorF32andDenseVectorBytestypes, improving indexing performance of dense vectors by up to 3x when used instead of a float32 array (f543b82)Bug Fixes
json.RawMessageinstead ofanyto avoid loss of precision (#1147) (e3e61d6)v9.2.6Compare Source
⚠ BREAKING CHANGES
Bug Fixes
v9.2.5Compare Source
⚠ BREAKING CHANGES
Features
Bug Fixes
v9.2.4Compare Source
⚠ BREAKING CHANGES
49022a2Features
49022a2(f32334d)Bug Fixes
v9.2.3Compare Source
Bug Fixes
v9.2.2Compare Source
Features
Bug Fixes
v9.2.1Compare Source
Features
Bug Fixes
v9.2.0: 9.2.0Compare Source
API
Typed API
v9.1.2Compare Source
Features
Bug Fixes
v9.1.1Compare Source
Features
Bug Fixes
v9.1.0: 9.1.0Compare Source
API
Typed API
MethodAPIused by theTypedClientwhich makes the client friendlier for dead code elimination.Reducing the size of the client when only a subset of the APIs are used. The old
APIstructure remains available for backward compatibility, but it is now deprecated.v9.0.1: 9.0.1Compare Source
API
Typed API
v9.0.0: 9.0.0Compare Source
New
TypedAPInamedesdsl.It provides a domain-specific language (DSL) for building Elasticsearch queries in Go.
The DSL is designed to simplify query construction, making it easier to build complex queries without writing raw JSON.
API
Typed API
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate CLI.