Skip to content

chore: Bump Go version to 1.26#913

Merged
crandles merged 4 commits intotrickstercache:mainfrom
crandles:go-1.26
Feb 16, 2026
Merged

chore: Bump Go version to 1.26#913
crandles merged 4 commits intotrickstercache:mainfrom
crandles:go-1.26

Conversation

@crandles
Copy link
Contributor

@crandles crandles commented Feb 16, 2026

  • Bumping the Go version used by CI/Dockerfile/go.mod.
  • Move golangci-lint to be installed via go get -tool, given it must be rebuilt for each Go version
    • Developers must run make get-tools to install updated linter.

These notes looks relevant to our use cases:

Runtime
New garbage collector
The Green Tea garbage collector, previously available as an experiment in Go 1.25, is now enabled by default after incorporating feedback.

This garbage collector’s design improves the performance of marking and scanning small objects through better locality and CPU scalability. Benchmark results vary, but we expect somewhere between a 10–40% reduction in garbage collection overhead in real-world programs that heavily use the garbage collector. Further improvements, on the order of 10% in garbage collection overhead, are expected when running on newer amd64-based CPU platforms (Intel Ice Lake or AMD Zen 4 and newer), as the garbage collector now leverages vector instructions for scanning small objects when possible.

The new garbage collector may be disabled by setting GOEXPERIMENT=nogreenteagc at build time. This opt-out setting is expected to be removed in Go 1.27. If you disable the new garbage collector for any reason related to its performance or behavior, please file an issue.

Compiler
The compiler can now allocate the backing store for slices on the stack in more situations, which improves performance. If this change is causing trouble, the bisect tool can be used to find the allocation causing trouble using the -compile=variablemake flag. All such new stack allocations can also be turned off using -gcflags=all=-d=variablemakehash=n. If you encounter issues with this optimization, please file an issue.

Signed-off-by: Chris Randles <randles.chris@gmail.com>
@crandles crandles requested a review from a team as a code owner February 16, 2026 15:44
@coveralls
Copy link

coveralls commented Feb 16, 2026

Pull Request Test Coverage Report for Build 22070582892

Details

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage remained the same at 72.063%

Totals Coverage Status
Change from base Build 21880533326: 0.0%
Covered Lines: 14863
Relevant Lines: 20625

💛 - Coveralls

Copy link
Member

@jranson jranson left a comment

Choose a reason for hiding this comment

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

@crandles i think this is missing the update to 1.26 in go.mod

Signed-off-by: Chris Randles <randles.chris@gmail.com>
Signed-off-by: Chris Randles <randles.chris@gmail.com>
@crandles
Copy link
Contributor Author

New flaky test?

=== RUN   TestListenerConnectionLimitWorks/With_connection_limit_of_10
    listener_test.go:229: listen tcp :34002: bind: address already in use
=== RUN   TestListenerConnectionLimitWorks/With_connection_limit_of_1,_but_with_10_clients
--- FAIL: TestListenerConnectionLimitWorks (0.51s)
    --- PASS: TestListenerConnectionLimitWorks/Without_connection_limit (0.00s)
    --- FAIL: TestListenerConnectionLimitWorks/With_connection_limit_of_10 (0.00s)
    --- PASS: TestListenerConnectionLimitWorks/With_connection_limit_of_1,_but_with_10_clients (0.51s)

Signed-off-by: Chris Randles <randles.chris@gmail.com>
@crandles crandles merged commit 3b53da4 into trickstercache:main Feb 16, 2026
7 checks passed
@crandles crandles deleted the go-1.26 branch March 8, 2026 18:57
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.

3 participants