Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 10 additions & 10 deletions go.mod
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
module github.com/flanksource/commons

go 1.25.1
go 1.26.0

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Description: Verify Go version and check if there are any version-specific constraints in the codebase.

# Check if build/test constraints reference Go 1.25 or earlier versions
rg '//go:build.*go1\.' --type go | grep -E 'go1\.(2[0-4]|1[0-9])' || echo "No old Go version constraints found"

# Look for deprecated API usage or compat wrappers
rg 'deprecated|TODO.*Go 1\.26|FIXME.*version' --type go | head -20

Repository: flanksource/commons

Length of output: 1990


🌐 Web query:

Go 1.26.0 release version compatibility

💡 Result:

Go 1.26 maintains the Go 1 compatibility promise, meaning almost all existing Go programs will continue to compile and run unchanged [1]. As with all Go releases, this commitment ensures that source-level compatibility is preserved for the lifetime of the Go 1 specification [2]. Key aspects of Go 1.26 compatibility and version management include: Module Compatibility: When you run go mod init, Go 1.26 defaults to specifying a lower Go version (go 1.25.0) in new go.mod files to encourage the creation of modules compatible with currently supported Go releases [1][3]. Toolchain Enforcement: The go version specified in a go.mod file acts as a mandatory minimum requirement for the toolchain [4][5]. A Go 1.26 toolchain will refuse to build code that requires a newer version (e.g., go 1.27) [5]. Bootstrapping Requirements: Go 1.26 requires Go 1.24.6 or later for bootstrapping [1]. OS Compatibility: Go 1.26 is the final release to support macOS 12 (Monterey); subsequent releases (starting with Go 1.27) will require macOS 13 (Ventura) or later [1][3]. GODEBUG Settings: Go 1.26 continues the practice of using GODEBUG settings to manage behavioral changes [6]. If a program's go.mod file specifies an older Go version, the toolchain will default to the behavior associated with that older version for GODEBUG-controlled features [6]. As of June 23, 2026, the latest release in the 1.26 branch is Go 1.26.4, released on June 2, 2026 [7][8][3]. Minor releases such as 1.26.x are fully compatible with each other and primarily contain security and bug fixes [7].

Citations:


🌐 Web query:

Go 1.25.1 to 1.26 breaking changes upgrade

💡 Result:

Upgrading from Go 1.25.1 to Go 1.26 (latest version as of June 23, 2026, is Go 1.26.4) is generally straightforward due to the Go 1 compatibility promise [1][2][3]. Most existing programs will continue to compile and run without modification [1][4]. Key Changes and Potential Impact Areas While the release is mostly additive, developers should be aware of the following changes: Tooling and Commands - The go doc tool (cmd/doc) has been removed [1][5]. Developers should use go doc directly, which replaces the former command with identical behavior [1][4]. - The go fix command has been completely rewritten to use the Go analysis framework [2][5]. Historical, obsolete fixers have been replaced by a suite of modernizers designed to suggest idiomatic updates to your code [2][5]. Library and Behavioral Changes - URL Parsing: The url.Parse function now rejects malformed URLs containing colons in the path subcomponent, such as http://host/path:with:colon [1]. - HTTP Proxy: The ReverseProxy.Director configuration field is now deprecated in favor of ReverseProxy.Rewrite [1]. - Go Module Init: The go mod init command now defaults to a lower Go version in new go.mod files to encourage broader compatibility [1][6]. For a toolchain version 1.N.X, it defaults to go 1.(N-1).0 [1][5]. Platform Support - Bootstrap Requirement: Go 1.26 requires Go 1.24.6 or later for bootstrapping [5][6]. - macOS Support: Go 1.26 is the final release supporting macOS 12 Monterey; Go 1.27 will require macOS 13 Ventura or later [6]. - Port Removal: The 32-bit windows/arm port (GOOS=windows, GOARCH=arm), which was previously marked as broken, has been removed [6]. For a complete list of updates, including new packages (such as crypto/hpke) and performance improvements (such as the enabled-by-default Green Tea garbage collector), refer to the official Go 1.26 Release Notes [1][2].

Citations:


Update Go version to 1.26.0 and verify build constraints and platform-specific code.

Updating the Go directive from 1.25.1 to 1.26.0 is generally safe due to the Go 1 compatibility promise; however, verify that:

  • The codebase does not target the removed 32-bit windows/arm platform
  • Code does not rely on removed tools like cmd/doc
  • Any HTTP reverse proxy code does not depend on the deprecated ReverseProxy.Director field
  • URL parsing does not depend on accepting malformed URLs with colons in paths

