Skip to content

Upgrade Go to 1.26.3#71

Merged
eguzki merged 1 commit into
mainfrom
upgrade-go-1.26.3
Jul 2, 2026
Merged

Upgrade Go to 1.26.3#71
eguzki merged 1 commit into
mainfrom
upgrade-go-1.26.3

Conversation

@thomasmaas

@thomasmaas thomasmaas commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

Upgrade Go from 1.25.9 to 1.26.3.

Changes:

  • go.mod: updated Go version from 1.25.9 to 1.26.3
  • Dockerfile: updated builder image from golang:1.25 to golang:1.26

Summary by CodeRabbit

  • Chores
    • Updated the build environment to use Go 1.26 across the Docker build stage and project toolchain settings.
    • No changes were made to application features, dependencies, or runtime behaviour.

@thomasmaas thomasmaas added the area/dependencies Dependency updates label Jun 22, 2026
@coderabbitai

coderabbitai Bot commented Jun 22, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

This pull request updates the Go version used across the project: the Dockerfile's builder stage base image is bumped from golang:1.25 to golang:1.26, and the go.mod toolchain directive is updated from 1.25.9 to 1.26.3.

Changes

Go Version Upgrade

Layer / File(s) Summary
Update Go toolchain version
Dockerfile, go.mod
Builder base image and module Go version directive are both bumped from 1.25 to 1.26.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Poem

A hop, a skip, a version bump,
From 1.25 to 1.26 in one small jump,
No new burrows, no new code,
Just a fresher, faster toolchain road.
🐇✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarises the main change: upgrading Go to version 1.26.3.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch upgrade-go-1.26.3

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

eguzki
eguzki previously approved these changes Jun 22, 2026
@eguzki
eguzki dismissed their stale review June 22, 2026 09:12

lint issues

@thomasmaas

Copy link
Copy Markdown
Contributor Author

Needs a rebase once #72 has been merged.

@eguzki

eguzki commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

#72 has been merged

@eguzki

eguzki commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

needs rebase

Signed-off-by: Thomas Maas <thomas@webtypes.com>
@eguzki
eguzki force-pushed the upgrade-go-1.26.3 branch from bf62dc4 to 98bc32d Compare July 2, 2026 08:10
@eguzki
eguzki enabled auto-merge July 2, 2026 08:10

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
Dockerfile (1)

2-2: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Floating minor-version tag vs. pinned go.mod patch.

golang:1.26 floats to the latest 1.26.x patch, while go.mod pins go 1.26.3. If the image's bundled toolchain is older than 1.26.3, Go's toolchain auto-download (GOTOOLCHAIN=auto by default) will fetch 1.26.3 during the build, requiring network access. This mirrors the pre-existing pattern from golang:1.25, so it's not a new regression, but pinning to a specific digest or patch (e.g. golang:1.26.3) would make builds more reproducible and avoid the extra download step.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@Dockerfile` at line 2, The builder image uses a floating golang:1.26 tag
while go.mod is pinned to 1.26.3, so update the Dockerfile’s builder base image
to a fixed patch version or digest to keep builds reproducible and avoid
triggering toolchain auto-downloads. Use the existing Dockerfile builder stage
reference (the FROM --platform=$BUILDPLATFORM golang... line) and pin it to the
same Go patch level as go.mod.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@go.mod`:
- Line 3: Update the Go toolchain version in go.mod from 1.26.3 to 1.26.4 so the
module targets the fixed release. This is a straightforward version bump in the
go directive; keep the rest of the module file unchanged and ensure any related
build or CI references to the Go version stay consistent with the new version.

---

Nitpick comments:
In `@Dockerfile`:
- Line 2: The builder image uses a floating golang:1.26 tag while go.mod is
pinned to 1.26.3, so update the Dockerfile’s builder base image to a fixed patch
version or digest to keep builds reproducible and avoid triggering toolchain
auto-downloads. Use the existing Dockerfile builder stage reference (the FROM
--platform=$BUILDPLATFORM golang... line) and pin it to the same Go patch level
as go.mod.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 59ef8ab7-5ec7-43bd-a7a9-49efa7e0571a

📥 Commits

Reviewing files that changed from the base of the PR and between 65dda12 and 98bc32d.

📒 Files selected for processing (2)
  • Dockerfile
  • go.mod

Comment thread go.mod
module github.com/kuadrant/developer-portal-controller

go 1.25.9
go 1.26.3

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔒 Security & Privacy | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🌐 Web query:

Go 1.26.4 release notes security fixes

💡 Result:

Go version 1.26.4 was released on June 2, 2026 [1][2]. This minor point release included three specific security fixes [3][4]: mime: quadratic complexity in WordDecoder.DecodeHeader Decoding a maliciously crafted MIME header containing many invalid encoded-words could result in excessive CPU consumption [3][4]. The MIME decoder was updated to handle this scenario more effectively [3][4]. This is tracked as CVE-2026-42504 and Go issue 79217 [4][5]. net/textproto: arbitrary input inclusion in errors Functions in the net/textproto package were previously including raw input in error messages without escaping [3][4]. Because this input is often controlled by external parties (e.g., headers parsed by a net/http client), an attacker could inject arbitrary content, such as misleading information or terminal control bytes, into logs or output [3][4]. This is tracked as CVE-2026-42507 and Go issue 79346 [3][4]. crypto/x509: quadratic verification costs The (*x509.Certificate).VerifyHostname method previously called matchHostnames in a loop over all DNS Subject Alternative Name (SAN) entries, resulting in strings.Split(host, ".") being executed repeatedly on the same hostname [3][4]. This caused verification costs to scale quadratically based on the number of SAN entries and the hostname's label count [3][4]. The implementation was updated to split the candidate hostname only once [3][4]. This is tracked as CVE-2026-27145 and Go issue 79694 [3][4]. Beyond these security fixes, the 1.26.4 release also included various bug fixes for the compiler, the runtime, the go fix command, and the crypto/fips140 package [6][7].

Citations:


Upgrade to Go 1.26.4 Go 1.26.4 includes security fixes in crypto/x509, mime, and net/textproto, so this bump should target 1.26.4 rather than 1.26.3.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@go.mod` at line 3, Update the Go toolchain version in go.mod from 1.26.3 to
1.26.4 so the module targets the fixed release. This is a straightforward
version bump in the go directive; keep the rest of the module file unchanged and
ensure any related build or CI references to the Go version stay consistent with
the new version.

@eguzki
eguzki merged commit c2dfc6a into main Jul 2, 2026
18 checks passed
@eguzki
eguzki deleted the upgrade-go-1.26.3 branch July 2, 2026 08:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/dependencies Dependency updates

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants