[breaking-change] Undocumented breaking changes detected (2026-06-29)
- Dominant language
- Go
- Stars
- 12.7k
- Forks
- 5k
- Avg merge
- 2d 15m
- Merged PRs (30d)
- 385
Description
Recent commits introduced breaking changes that appear undocumented.
## Breaking Changes
### 1. `libbeat/outputs.SuccessNet` now requires a new `worker int` argument
**Commit(s):** [`01ce4aba49059ea6ef8b7b488d786a40a34a0814`](https://github.com/elastic/beats/commit/01ce4aba49059ea6ef8b7b488d786a40a34a0814)
**PR:** https://github.com/elastic/beats/pull/51041
**What broke:** External/community Beats or custom output code importing `github.com/elastic/beats/v7/libbeat/outputs` and calling `outputs.SuccessNet` with the previous signature will no longer compile. The exported function changed from:
```go
func SuccessNet(cfg config.Namespace, loadbalance bool, batchSize, retry int, encoderFactory queue.EncoderFactory[publisher.Event], logger *logp.Logger, beatPaths *paths.Path, netclients []NetworkClient) (Group, error)
```
to requiring a new `worker int` argument before `netclients`.
**Evidence:**
- Current signature: `libbeat/outputs/util.go:93-101` now declares `func SuccessNet(... beatPaths *paths.Path, worker int, netclients []NetworkClient) (Group, error)`.
- Previous signature from the parent commit had `beatPaths *paths.Path, netclients []NetworkClient` with no `worker` argument.
- The repository’s developer changelog says it is intended for community Beat developers and covers breaking internal API changes: `CHANGELOG-developer.next.asciidoc:6-11`, including that each breaking change should explain how other Beats should migrate.
- The changelog fragment for this PR is a bug fix only and does not mention the API migration: `changelog/fragments/1780315938-fix-loadbalance-bug.yaml:12-16`.
**Why undocumented:** The PR body and user-facing docs document the `loadbalance: false` behavior change, but they do not mention the exported Go API signature break or migration guidance for community Beat/custom output callers. `CHANGELOG-developer.next.asciidoc` was not updated for this internal API break.
**Suggested fix:** Add a developer changelog or migration note explaining the new `worker` parameter and recommending callers pass the configured worker count, such as `outputs.NumofWorker(rawCfg)`, matching the updated Elasticsearch/Logstash/Redis call sites.
## Suggested Actions
- [ ] Document the `outputs.SuccessNet` signature change in `CHANGELOG-developer.next.asciidoc` or equivalent developer-facing release notes.
- [ ] Include migration guidance for custom output/community Beat callers.
---
[What is this?](https://ela.st/github-ai-tools) | [From workflow: Breaking Change Detect](https://github.com/elastic/beats/actions/runs/28379070953)
Give us feedback! React with 🚀 if perfect, 👍 if helpful, 👎 if not.
> - [x] expires on Jul 6, 2026, 2:35 PM UTC
Contributor guide
Research direction
Read CHANGELOG-developer.next.asciidoc and inspect libbeat/outputs/util.go:93-101, then compare the updated Elasticsearch, Logstash, and Redis call sites. Add a developer-facing note documenting the SuccessNet worker argument and migration guidance for community Beat or custom output callers.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 68/100