[breaking-change] Undocumented breaking changes detected (2026-09-18)
Author: github-actions[bot]Created Sep 18, 2026Updated Sep 18, 2026
Labelsneeds_team
Recent commits introduced a breaking API change that appears undocumented as a breaking change.
Breaking Changes
1. Public libbeat/statestore API was changed incompatibly in a bug-fix PR
Commit(s):
- eda1030a14290b0160027dae8a6480af3480fe25
PR:
What broke:
libbeat/statestore changed exported method signatures and removed exported methods:
statestore.States.StoreKey() string->StoreKey(typ, id string) stringstatestore.States.StoreFor(typ string) (*Store, error)->StoreFor(typ, id string) (*Store, error)(*statestore.Store).SetID(id string)removedbackend.Store.SetID(id string)removed
This is source-incompatible for downstream code implementing these interfaces or calling these methods.
Evidence:
libbeat/statestore/store.go:33now definesStoreKey(typ, id string) string.libbeat/statestore/store.go:39now definesStoreFor(typ, id string) (*Store, error).libbeat/statestore/store.goremovedfunc (s *Store) SetID(id string)(shown in commit diff hunk@@ -81,10 +80,6 @@).libbeat/statestore/backend/backend.goremovedSetID(id string)fromtype Store interface(diff hunk@@ -68,10 +68,6 @@).
Pre-change signatures/methods (from eda1030a14^):
libbeat/statestore/store.go:33hadStoreKey() string.libbeat/statestore/store.go:40hadStoreFor(typ string) (*Store, error).libbeat/statestore/store.go:84-86hadfunc (s *Store) SetID(id string) { s.shared.backend.SetID(id) }.libbeat/statestore/backend/backend.go:72-74hadSetID(id string)intype Store interface.
Why undocumented:
- The same commit adds
changelog/fragments/1788817407-es-cursor-store-input-index.yamlaskind: bug-fixdescribing cursor index scoping/re-ingest behavior, but it does not mention API incompatibility or migration guidance. - In this commit set there were no README/DEVELOPING/RELEASE/CHANGELOG docs updates describing this as a breaking API change.
- PR metadata lookup from this environment returned HTTP 403, so PR body/discussion could not be independently verified here.
Suggested fix:
Document this as a breaking API change (or restore compatibility shims), and add migration guidance for external implementers/callers of libbeat/statestore interfaces.
Suggested Actions
- Document each breaking change in release notes/changelog as
breaking-changewhen applicable - Add migration guidance for
libbeat/statestoreAPI consumers
What is this? | From workflow: Breaking Change Detect
Give us feedback! React with if perfect, if helpful, if not.
- expires on Sep 25, 2026, 1:15 PM UTC
Source: elastic/beats