elastic / elastic/beats

[breaking-change] Undocumented breaking changes detected (2026-06-29)

Open Beginner friendly
#51,618 1 comment 0 reactions 0 assignees View on GitHub
needs_team
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.