#53315·beats

[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) string
  • statestore.States.StoreFor(typ string) (*Store, error) -> StoreFor(typ, id string) (*Store, error)
  • (*statestore.Store).SetID(id string) removed
  • backend.Store.SetID(id string) removed

This is source-incompatible for downstream code implementing these interfaces or calling these methods.

Evidence:

  • libbeat/statestore/store.go:33 now defines StoreKey(typ, id string) string.
  • libbeat/statestore/store.go:39 now defines StoreFor(typ, id string) (*Store, error).
  • libbeat/statestore/store.go removed func (s *Store) SetID(id string) (shown in commit diff hunk @@ -81,10 +80,6 @@).
  • libbeat/statestore/backend/backend.go removed SetID(id string) from type Store interface (diff hunk @@ -68,10 +68,6 @@).

Pre-change signatures/methods (from eda1030a14^):

  • libbeat/statestore/store.go:33 had StoreKey() string.
  • libbeat/statestore/store.go:40 had StoreFor(typ string) (*Store, error).
  • libbeat/statestore/store.go:84-86 had func (s *Store) SetID(id string) { s.shared.backend.SetID(id) }.
  • libbeat/statestore/backend/backend.go:72-74 had SetID(id string) in type Store interface.

Why undocumented:

  • The same commit adds changelog/fragments/1788817407-es-cursor-store-input-index.yaml as kind: bug-fix describing 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-change when applicable
  • Add migration guidance for libbeat/statestore API 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