Repository navigation
Upgrade to Go 1.27.2 - #73
Open
tnsardesai wants to merge 1 commit into
Open
tnsardesai wants to merge 1 commit into
tnsardesai wants to merge 1 commit into
Conversation
tnsardesai
marked this pull request as ready for review
October 9, 2026 19:47
Sayan-
approved these changes
Oct 9, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Go 1.25 and older are out of support now that Go 1.27 has shipped. This moves the repo to the latest patch release, Go 1.27.2.
go.modgo 1.25.0go 1.27.2Other places that pin the Go toolchain:
go-version-file: go.modOther changes needed for the upgrade:
go mod tidydropped 106 stalego.sumlines for module versions no longer in the graph.Breaking changes and GODEBUG review
Raising the
goline changes these defaults (none are overridden in this repo, viagodebugblocks,//go:debugorGODEBUGenv):urlstrictcolons=1(url.Parserejects extra colons in the host),cryptocustomrand=0(crypto ignores caller-suppliedrandreaders),tlssecpmlkem=1(SecP256r1MLKEM768/SecP384r1MLKEM1024 on by default)tracebacklabels=1(pprof goroutine labels are printed in tracebacks)Removed outright in 1.27 (new behavior regardless of the
goline):asynctimerchan,gotypesalias,tls10server,tlsrsakex,tls3des,tlsunsafeekm,x509keypairleaf. None are set here.Toolchain changes that apply as soon as 1.27 builds the code:
encoding/jsonruns on the v2 implementation (same behavior, different error text), HTTP/1Response.Body.Closedrains unread bodies,ServeMuxtrailing-slash redirects are 307 (1.26), Green Tea GC is on (1.26),go testruns thestdversionvet check, andgofmtalignment changed slightly.Repo-specific findings:
url.Parse(baseURL)only sees the configured API base URL; malformed hosts with stray colons are now rejected instead of silently accepted.Verification
hypeman-cli:go build ./...pass,go vet ./...pass,go test -short ./...3 ok / 0 failed on 1.27.2 (baseline on the pre-upgrade toolchain: 3 ok / 0 failed)Note
Medium Risk
Raising the Go version enables new runtime/stdlib defaults across networking, TLS, and URL parsing without code changes; tests passed but production edge cases around
url.Parse(baseURL)could surface.Overview
Bumps the module
godirective from 1.25.0 to 1.27.2 so builds and CI (workflows that usego-version-file: go.mod) run on a supported toolchain.go mod tidyshrinksgo.sumby dropping checksums for modules no longer in the dependency graph; directrequireentries ingo.modare otherwise unchanged in this diff.No Go source edits—behavior shifts come from 1.26/1.27 language and runtime defaults (e.g. stricter
url.Parsehost handling for configured API base URLs inpkg/cmd, TLS/crypto defaults,encoding/jsonimplementation). The PR description documents GODEBUG and verification (build,vet,test -short).Reviewed by Cursor Bugbot for commit 576b79f. Bugbot is set up for automated code reviews on this repo. Configure here.