Skip to content

update minimum go version to go1.26 and go fix - #7258

Merged
thaJeztah merged 3 commits into
docker:masterfrom
thaJeztah:bump_go126
Aug 28, 2026
Merged

update minimum go version to go1.26 and go fix#7258
thaJeztah merged 3 commits into
docker:masterfrom
thaJeztah:bump_go126

Conversation

@thaJeztah

@thaJeztah thaJeztah commented Aug 28, 2026

Copy link
Copy Markdown
Member

- What I did

- How I did it

- How to verify it

- Human readable description for the release notes

Update minimum supported Go version to 1.26.

- A picture of a cute animal (not mandatory but encouraged)

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
@thaJeztah thaJeztah added this to the 29.8.0 milestone Aug 28, 2026
@thaJeztah thaJeztah added status/2-code-review kind/refactor PR's that refactor, or clean-up code impact/changelog area/go-sdk Changes affecting the Go SDK impact/go-sdk Noteworthy (compatibility changes) in the Go SDK labels Aug 28, 2026

@docker-agent docker-agent left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Review incomplete

chunk 1: Drafter did not complete

Findings so far: ⚠️ INCOMPLETE

@codecov-commenter

Copy link
Copy Markdown

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
@thaJeztah
thaJeztah marked this pull request as ready for review August 28, 2026 19:37
@thaJeztah
thaJeztah requested review from a team and silvin-lubecki as code owners August 28, 2026 19:37
@thaJeztah
thaJeztah requested review from docker-agent and vvoland and a lite review from Copilot August 28, 2026 19:38

@docker-agent docker-agent left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Review incomplete

chunk 1: Drafter did not complete

Findings so far: ⚠️ INCOMPLETE

The automated analysis agent encountered an error and was unable to complete reviewing the diff for this PR. The drafter delegation failed (HTTP 400 from the model API). Manual review is required for the 100 changed files in this PR.

@docker-agent docker-agent left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Review incomplete

chunk 1: Drafter did not complete

The drafter sub-agent encountered a schema validation error on all three delegation attempts (HTTP 400: output_config.format.schema — unsupported regex feature) and could not analyze the diff. This is an infrastructure issue, not a code problem.

Findings so far: ⚠️ INCOMPLETE

@docker-agent docker-agent left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Review incomplete

chunk 1: Drafter did not complete — the drafter sub-agent returned an HTTP 400 schema validation error on both delegation attempts, indicating a platform-side bug in the drafter agent's output schema. The diff was not analyzed by the drafter.

Findings so far: ⚠️ INCOMPLETE


Note for maintainers: The automated review pipeline could not produce findings for this PR due to a drafter agent failure (HTTP 400: output_config.format.schema: Unsupported regex feature in pattern field). This is a tooling issue, not a code issue. Manual review of the diff is recommended. Based on direct orchestrator inspection, the PR consists of mechanical go fix transformations: (1) build-tag bumps go1.25 → go1.26, (2) errors.Aserrors.AsType (generic form), (3) json:",omitempty" removal from struct-value fields (where it was previously a no-op), and (4) new(T(x)) simplifications. No functional regressions were identified in the orchestrator's preliminary scan.

Copilot AI 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.

Pull request overview

This pull request bumps the repository’s minimum supported Go version to Go 1.26 and applies Go 1.26 “gofix”-style updates across the codebase (notably build constraints and modernized error type assertions).

Changes:

  • Update vendor.mod to declare Go 1.26.
  • Update/introduce //go:build go1.26 constraints across many packages to prevent language-version downgrades in this non-module repo layout.
  • Apply Go 1.26-era fixes/refactors (e.g., errors.AsType[...] usage and related small cleanups).

Reviewed changes

