Skip to content

build(deps): bump github.com/compose-spec/compose-go/v2 from 2.15.0 to 2.16.1 - #5242

Draft
dependabot[bot] wants to merge 2 commits into
mainfrom
dependabot/go_modules/github.com/compose-spec/compose-go/v2-2.16.1
Draft

dependabot[bot] wants to merge 2 commits into
mainfrom
dependabot/go_modules/github.com/compose-spec/compose-go/v2-2.16.1

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Oct 2, 2026

Copy link
Copy Markdown
Contributor

Bumps github.com/compose-spec/compose-go/v2 from 2.15.0 to 2.16.1.

Release notes

Sourced from github.com/compose-spec/compose-go/v2's releases.

v2.16.1

What's Changed

Full Changelog: compose-spec/compose-go@v2.16.0...v2.16.1

v2.16.0

⚠️ Breaking change (Go API)

types.ServiceConfig now embeds types.ContainerSpec and types.WorkloadSpec, shared with the new jobs element and pre_start init containers. Field access is unchanged (svc.Image), but struct literals must now set moved fields through the embedded structs, and code walking ServiceConfig with reflection will see these two embedded structs instead of a flat list of fields:

types.ServiceConfig{Name: "web", ContainerSpec: types.ContainerSpec{Image: "nginx"}}

ServiceConfig.PreStart is now a []types.PreStartHook (was []types.ServiceHook), which embeds a full ContainerSpec; Image and PerReplica are no longer fields of ServiceHook.

The order of keys in the YAML and JSON produced for a service also changes (service-level keys first, then container-level, then workload-level ones). The content is the same, but expected files compared as text need to be regenerated.

What's Changed

New Contributors

Full Changelog: compose-spec/compose-go@v2.15.0...v2.16.0

Commits
  • 32d8d5d override: share the by-key compaction and reject null ipam config items
  • 7ed4d72 override: pin the merge of KEY=VALUE entries that are not interpolated
  • be0aa2f override: compact repeated keys and keep empty lists in KEY=VALUE merge
  • 398bcb3 override: merge KEY=VALUE lists by key so the last entry wins
  • 832c7b5 override: accept a null value when merging a list or mapping attribute
  • 6ec8efb lint: fix gocritic, gofumpt and govet issues
  • 98fd653 loader: reuse deepClone instead of duplicating it as cloneYaml
  • e93a134 loader: merge an extension into the attribute it stands for
  • f33989c loader: pin promotion of extensions before extends merges services
  • 732bdd9 loader: apply !reset and !override to the attribute an extension stands for
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file go Pull requests that update Go code labels Oct 2, 2026
Bumps [github.com/compose-spec/compose-go/v2](https://github.com/compose-spec/compose-go) from 2.15.0 to 2.16.1.
- [Release notes](https://github.com/compose-spec/compose-go/releases)
- [Commits](compose-spec/compose-go@v2.15.0...v2.16.1)

---
updated-dependencies:
- dependency-name: github.com/compose-spec/compose-go/v2
  dependency-version: 2.16.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@AkihiroSuda
AkihiroSuda force-pushed the dependabot/go_modules/github.com/compose-spec/compose-go/v2-2.16.1 branch from 9791e5e to c6274de Compare October 2, 2026 21:20
compose-go v2.16 moved most ServiceConfig fields into the embedded
ContainerSpec and WorkloadSpec structs. UnknownNonEmptyFields only
looked at top-level fields, so every service produced a bogus
"Ignoring: service X: [ContainerSpec WorkloadSpec]" warning, and the
actually unsupported fields (e.g. MacAddress) were no longer named.

Walk embedded structs so that promoted fields are checked by their own
names, matching Go's field promotion.

Assisted-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
@AkihiroSuda
AkihiroSuda marked this pull request as draft October 2, 2026 21:27
@AkihiroSuda AkihiroSuda added this to the v2.5.0 (tentative) milestone Oct 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/compose dependencies Pull requests that update a dependency file go Pull requests that update Go code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant