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
10 changes: 5 additions & 5 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@ require (
go.uber.org/mock v0.6.0
golang.org/x/term v0.39.0
golang.org/x/text v0.33.0
google.golang.org/api v0.257.0
google.golang.org/grpc v1.77.0
google.golang.org/api v0.265.0
google.golang.org/grpc v1.78.0
Comment on lines +30 to +31
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🌐 Web query:

google.golang.org/api v0.265.0 release notes changelog breaking changes

💡 Result:

google.golang.org/api v0.265.0 (released 2026-02-04) changelog items are: (1) “Add checksums for single chunk json uploads” and (2) several “Auto-regenerate discovery clients” entries. (chromium.googlesource.com)

Breaking changes: The v0.265.0 section of the project changelog does not include a “⚠ BREAKING CHANGES” heading or any breaking-change entries (i.e., none are called out for this release). (chromium.googlesource.com)

Citations:


🌐 Web query:

google.golang.org/grpc v1.78.0 release notes changelog breaking changes

💡 Result:

google.golang.org/grpc (grpc-go) v1.78.0 — release notes / changelog (Dec 23, 2025)

Breaking / behavior changes

  • Client target URL validation tightened (Go 1.26+): gRPC-Go now rejects target URLs with unbracketed colons in the hostname, aligning with Go’s newer URL validation behavior. This can break clients that previously “worked” with such targets. [1]
  • xds/resolver routing/config handling changed: [1]
    • Drops previous route resources and reports an error when no matching virtual host is found.
    • Only logs LDS/RDS config errors after a successful update, and retains the last valid resource to avoid transient failures.
  • Malformed grpc-status handling: client transport now returns status code Unknown when grpc-status is malformed. [1]

New features

  • OpenTelemetry stats: add grpc.lb.backend_service label to weighted round-robin metrics (gRFC A89). [1]
  • OpenTelemetry stats: add subchannel metrics (intended to eventually replace pick_first metrics). [1]
  • Client: wait for pending goroutines when closing a graceful switch balancer. [1]
  • Client: add experimental.AcceptCompressors to restrict what’s advertised via grpc-accept-encoding. [1]

Bug fixes / performance

  • xDS: fix StringMatcher regex behavior with ignore_case=true. [1]
  • Client connectivity-state and OnFinish invocation fixes for certain stream-creation failures. [1]
  • xdsclient race fix that could lead to resource-not-found errors. [1]
  • mem: pool allocations >1MiB rounded up to nearest 4KiB. [1]

Source: grpc-go “Release 1.78.0” notes on GitHub. [1]

References:
[1] (github.com)

Citations:


Review google.golang.org/grpc v1.78.0 breaking changes before upgrading.

google.golang.org/api v0.265.0 has no breaking changes and the auto-regenerated discovery clients are compatible. However, google.golang.org/grpc v1.78.0 introduces breaking changes that require code review:

  • Target URL validation (Go 1.26+): gRPC now rejects target URLs with unbracketed colons in hostnames. Update any custom client targets if affected.
  • xDS routing/config changes: Virtual host matching and resource retention behavior differs. Update any xDS-based service discovery logic.
  • Malformed grpc-status handling: Client transport now returns Unknown status for malformed headers instead of previous behavior.

Review your codebase for usage of these features and update accordingly.

🤖 Prompt for AI Agents
In `@go.mod` around lines 30 - 31, The grpc dependency bump to
google.golang.org/grpc v1.78.0 introduces breaking changes—review and update any
code that constructs gRPC targets, xDS usage, and status/header handling: search
for grpc.Dial, grpc.DialContext, grpc.WithAuthority, grpc.WithTarget,
grpcurl/target strings and ensure hosts with colons are bracketed or use proper
authority/target options; inspect any xDS/resolver/XDS or package
"google.golang.org/grpc/xds" usages and virtual host/resource retention logic
and update matching/config handling accordingly; and audit places that read
grpc-status/grpc-message from metadata or implement custom transport/status
parsing to handle malformed headers (treat as Unknown) or rely on grpc/status
APIs. Make targeted fixes in those functions/modules to conform to v1.78.0
behavior before committing the go.mod change.

gopkg.in/yaml.v3 v3.0.1
k8s.io/apimachinery v0.34.3
)
Expand All @@ -37,7 +37,7 @@ require (
al.essio.dev/pkg/shellescape v1.6.0 // indirect
cel.dev/expr v0.25.1 // indirect
cloud.google.com/go v0.123.0 // indirect
cloud.google.com/go/auth v0.18.0 // indirect
cloud.google.com/go/auth v0.18.1 // indirect
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

cat -n go.mod | head -50

Repository: openshift-online/ocm-cli

Length of output: 2393


🏁 Script executed:

cat -n go.mod | sed -n '95,105p'

Repository: openshift-online/ocm-cli

Length of output: 743


🏁 Script executed:

cat -n go.mod | sed -n '155,165p'

Repository: openshift-online/ocm-cli

Length of output: 763


🌐 Web query:

cloud.google.com/go/auth v0.18.1 release notes changelog

💡 Result:

cloud.google.com/go/auth v0.18.1 was published 2026-01-21. (pkg.go.dev)

Changelog / release notes (v0.18.1)

Bug fixes

  • Add InternalOptions.TelemetryAttributes (for internal client use). (newreleases.io)
  • Remove singleton and restore normal usage of otelgrpc.clientHandler. (newreleases.io)

Citations:


🌐 Web query:

googleapis/enterprise-certificate-proxy v0.3.11 release notes

💡 Result:

googleapis/enterprise-certificate-proxy v0.3.11 release notes (“What’s Changed”):

  • chore: Update version.txt to v0.3.11 (#176) [1]
  • chore: Update http_proxy logging so it’s enabled via ENABLE_ENTERPRSE_CERTIFICATE_LOGS (#175) [1]
  • feat: Update CODEOWNERS to add Radhika and Nolan (#166) [1]
  • deps: Bump golang.org/x/crypto 0.35.0 → 0.45.0 (#161) [1]
  • deps: Update Go toolchain dependency to Go 1.25 (#144) [1]
  • deps: Update golang.org/x/sys to v0.40.0 (#145) [1]
  • deps: Update golang.org/x/crypto to v0.47.0 (#177) [1]

Sources: [1], [2] (tag/commit metadata for v0.3.11). [1][2]


🌐 Web query:

google.golang.org/genproto rpc 0.0.0-20260128011058 breaking changes

💡 Result:

That pseudo-version (google.golang.org/genproto/googleapis/rpc v0.0.0-20260128011058-8636f8732409, published Jan 28, 2026) is part of the multi-module split of google.golang.org/genproto, where googleapis/rpc is its own submodule (not just a directory in the root module anymore). [1]

What breaks (most common)

“Ambiguous import” / duplicate packages during go mod tidy / builds when your build list contains:

  • an older google.golang.org/genproto root module version that still overlaps with packages that are now provided by submodules, and
  • the new submodule(s) like google.golang.org/genproto/googleapis/rpc.

The go-genproto maintainers warned that after 2024-03-01 the temporary “back-ref” compatibility would be removed, and projects pinned to older root versions would then start hitting ambiguous import errors unless upgraded. [2]

What to do

  • Upgrade the root module to a post-split version (maintainers recommend v0.0.0-20230526161137-0005af68ea54), then tidy:
    • go get google.golang.org/genproto@latest
    • go mod tidy [2]
  • If you directly import RPC protos, depend on the submodule explicitly:
    • go get google.golang.org/genproto/googleapis/rpc@v0.0.0-20260128011058-8636f8732409 [1]
  • Ensure you’re not indirectly pulling an older google.golang.org/genproto root version via other deps; if you are, add/keep an explicit require google.golang.org/genproto ... at a new enough version and re-tidy. [2]

Sources:
[1] pkg.go.dev module page for google.golang.org/genproto/googleapis/rpc at v0.0.0-20260128011058-8636f8732409 (published Jan 28, 2026)
[2] googleapis/go-genproto issue #1015 (“New submodules… avoid ambiguous import errors”, deadline 2024-03-01, recommended minimum version)


Verify genproto module split compatibility and run full test suite.

The cloud.google.com/go/auth v0.18.1 and github.com/googleapis/enterprise-certificate-proxy v0.3.11 upgrades contain only bug fixes and maintenance updates with no breaking changes. However, the google.golang.org/genproto/googleapis/rpc v0.0.0-20260128011058-8636f8732409 dependency is part of a module split where googleapis/rpc is now a separate submodule. This can cause ambiguous import errors if the root google.golang.org/genproto module is outdated. Ensure the root module version is at least v0.0.0-20230526161137-0005af68ea54, then run go mod tidy and verify all tests pass.

🤖 Prompt for AI Agents
In `@go.mod` at line 40, Ensure the root genproto module is updated to at least
google.golang.org/genproto v0.0.0-20230526161137-0005af68ea54 to avoid ambiguous
imports caused by the googleapis/rpc submodule split; update the go.mod
requirement for google.golang.org/genproto accordingly, then run go mod tidy to
reconcile indirect deps (including cloud.google.com/go/auth and
github.com/googleapis/enterprise-certificate-proxy), and run the full test suite
to verify there are no import or compatibility errors.

cloud.google.com/go/auth/oauth2adapt v0.2.8 // indirect
cloud.google.com/go/compute/metadata v0.9.0 // indirect
cloud.google.com/go/monitoring v1.24.3 // indirect
Expand Down Expand Up @@ -97,7 +97,7 @@ require (
github.com/google/pprof v0.0.0-20251206212654-f1b79c6b8239 // indirect
github.com/google/s2a-go v0.1.9 // indirect
github.com/google/uuid v1.6.0 // indirect
github.com/googleapis/enterprise-certificate-proxy v0.3.7 // indirect
github.com/googleapis/enterprise-certificate-proxy v0.3.11 // indirect
github.com/gorilla/css v1.0.1 // indirect
github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c // indirect
github.com/inconshreveable/mousetrap v1.1.0 // indirect
Expand Down Expand Up @@ -156,7 +156,7 @@ require (
golang.org/x/tools v0.41.0 // indirect
google.golang.org/genproto v0.0.0-20251213004720-97cd9d5aeac2 // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20251213004720-97cd9d5aeac2 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20251213004720-97cd9d5aeac2 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20260128011058-8636f8732409 // indirect
google.golang.org/protobuf v1.36.11 // indirect
gopkg.in/inf.v0 v0.9.1 // indirect
k8s.io/klog/v2 v2.130.1 // indirect
Expand Down
20 changes: 10 additions & 10 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ cel.dev/expr v0.25.1 h1:1KrZg61W6TWSxuNZ37Xy49ps13NUovb66QLprthtwi4=
cel.dev/expr v0.25.1/go.mod h1:hrXvqGP6G6gyx8UAHSHJ5RGk//1Oj5nXQ2NI02Nrsg4=
cloud.google.com/go v0.123.0 h1:2NAUJwPR47q+E35uaJeYoNhuNEM9kM8SjgRgdeOJUSE=
cloud.google.com/go v0.123.0/go.mod h1:xBoMV08QcqUGuPW65Qfm1o9Y4zKZBpGS+7bImXLTAZU=
cloud.google.com/go/auth v0.18.0 h1:wnqy5hrv7p3k7cShwAU/Br3nzod7fxoqG+k0VZ+/Pk0=
cloud.google.com/go/auth v0.18.0/go.mod h1:wwkPM1AgE1f2u6dG443MiWoD8C3BtOywNsUMcUTVDRo=
cloud.google.com/go/auth v0.18.1 h1:IwTEx92GFUo2pJ6Qea0EU3zYvKnTAeRCODxfA/G5UWs=
cloud.google.com/go/auth v0.18.1/go.mod h1:GfTYoS9G3CWpRA3Va9doKN9mjPGRS+v41jmZAhBzbrA=
cloud.google.com/go/auth/oauth2adapt v0.2.8 h1:keo8NaayQZ6wimpNSmW5OPc283g65QNIiLpZnkHRbnc=
cloud.google.com/go/auth/oauth2adapt v0.2.8/go.mod h1:XQ9y31RkqZCcwJWNSx2Xvric3RrU88hAYYbjDWYDL+c=
cloud.google.com/go/compute/metadata v0.9.0 h1:pDUj4QMoPejqq20dK0Pg2N4yG9zIkYGdBtwLoEkH9Zs=
Expand Down Expand Up @@ -187,8 +187,8 @@ github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 h1:El6M4kTTCOh6aBiKaU
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ=
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/googleapis/enterprise-certificate-proxy v0.3.7 h1:zrn2Ee/nWmHulBx5sAVrGgAa0f2/R35S4DJwfFaUPFQ=
github.com/googleapis/enterprise-certificate-proxy v0.3.7/go.mod h1:MkHOF77EYAE7qfSuSS9PU6g4Nt4e11cnsDUowfwewLA=
github.com/googleapis/enterprise-certificate-proxy v0.3.11 h1:vAe81Msw+8tKUxi2Dqh/NZMz7475yUvmRIkXr4oN2ao=
github.com/googleapis/enterprise-certificate-proxy v0.3.11/go.mod h1:RFV7MUdlb7AgEq2v7FmMCfeSMCllAzWxFgRdusoGks8=
github.com/googleapis/gax-go/v2 v2.16.0 h1:iHbQmKLLZrexmb0OSsNGTeSTS0HO4YvFOG8g5E4Zd0Y=
github.com/googleapis/gax-go/v2 v2.16.0/go.mod h1:o1vfQjjNZn4+dPnRdl/4ZD7S9414Y4xA+a/6Icj6l14=
github.com/gorilla/css v1.0.1 h1:ntNaBIghp6JmvWnxbZKANoLyuXTPZ4cAMlo6RyhlbO8=
Expand Down Expand Up @@ -570,16 +570,16 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
gonum.org/v1/gonum v0.16.0 h1:5+ul4Swaf3ESvrOnidPp4GZbzf0mxVQpDCYUQE7OJfk=
gonum.org/v1/gonum v0.16.0/go.mod h1:fef3am4MQ93R2HHpKnLk4/Tbh/s0+wqD5nfa6Pnwy4E=
google.golang.org/api v0.257.0 h1:8Y0lzvHlZps53PEaw+G29SsQIkuKrumGWs9puiexNAA=
google.golang.org/api v0.257.0/go.mod h1:4eJrr+vbVaZSqs7vovFd1Jb/A6ml6iw2e6FBYf3GAO4=
google.golang.org/api v0.265.0 h1:FZvfUdI8nfmuNrE34aOWFPmLC+qRBEiNm3JdivTvAAU=
google.golang.org/api v0.265.0/go.mod h1:uAvfEl3SLUj/7n6k+lJutcswVojHPp2Sp08jWCu8hLY=
google.golang.org/genproto v0.0.0-20251213004720-97cd9d5aeac2 h1:stRtB2UVzFOWnorVuwF0BVVEjQ3AN6SjHWdg811UIQM=
google.golang.org/genproto v0.0.0-20251213004720-97cd9d5aeac2/go.mod h1:yJ2HH4EHEDTd3JiLmhds6NkJ17ITVYOdV3m3VKOnws0=
google.golang.org/genproto/googleapis/api v0.0.0-20251213004720-97cd9d5aeac2 h1:7LRqPCEdE4TP4/9psdaB7F2nhZFfBiGJomA5sojLWdU=
google.golang.org/genproto/googleapis/api v0.0.0-20251213004720-97cd9d5aeac2/go.mod h1:+rXWjjaukWZun3mLfjmVnQi18E1AsFbDN9QdJ5YXLto=
google.golang.org/genproto/googleapis/rpc v0.0.0-20251213004720-97cd9d5aeac2 h1:2I6GHUeJ/4shcDpoUlLs/2WPnhg7yJwvXtqcMJt9liA=
google.golang.org/genproto/googleapis/rpc v0.0.0-20251213004720-97cd9d5aeac2/go.mod h1:7i2o+ce6H/6BluujYR+kqX3GKH+dChPTQU19wjRPiGk=
google.golang.org/grpc v1.77.0 h1:wVVY6/8cGA6vvffn+wWK5ToddbgdU3d8MNENr4evgXM=
google.golang.org/grpc v1.77.0/go.mod h1:z0BY1iVj0q8E1uSQCjL9cppRj+gnZjzDnzV0dHhrNig=
google.golang.org/genproto/googleapis/rpc v0.0.0-20260128011058-8636f8732409 h1:H86B94AW+VfJWDqFeEbBPhEtHzJwJfTbgE2lZa54ZAQ=
google.golang.org/genproto/googleapis/rpc v0.0.0-20260128011058-8636f8732409/go.mod h1:j9x/tPzZkyxcgEFkiKEEGxfvyumM01BEtsW8xzOahRQ=
google.golang.org/grpc v1.78.0 h1:K1XZG/yGDJnzMdd/uZHAkVqJE+xIDOcmdSFZkBUicNc=
google.golang.org/grpc v1.78.0/go.mod h1:I47qjTo4OKbMkjA/aOOwxDIiPSBofUtQUI5EfpWvW7U=
google.golang.org/protobuf v1.36.11 h1:fV6ZwhNocDyBLK0dj+fg8ektcVegBBuEolpbTQyBNVE=
google.golang.org/protobuf v1.36.11/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
Expand Down
Loading