Run tests with Go 1.26.0 to confirm all functionality works as expected. The coding guidelines' requirement for Go 1.23.0+ is satisfied.

🤖 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 directive to 1.26.0 and then verify the
codebase is compatible with that toolchain. Check build tags and any
platform-specific code paths for removed 32-bit windows/arm support, scan for
dependencies on removed tools like cmd/doc, and review any reverse proxy logic
that may still rely on ReverseProxy.Director or permissive URL parsing with
colons in paths. Use the relevant build-constraint files and any reverse proxy
or URL parsing symbols in the diff to locate and confirm the affected code, then
run the test suite under Go 1.26.0.


require (
github.com/aws/aws-sdk-go-v2 v1.41.1
Expand Down Expand Up @@ -80,8 +80,8 @@ require (
github.com/deckarep/golang-set/v2 v2.8.0 // indirect
github.com/distribution/reference v0.6.0 // indirect
github.com/dlclark/regexp2 v1.11.5 // indirect
github.com/flanksource/gomplate/v3 v3.24.81 // indirect
github.com/flanksource/is-healthy v1.0.87 // indirect
github.com/flanksource/gomplate/v3 v3.24.84 // indirect
github.com/flanksource/is-healthy v1.0.88 // indirect
github.com/flanksource/kubectl-neat v1.0.4 // indirect
github.com/fxamacker/cbor/v2 v2.9.0 // indirect
github.com/ghodss/yaml v1.0.0 // indirect
Expand Down Expand Up @@ -146,12 +146,12 @@ require (
gopkg.in/inf.v0 v0.9.1 // indirect
gopkg.in/sourcemap.v1 v1.0.5 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
k8s.io/api v0.35.2 // indirect
k8s.io/apiextensions-apiserver v0.35.2 // indirect
k8s.io/apimachinery v0.35.2 // indirect
k8s.io/client-go v0.35.2 // indirect
k8s.io/klog/v2 v2.130.1 // indirect
k8s.io/kube-openapi v0.0.0-20260304202019-5b3e3fdb0acf // indirect
k8s.io/api v0.36.1 // indirect
k8s.io/apiextensions-apiserver v0.36.1 // indirect
k8s.io/apimachinery v0.36.1 // indirect
k8s.io/client-go v0.36.1 // indirect
k8s.io/klog/v2 v2.140.0 // indirect
k8s.io/kube-openapi v0.0.0-20260317180543-43fb72c5454a // indirect
k8s.io/utils v0.0.0-20260210185600-b8788abfbbc2 // indirect
layeh.com/gopher-json v0.0.0-20201124131017-552bb3c4c3bf // indirect
sigs.k8s.io/gateway-api v1.5.0 // indirect
Expand Down Expand Up @@ -188,7 +188,7 @@ require (
golang.org/x/sys v0.41.0 // indirect
golang.org/x/text v0.34.0 // indirect
golang.org/x/tools v0.42.0 // indirect
google.golang.org/protobuf v1.36.11 // indirect
google.golang.org/protobuf v1.36.12-0.20260120151049-f2248ac996af // indirect

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🩺 Stability & Availability | 🟠 Major

🧩 Analysis chain

🌐 Web query:

What is the latest released version of google.golang.org/protobuf?

💡 Result:

The latest released version of the google.golang.org/protobuf module is v1.36.11 [1][2][3]. This version was published on December 12, 2025 [1][3].

Citations:


🌐 Web query:

google.golang.org/protobuf v1.36.12 release status 2026

💡 Result:

As of June 23, 2026, there is no official release of google.golang.org/protobuf version v1.36.12 [1]. While various pseudo-versions (e.g., v1.36.12-0.20260120151049-f2248ac996af) exist in the Go module proxy ecosystem, these are development snapshots or commit-based tags rather than an official stable release [2][3][4]. The most recent official stable release listed in the project's repository is v1.36.11, published on December 12, 2025 [4][1]. The lack of an official v1.36.12 release has been noted by the community, with inquiries regarding its status appearing in official issue trackers as recently as April 2026 [5].

Citations:


Use the stable release v1.36.11 instead of the pseudo-version for google.golang.org/protobuf.

Line 191 pins google.golang.org/protobuf to v1.36.12-0.20260120151049-f2248ac996af, a pseudo-version representing an unreleased development snapshot. No official v1.36.12 release exists; the latest stable version is v1.36.11 (released December 12, 2025). Pseudo-versions should be avoided in production dependencies unless there is a specific fix required from the development code that is not available in a stable release. Replace with v1.36.11 or the actual release version needed.

🤖 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 191, In the go.mod file, locate the
google.golang.org/protobuf dependency which is currently pinned to the
pseudo-version v1.36.12-0.20260120151049-f2248ac996af. Replace this
pseudo-version with the stable release version v1.36.11, which is the latest
officially released version available. Pseudo-versions representing development
snapshots should not be used in production dependencies unless absolutely
necessary for a specific unreleased fix.

)

// replace github.com/flanksource/clicky => ../clicky
36 changes: 18 additions & 18 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -99,10 +99,10 @@ github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM=
github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU=
github.com/flanksource/clicky v1.21.1 h1:Vk/q39QFCp+BEvX+mVfoeyfVP4IvLs18DlI5gMBLRbs=
github.com/flanksource/clicky v1.21.1/go.mod h1:Wg30x88982ejUzKqtw+Sm7UMRHTB8bnIQBXHi9s54RU=
github.com/flanksource/gomplate/v3 v3.24.81 h1:/1rm/5O1hBcY1S7GJJd1Nvuzz+KKUdSUo1+OIvRnxL8=
github.com/flanksource/gomplate/v3 v3.24.81/go.mod h1:RzIg+YwNQI0eUV61LtqmhNN2Qw8ebm1cGa6IhNQmkWE=
github.com/flanksource/is-healthy v1.0.87 h1:wSK9wI9tu//gdKO9JxyZe8ZQ5H7MCpwG17KdbWaiMeM=
github.com/flanksource/is-healthy v1.0.87/go.mod h1:xoEeeCamUiW8fGWGyRaGL9NU4xQzou+sgDC5raguDew=
github.com/flanksource/gomplate/v3 v3.24.84 h1:UOE0yCJsczTIKRaHUvhD6tjCYrbNvOugAizuy0FVlhE=
github.com/flanksource/gomplate/v3 v3.24.84/go.mod h1:NMMZkFsjbLy/8iY8Fip5N86Y0PP6lZeq+kmPwpVVIL0=
github.com/flanksource/is-healthy v1.0.88 h1:ATQuKoNdp8Qfzf41/eMFajmT0qzOmZlZNG5eLK41RFo=
github.com/flanksource/is-healthy v1.0.88/go.mod h1:faa7yhEtdftTiMxg9Cp2bZ/fGaaB04KSjEm+bkghyY0=
github.com/flanksource/kubectl-neat v1.0.4 h1:t5/9CqgE84oEtB0KitgJ2+WIeLfD+RhXSxYrqb4X8yI=
github.com/flanksource/kubectl-neat v1.0.4/go.mod h1:Un/Voyh3cmiZNKQrW/TkAl28nAA7vwnwDGVjRErKjOw=
github.com/fsnotify/fsnotify v1.9.0 h1:2Ml+OJNzbYCTzsxtv8vKSFD9PbJjmhYF14k/jKC7S9k=
Expand Down Expand Up @@ -468,8 +468,8 @@ google.golang.org/genproto/googleapis/api v0.0.0-20260226221140-a57be14db171 h1:
google.golang.org/genproto/googleapis/api v0.0.0-20260226221140-a57be14db171/go.mod h1:M5krXqk4GhBKvB596udGL3UyjL4I1+cTbK0orROM9ng=
google.golang.org/genproto/googleapis/rpc v0.0.0-20260226221140-a57be14db171 h1:ggcbiqK8WWh6l1dnltU4BgWGIGo+EVYxCaAPih/zQXQ=
google.golang.org/genproto/googleapis/rpc v0.0.0-20260226221140-a57be14db171/go.mod h1:4Hqkh8ycfw05ld/3BWL7rJOSfebL2Q+DVDeRgYgxUU8=
google.golang.org/protobuf v1.36.11 h1:fV6ZwhNocDyBLK0dj+fg8ektcVegBBuEolpbTQyBNVE=
google.golang.org/protobuf v1.36.11/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco=
google.golang.org/protobuf v1.36.12-0.20260120151049-f2248ac996af h1:+5/Sw3GsDNlEmu7TfklWKPdQ0Ykja5VEmq2i817+jbI=
google.golang.org/protobuf v1.36.12-0.20260120151049-f2248ac996af/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
Expand All @@ -487,18 +487,18 @@ gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gotest.tools/v3 v3.5.2 h1:7koQfIKdy+I8UTetycgUqXWSDwpgv193Ka+qRsmBY8Q=
gotest.tools/v3 v3.5.2/go.mod h1:LtdLGcnqToBH83WByAAi/wiwSFCArdFIUV/xxN4pcjA=
honnef.co/go/tools v0.1.3/go.mod h1:NgwopIslSNH47DimFoV78dnkksY2EFtX0ajyb3K/las=
k8s.io/api v0.35.2 h1:tW7mWc2RpxW7HS4CoRXhtYHSzme1PN1UjGHJ1bdrtdw=
k8s.io/api v0.35.2/go.mod h1:7AJfqGoAZcwSFhOjcGM7WV05QxMMgUaChNfLTXDRE60=
k8s.io/apiextensions-apiserver v0.35.2 h1:iyStXHoJZsUXPh/nFAsjC29rjJWdSgUmG1XpApE29c0=
k8s.io/apiextensions-apiserver v0.35.2/go.mod h1:OdyGvcO1FtMDWQ+rRh/Ei3b6X3g2+ZDHd0MSRGeS8rU=
k8s.io/apimachinery v0.35.2 h1:NqsM/mmZA7sHW02JZ9RTtk3wInRgbVxL8MPfzSANAK8=
k8s.io/apimachinery v0.35.2/go.mod h1:jQCgFZFR1F4Ik7hvr2g84RTJSZegBc8yHgFWKn//hns=
k8s.io/client-go v0.35.2 h1:YUfPefdGJA4aljDdayAXkc98DnPkIetMl4PrKX97W9o=
k8s.io/client-go v0.35.2/go.mod h1:4QqEwh4oQpeK8AaefZ0jwTFJw/9kIjdQi0jpKeYvz7g=
k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk=
k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE=
k8s.io/kube-openapi v0.0.0-20260304202019-5b3e3fdb0acf h1:btPscg4cMql0XdYK2jLsJcNEKmACJz8l+U7geC06FiM=
k8s.io/kube-openapi v0.0.0-20260304202019-5b3e3fdb0acf/go.mod h1:kdmbQkyfwUagLfXIad1y2TdrjPFWp2Q89B3qkRwf/pQ=
k8s.io/api v0.36.1 h1:XbL/EMj8K2aJpJtePmqUyQMsM0D4QI2pvl7YKJ20FTY=
k8s.io/api v0.36.1/go.mod h1:KOWo4ey3TINlXjeHVuwB3i+tXXnu+UcwFBHlI/9dvEo=
k8s.io/apiextensions-apiserver v0.36.1 h1:6JfYmPUsuUIHuN+3QxutXYWj492RqF5fBSx67GYK5Ks=
k8s.io/apiextensions-apiserver v0.36.1/go.mod h1:pLzZin90riwisdzKwv/GoTwENooytoIx5zWJb4Hkby8=
k8s.io/apimachinery v0.36.1 h1:G63Gjx2W+q0YD+72Vo8oY0nDnePVwnuzTmmy5ENrVSA=
k8s.io/apimachinery v0.36.1/go.mod h1:ibYOR00vW/I1kzvi5SF0dRuJ52BvKtfvRdOn35GPQ+8=
k8s.io/client-go v0.36.1 h1:FN/K8QIT2CEDt+2WB2HnWrUANZ50AP5GII43/SP2JR0=
k8s.io/client-go v0.36.1/go.mod h1:s6rAnCtTGYDQnpNjEhSaISV+2O8jwruZ6m3QOYBFbtU=
k8s.io/klog/v2 v2.140.0 h1:Tf+J3AH7xnUzZyVVXhTgGhEKnFqye14aadWv7bzXdzc=
k8s.io/klog/v2 v2.140.0/go.mod h1:o+/RWfJ6PwpnFn7OyAG3QnO47BFsymfEfrz6XyYSSp0=
k8s.io/kube-openapi v0.0.0-20260317180543-43fb72c5454a h1:xCeOEAOoGYl2jnJoHkC3hkbPJgdATINPMAxaynU2Ovg=
k8s.io/kube-openapi v0.0.0-20260317180543-43fb72c5454a/go.mod h1:uGBT7iTA6c6MvqUvSXIaYZo9ukscABYi2btjhvgKGZ0=
k8s.io/utils v0.0.0-20260210185600-b8788abfbbc2 h1:AZYQSJemyQB5eRxqcPky+/7EdBj0xi3g0ZcxxJ7vbWU=
k8s.io/utils v0.0.0-20260210185600-b8788abfbbc2/go.mod h1:xDxuJ0whA3d0I4mf/C4ppKHxXynQ+fxnkmQH0vTHnuk=
layeh.com/gopher-json v0.0.0-20201124131017-552bb3c4c3bf h1:rRz0YsF7VXj9fXRF6yQgFI7DzST+hsI3TeFSGupntu0=
Expand Down
Loading