Copilot reviewed 122 out of 122 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
vendor.mod Bump declared Go version to 1.26.
templates/templates.go Update go:build constraint to go1.26.
opts/swarmopts/port.go Update build constraint; switch to errors.AsType[...] for typed error extraction.
opts/swarmopts/port_test.go Update go:build constraint to go1.26.
opts/opts.go Update go:build constraint to go1.26.
opts/network.go Add go:build go1.26 constraint; switch to errors.AsType[...].
opts/gpus.go Add go:build go1.26 constraint; switch to errors.AsType[...].
internal/volumespec/volumespec.go Update go:build constraint to go1.26.
internal/tui/str.go Update go:build constraint to go1.26.
internal/tui/output.go Update go:build constraint to go1.26.
internal/tui/note.go Update go:build constraint to go1.26.
internal/tui/count.go Update go:build constraint to go1.26.
internal/tui/colors.go Update go:build constraint to go1.26.
internal/tui/chip.go Update go:build constraint to go1.26.
internal/test/strings.go Update go:build constraint to go1.26.
internal/registryclient/fetcher.go Add go:build go1.26 constraint; switch to errors.AsType[...] for protocol error handling.
internal/registry/errors.go Update go:build constraint; switch to errors.AsType[...] for *url.Error.
internal/registry/config.go Update go:build constraint to go1.26.
internal/oauth/api/api.go Update go:build constraint to go1.26.
cmd/docker/docker.go Update go:build constraint; switch to errors.AsType[...] for exit-code classification.
cmd/docker/builder_test.go Update go:build constraint to go1.26.
cmd/docker-trust/trust/inspect.go Update go:build constraint to go1.26.
cmd/docker-trust/internal/registry/errors.go Update go:build constraint to go1.26.
cmd/docker-trust/internal/registry/config.go Update go:build constraint to go1.26.
cli/streams/stream.go Update go:build constraint to go1.26.
cli/context/store/storeconfig.go Update go:build constraint to go1.26.
cli/context/store/storeconfig_test.go Update go:build constraint to go1.26.
cli/context/store/store.go Update go:build constraint to go1.26.
cli/context/store/store_test.go Update go:build constraint to go1.26.
cli/context/store/metadatastore.go Update go:build constraint to go1.26.
cli/context/store/metadata_test.go Update go:build constraint to go1.26.
cli/connhelper/ssh/ssh.go Add go:build go1.26 constraint; switch to errors.AsType[...] for *url.Error.
cli/connhelper/connhelper.go Update go:build constraint to go1.26.
cli/config/memorystore/store.go Update go:build constraint to go1.26.
cli/config/configfile/file.go Update go:build constraint; switch to errors.AsType[...] for *os.PathError.
cli/compose/types/types.go Update go:build constraint; apply gofix-style pointer/JSON-tag adjustments.
cli/compose/template/template.go Update go:build constraint to go1.26.
cli/compose/template/template_test.go Update go:build constraint to go1.26.
cli/compose/schema/schema.go Update go:build constraint; switch to errors.AsType[...] for schema validation errors.
cli/compose/schema/schema_test.go Update go:build constraint to go1.26.
cli/compose/loader/merge.go Update go:build constraint to go1.26.
cli/compose/loader/merge_test.go Update go:build constraint; apply pointer-literal gofix changes in tests.
cli/compose/loader/loader.go Update go:build constraint to go1.26.
cli/compose/loader/loader_test.go Update go:build constraint; remove old ptr helpers and apply gofix pointer-literal changes.
cli/compose/loader/interpolate.go Update go:build constraint to go1.26.
cli/compose/loader/full-struct_test.go Update go:build constraint; apply pointer-literal gofix changes in tests.
cli/compose/interpolation/interpolation.go Update go:build constraint to go1.26.
cli/compose/interpolation/interpolation_test.go Update go:build constraint to go1.26.
cli/compose/convert/service.go Update go:build constraint; adjust pointer helpers and small defaults handling.
cli/compose/convert/service_test.go Apply pointer-literal gofix changes in tests.
cli/command/volume/inspect.go Update go:build constraint to go1.26.
cli/command/volume/create.go Update go:build constraint to go1.26.
cli/command/volume/create_test.go Update go:build constraint to go1.26.
cli/command/utils.go Update go:build constraint to go1.26.
cli/command/telemetry_docker.go Update go:build constraint to go1.26.
cli/command/system/version.go Adjust JSON tags for server version struct fields.
cli/command/system/pruner/pruner.go Update go:build constraint to go1.26.
cli/command/system/prune.go Update go:build constraint to go1.26.
cli/command/system/inspect.go Update go:build constraint to go1.26.
cli/command/system/info.go Update go:build constraint to go1.26.
cli/command/stack/loader.go Update go:build constraint; switch to errors.AsType[...] for loader error typing.
cli/command/service/update.go Update go:build constraint to go1.26.
cli/command/service/progress/progress.go Update go:build constraint to go1.26.
cli/command/service/opts.go Update go:build constraint to go1.26.
cli/command/service/internal/genericresource/parse.go Update go:build constraint to go1.26.
cli/command/service/inspect.go Update go:build constraint to go1.26.
cli/command/service/inspect_test.go Update go:build constraint to go1.26.
cli/command/service/formatter_test.go Update go:build constraint to go1.26.
cli/command/secret/inspect.go Update go:build constraint to go1.26.
cli/command/secret/formatter.go Update go:build constraint to go1.26.
cli/command/plugin/inspect.go Update go:build constraint to go1.26.
cli/command/plugin/formatter_test.go Update go:build constraint to go1.26.
cli/command/node/update.go Update go:build constraint to go1.26.
cli/command/node/inspect.go Update go:build constraint to go1.26.
cli/command/node/formatter_test.go Update go:build constraint to go1.26.
cli/command/network/inspect.go Update go:build constraint to go1.26.
cli/command/network/formatter.go Update go:build constraint to go1.26.
cli/command/network/formatter_test.go Update go:build constraint to go1.26.
cli/command/network/create_test.go Update tests’ pointer expectations (gofix-style).
cli/command/manifest/annotate.go Update go:build constraint to go1.26.
cli/command/inspect/inspector.go Update go:build constraint to go1.26.
cli/command/image/tree.go Update go:build constraint to go1.26.
cli/command/image/push.go Update go:build constraint to go1.26.
cli/command/image/list.go Update go:build constraint to go1.26.
cli/command/image/inspect.go Update go:build constraint to go1.26.
cli/command/image/build.go Add go:build go1.26 constraint; switch to errors.AsType[...] for JSON stream error handling.
cli/command/idresolver/idresolver.go Update go:build constraint to go1.26.
cli/command/formatter/volume.go Update go:build constraint to go1.26.
cli/command/formatter/volume_test.go Update go:build constraint to go1.26.
cli/command/formatter/reflect.go Update go:build constraint to go1.26.
cli/command/formatter/reflect_test.go Update go:build constraint to go1.26.
cli/command/formatter/formatter.go Update go:build constraint to go1.26.
cli/command/formatter/formatter_test.go Update go:build constraint to go1.26.
cli/command/formatter/displayutils.go Update go:build constraint to go1.26.
cli/command/formatter/custom.go Update go:build constraint to go1.26.
cli/command/formatter/container.go Update go:build constraint to go1.26.
cli/command/formatter/container_test.go Update go:build constraint to go1.26.
cli/command/defaultcontextstore.go Update go:build constraint to go1.26.
cli/command/defaultcontextstore_test.go Update go:build constraint to go1.26.
cli/command/context/options.go Add go:build go1.26 constraint; switch to errors.AsType[...] for parse errors.
cli/command/context/list.go Update go:build constraint to go1.26.
cli/command/context/inspect.go Update go:build constraint to go1.26.
cli/command/context/create.go Update go:build constraint to go1.26.
cli/command/context/create_test.go Update go:build constraint to go1.26.
cli/command/context/completion.go Update go:build constraint to go1.26.
cli/command/context.go Update go:build constraint to go1.26.
cli/command/context_test.go Update go:build constraint to go1.26.
cli/command/container/tty.go Update go:build constraint to go1.26.
cli/command/container/stats.go Update go:build constraint to go1.26.
cli/command/container/start.go Add go:build go1.26 constraint; switch to errors.AsType[...] for detach escape handling.
cli/command/container/opts.go Update go:build constraint to go1.26.
cli/command/container/inspect.go Update go:build constraint to go1.26.
cli/command/container/completion.go Update go:build constraint to go1.26.
cli/command/config/inspect.go Update go:build constraint to go1.26.
cli/command/config/formatter.go Update go:build constraint to go1.26.
cli/command/cli.go Update go:build constraint to go1.26.
cli-plugins/plugin/plugin.go Add go:build go1.26 constraint; switch to errors.AsType[...] for cli.StatusError.
cli-plugins/manager/plugin.go Add go:build go1.26 constraint; switch to errors.AsType[...] for *exec.ExitError.
cli-plugins/manager/hooks.go Update go:build constraint to go1.26.
cli-plugins/manager/error.go Update go:build constraint to go1.26.
cli-plugins/hooks/template.go Update go:build constraint to go1.26.
cli-plugins/hooks/hook_types.go Update go:build constraint to go1.26.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread vendor.mod
// around SemVer, which this repo cannot abide by as it uses CalVer.

go 1.25.0
go 1.26

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

We can update it once we update dependencies and code in that module.

@thaJeztah
thaJeztah merged commit 84d70fb into docker:master Aug 28, 2026
104 of 107 checks passed
@thaJeztah
thaJeztah deleted the bump_go126 branch August 28, 2026 19:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/go-sdk Changes affecting the Go SDK impact/changelog impact/go-sdk Noteworthy (compatibility changes) in the Go SDK kind/refactor PR's that refactor, or clean-up code status/2-code-review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants