Skip to content

chore: prepare release 2.18.3 - #623

Merged
cspath1 merged 1 commit into
mainfrom
cspath/REL-16023-prepare-release-2.18.3
Sep 25, 2026
Merged

cspath1 merged 1 commit into
mainfrom
cspath/REL-16023-prepare-release-2.18.3

Conversation

@cspath1

@cspath1 cspath1 commented Sep 25, 2026 •

Copy link
Copy Markdown
Contributor

Prepares the 2.18.3 release by hand, same approach as 2.18.2 in #622 and 2.18.1 in #620: rulesets block the release workflow from pushing version bumps straight to main, so the bump lands as a normal PR.

Re-release of 2.18.2 under correct artifact names. No code changes -- only the version constant, the changelog and the Action metadata pins.

v2.18.2 published all 15 archives named 2.18.1. The binaries were correct (verified go-toml v2.4.3 and go1.26.8 inside the published asset), but goreleaser templated the filenames from the newest tag it could see rather than the release tag, because products-for-release passes --skip-validate and suppresses the tag/HEAD check. Two consequences: the Homebrew formula, generated from the real tag, points at 2.18.2 filenames that 404, so brew install is broken; and ld-find-code-refs_2.18.1_*.tar.gz now exists on two releases with different contents. The v2.18.2 tag is immutable, so neither can be fixed in place.

When building artifacts for this release, force the version instead of letting goreleaser infer it, and check the names rather than just the count:

GORELEASER_CURRENT_TAG=v2.18.3 make products-for-release
ls -1 dist/*.tar.gz | grep -c '2.18.3' # expect 8

Then create the release as a draft with all 15 assets, verify both the count and the filenames, and only then publish.


Note

Overview
Prepares v2.18.3 as a metadata-only re-release of 2.18.2: bumps internal/version.Version to 2.18.3 and documents in CHANGELOG that v2.18.2 shipped correct binaries but misnamed archives (2.18.1 filenames from goreleaser/--skip-validate), which broke Homebrew URLs and collided with real 2.18.1 assets.

GitHub Action packaging is realigned to the new tag: the action Dockerfile base image, README workflow examples (@v2.18.3 and docker@v2.18.3), and docker/action.yml default/example dockerImage pins all move from 2.18.2 to 2.18.3. No application logic or dependency changes beyond the version string.

Reviewed by Cursor Bugbot for commit cdffded. Bugbot is set up for automated code reviews on this repo. Configure here.

Prepares the 2.18.3 release by hand, same approach as 2.18.2 in #622 and
2.18.1 in #620: rulesets block the release workflow from pushing version
bumps straight to main, so the bump lands as a normal PR.

Re-release of 2.18.2 under correct artifact names. No code changes --
only the version constant, the changelog and the Action metadata pins.

v2.18.2 published all 15 archives named 2.18.1. The binaries were
correct (verified go-toml v2.4.3 and go1.26.8 inside the published
asset), but goreleaser templated the filenames from the newest tag it
could see rather than the release tag, because products-for-release
passes --skip-validate and suppresses the tag/HEAD check. Two
consequences: the Homebrew formula, generated from the real tag, points
at 2.18.2 filenames that 404, so brew install is broken; and
ld-find-code-refs_2.18.1_*.tar.gz now exists on two releases with
different contents. The v2.18.2 tag is immutable, so neither can be
fixed in place.

When building artifacts for this release, force the version instead of
letting goreleaser infer it, and check the names rather than just the
count:

  GORELEASER_CURRENT_TAG=v2.18.3 make products-for-release
  ls -1 dist/*.tar.gz | grep -c '2\.18\.3'   # expect 8

Then create the release as a draft with all 15 assets, verify both the
count and the filenames, and only then publish.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@cspath1
cspath1 requested review from a team as code owners September 25, 2026 19:44
@cspath1
cspath1 enabled auto-merge (squash) September 25, 2026 19:46
@cspath1
cspath1 merged commit b757d67 into main Sep 25, 2026
9 checks passed
@cspath1
cspath1 deleted the cspath/REL-16023-prepare-release-2.18.3 branch September 25, 2026 19:46
cchu-ld added a commit that referenced this pull request Oct 21, 2026
Prepares the 2.18.4 release by hand, same approach as 2.18.3 in #623:
rulesets block the release workflow from pushing version bumps straight
to main, so the bump lands as a normal PR.

Ships the Go 1.26.10 toolchain pin from #626, so `crypto/x509` rejects
chains through the distrusted eMudhra intermediates (INC-289,
golang/go#82345). No code changes: only the version constant, the
changelog and the Action metadata pins.

Also floats the `uses:` examples in
`build/metadata/github-actions/README.md` on `@v2`, matching
launchdarkly/find-code-references#68. Without this, the next sync to the
Action repo would put back the exact-tag pins #68 removed. `dockerImage`
keeps an exact tag.

Release steps after merge: [Releasing the Code References
tools](https://launchdarkly.atlassian.net/wiki/spaces/PD/pages/5437260080/Releasing+the+Code+References+tools).
Two things differ from earlier notes:
- tag the squash commit of this PR, not main HEAD (main is already past
#626)
- after publishing the release, fix the Homebrew `sha256` values from
the release `checksums.txt`. The workflow writes the checksums from
archives it discards, so the formula never matches the rebuilt assets.
2.18.3 is broken in brew right now for this reason (formula linux_amd64
`7d001b26…` vs release `c30e3934…`)

via LD Research 🤖

🤖 Generated with [Claude Code](https://claude.com/claude-code)

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Overview**
> Prepares **2.18.4** as a release-only PR: bumps
`internal/version/version.go`, documents the release in
**CHANGELOG.md**, and refreshes GitHub Action packaging pins to
**2.18.4** (Action `Dockerfile` base image and `docker/action.yml`
default `dockerImage`).
> 
> The changelog entry frames **2.18.4** as shipping builds on **Go
1.26.10** so `crypto/x509` rejects distrusted eMudhra intermediate
chains, with **no application logic changes** in this diff.
> 
> GitHub Action docs/examples now reference
**`launchdarkly/find-code-references@v2`** and **`.../docker@v2`**
instead of exact **v2.18.3** tags, while mirrored-registry examples
still pin the scanner image tag to **2.18.4**.
> 
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
53780d2. Bugbot is set up for automated
code reviews on this repo. Configure
[here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants