chore: prepare v0.24.0 release#602
Conversation
Add CHANGELOG entry covering 46 PRs since v0.23.1 (2026-03-23): - BREAKING: com.docker.compose.service label no longer filtered (#597) - Added: end-to-end test harness against compiled binary (#581) - Fixed: log-level error message, make lint v2 path, .envrc worktree hooks detection, .gitignore anchor, flaky test stabilization - Security: Go 1.26.2 stdlib fixes (#557) - Dependencies: go-cron, docker/cli, otel, go-viper, validator, golang.org/x/* bumps - CI/Build: unified single-build release pipeline, org-level reusable workflows Signed-off-by: Sebastian Mendel <info@sebastianmendel.de>
Dependency Review✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.Scanned FilesNone |
There was a problem hiding this comment.
Automated approval for maintainer PR
All automated quality gates passed. See SECURITY_CONTROLS.md for compensating controls.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #602 +/- ##
==========================================
- Coverage 87.28% 87.19% -0.09%
==========================================
Files 88 88
Lines 10631 10631
==========================================
- Hits 9279 9270 -9
- Misses 1112 1119 +7
- Partials 240 242 +2
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Pull request overview
Prepares the v0.24.0 release by adding a new CHANGELOG entry summarizing notable changes since v0.23.1, including a breaking behavior change, new E2E test coverage, security bump to Go 1.26.2, and various fixes/dependency/CI updates.
Changes:
- Add a v0.24.0 (2026-05-10) section with categorized release notes (breaking change, added, fixed, security, dependencies, CI/build, refactor).
- Link key bullets to the corresponding merged PRs for traceability.
There was a problem hiding this comment.
Code Review
This pull request updates the CHANGELOG.md to document the changes for version 0.24.0, which includes a breaking change to Docker Compose job naming, a new end-to-end test harness, multiple bug fixes, security updates, and CI/Build improvements. I have no feedback to provide.
Per Copilot review on #602: keep CHANGELOG section headers consistent with Keep-a-Changelog conventions (no parenthetical qualifiers in section names). Mark the breaking change with a bold inline '**BREAKING:**' prefix on the bullet itself instead. Signed-off-by: Sebastian Mendel <info@sebastianmendel.de>
|
There was a problem hiding this comment.
Automated approval for maintainer PR
All automated quality gates passed. See SECURITY_CONTROLS.md for compensating controls.
## Summary Cut the existing `[Unreleased]` CHANGELOG block at [fad5239](netresearch@fad5239) into a versioned `[0.25.0] - 2026-05-14` heading, and fill in two entries for PRs that landed after the previous `[Unreleased]` writeups: - **### Security** — Go toolchain `1.26.2` → `1.26.3` ([netresearch#662](netresearch#662)). Clears six stdlib advisories reachable from this codebase (`net/mail`, `html/template`, `net`, `net/http`); refreshes direct deps (`docker/cli`, `golang.org/x/{crypto,term,text}`) and the full indirect graph. Post-bump `govulncheck` is down to the two unfixable upstream moby advisories on `docker/docker` v28.5.2. - **### Fixed** — `MaxRuntime` cancellation now stops *and removes* the container/service ([netresearch#659](netresearch#659), fixes [netresearch#655](netresearch#655)). Completes [netresearch#651](netresearch#651 deadline wiring with a fresh `context.WithTimeout(context.Background(), jobCleanupTimeout)` cleanup context so stop/remove still runs after the parent deadline fires. Mirrored into `RunServiceJob`. ## Headline changes since v0.24.0 - **Security**: Go 1.26.3 toolchain, three silent-downgrade vectors closed (`https://` mTLS, SMTP STARTTLS default, webhook allow-list typo), fail-closed on `tcp+tls://` without cert material ([netresearch#660](netresearch#660), [netresearch#646](netresearch#646), [netresearch#662](netresearch#662)) - **New**: `tcp+tls://` `DOCKER_HOST` scheme re-enabled ([netresearch#625](netresearch#625)); `DOCKER_TLS_VERIFY` / `DOCKER_CERT_PATH` honored ([netresearch#613](netresearch#613)) - **Correctness**: bounded contexts in scheduler / health / Docker pings ([netresearch#636](netresearch#636), [netresearch#651](netresearch#651)); orphan-container cleanup on MaxRuntime ([netresearch#659](netresearch#659)); pervasive nil-guard pass across the Docker adapter ([netresearch#626](netresearch#626), [netresearch#639](netresearch#639), [netresearch#648](netresearch#648), [netresearch#658](netresearch#658)) - **Refactor / DX**: unified Docker host / scheme resolution ([netresearch#629](netresearch#629)); webhook global config dual-store collapsed ([netresearch#637](netresearch#637)); `[global]` label handling unified across all subsystems ([netresearch#661](netresearch#661)) ## Version bump rationale Pre-1.0 semver — minor bump because the range includes one `feat:` ([netresearch#625](netresearch#625) — `tcp+tls://` scheme re-enabled), several `fix(security):` PRs that surface previously-silent downgrades, and the `[global]` label-handling rework. The webhook key rename in [netresearch#620](netresearch#620) / [netresearch#637](netresearch#637) is shipped under `### Deprecated` (legacy `ofelia.webhooks` form keeps working with a one-shot warning), not as a breaking change. ## Notes - This PR touches **only `CHANGELOG.md`** — matches the v0.24.0 prep pattern ([netresearch#602](netresearch#602)). The Release workflow injects the version into `cli.Version` via ldflags from the tag, so no `cli/version.go` edit is needed. - After merge: signed annotated tag `v0.25.0` will be pushed to the merge commit, triggering [`release-go-app.yml`](https://github.com/netresearch/.github/blob/main/.github/workflows/release-go-app.yml) for binaries, container image, cosign `--bundle` signatures, and SLSA attestations. - Contributor thanks will be added directly to the GitHub release description (not the CHANGELOG, per project convention from v0.24.0). ## Test plan - [x] `go build ./...` clean - [ ] CI green on this PR - [ ] CHANGELOG renders correctly on GitHub Files Changed tab - [ ] After merge: signed annotated tag `v0.25.0` created on the merge commit (`git tag -s v0.25.0 -m "v0.25.0"`) and pushed - [ ] Release workflow run succeeds end-to-end



Summary
Add CHANGELOG entry for v0.24.0 covering 46 PRs since v0.23.1 (2026-03-23, ~7 weeks ago).
Once merged, this is followed by a signed annotated tag
v0.24.0on the merge commit, which triggers the unified release workflow.Headline changes
com.docker.compose.servicelabel no longer filtered, so Docker Compose service-name based job naming works as documented. Job names may differ for users who previously relied on the (incorrect) names.make lint,.envrc,log-levelerror message), dependency bumps, and CI/build pipeline unificationNotes
Test plan
v0.24.0and push