8000 Prepare release notes for v2.0.0-alpha.0 by dmcgowan · Pull Request #50651 · moby/moby · GitHub
[go: up one dir, main page]

Skip to content

Conversation

dmcgowan
Copy link
Member
@dmcgowan dmcgowan commented Aug 6, 2025

Generate notes below using release-tool -g --skip-commits -n -t v2.0.0-alpha.0 ./releases/v2.0.0-alpha.toml


moby 2.0.0-alpha.0

Welcome to the v2.0.0-alpha.0 release of moby!
This is a pre-release of moby

The first release of the Moby Go module and v2 release. This represents a major
change to the code organization, completing the rename to github.com/moby/moby.

While this completes the transition to Go modules for Moby, importers
who are using github.com/docker/docker should update to use the
github.com/moby/moby/api and github.com/moby/moby/client modules rather than
continuing to use the github.com/docker/docker import paths.

Highlights

Changes affecting the Go SDK

  • client: fix datarace when accessing cli.Version field (#50448)
  • client: define default (and maximum) API version (#50433)
  • daemon: define default (and maximum) API version (#50436)
  • api/types: remove deprecated aliases (#50452)
  • api: deprecate NoBaseImageSpecifier (#50437)
  • api/types/registry: EncodeAuthConfig: use empty string for zero value (#50426)
  • pkg/* remove deprecated functions and packages (#50208)
  • api/types/container: remove deprecated ContainerUpdateOKBody, ContainerTopOKBody (#50400)
  • registry: remove deprecated HostCertsDir() and SetCertsDir() (#50373)
  • daemon/container: remove deprecated types and functions (#50378)
  • registry: remove deprecated APIEndpoint fields (#50376)
  • api/types/registry: remove deprecated fields for non-distributable artifacts (#50375)
  • registry: remove deprecated Service.ResolveRepository() (#50374)
  • Remove client buildkit dep (#50318)
  • api/types/container: deprecate ExecOptions.Detach (#50218)
  • pkg/idtools: deprecate IdentityMapping, Identity.Chown (#50209)

Issues affecting buildkit

  • build: device entitlement support (#50386)
  • vendor: update buildkit to v0.23.1 (#50238)
  • vendor: update buildkit to v0.23.0-rc2 (#50214)

Rootless mode

  • dockerd-rootless-setuptool.sh: Fix silent stop on error due to using output redirection together wit… (#50059)

api

  • Add HealthStatus attribute on the docker ps command (#50281)
  • api: bump to 1.51 (#50145)
  • api: image inspect: add back fields that did not omitempty (#50135)

authentication

  • Handle error message from token server with containerd backend (#50176)

cli

  • client: Client.doRequest: improve some connection errors (#50285)

contrib

  • contrib: remove syntax (Dockerfile syntax) files (#50606)
  • contrib: remove mkimage-xxx scripts (#50297)
  • openrc: allow customizing containerd service name (#50156)

daemon

  • daemon/config: make DNSConfig.DNS a netip.Addr (#50600)
  • Add support for multiple platforms in image export and load (#50166)
  • Wait for container dependencies upon daemon start up (#50327)
  • daemon/config: Validate: add missing validation for registry mirrors and improve errors (#50233)
  • fix: daemon: state of stopped container visible to other queries when container is stopped (#50136)
  • Added support for AMD GPUs in "docker run --gpus". (#49952)

dependencies

  • Update to go1.24.5 (#50353)
  • vendor: update buildkit to v0.23.2 (#50305)
  • vendor: github.com/moby/buildkit v0.23.0 (#50222)
  • vendor: github.com/moby/buildkit v0.23.0-rc1 (#50174)
  • update to go1.24.4 (#50153)

distribution

  • c8d/push: Fix fallback single-manifest push not creating a tag (#50199)

docs

  • docs: api: improve the docs of the outputs parameter (#50338)

images

  • daemon: Fix mounting same image multiple times with different destinations (#50268)
  • image/tarexport: remove suport for loading v0/v1 images (#50324)
  • api/image/list: Return Containers count (#50146)

networking

  • windows: include labels when re-creating non-default nat networks (#50447)
  • Windows: don't try to load "mirrored" network plugin (#50155)
  • Only "prune" Windows networks created by Docker (#50154)

networking/d/bridge

  • Add option --bridge-accept-fwmark (#50476)
  • Drop DOCKER-ISOLATION rules (#49981)

networking/d/overlay

  • libnetwork, libn/d/overlay: handle coalesced updates from NetworkDB (#50393)
  • libnetwork/d/overlay: fix logical race conditions (#50260)
  • libn/networkdb: stop forging tombstone entries (#50342)
  • libnetwork/networkdb: prioritize local table broadcasts over event rebroadcasts (#50193)
  • libnetwork/networkdb: always shut down memberlist (#50115)
  • Set EnableIPv4=true in overlay network inspect response (#50147)

networking/firewalld

  • libnet/d/bridge: handleFirewalldReloadNw: fix deadlock (#50620)
  • libnetwork/d/{bridge,overlay}: fix firewalld reload handling (#50443)

networking/firewalling

  • iptables: remove deprecated SCTP checksum rule (#50539)

networking/portmapping

  • Always allow access to published ports on addresses in gateway mode "routed" networks (#50140)
  • Avoid selecting duplicate host ports for mappings to 0.0.0.0 and specific addresses (#50054)

packaging

  • Dockerfile: update runc binary to v1.3.0 (#50644)

swarm

  • vendor: github.com/moby/swarmkit/v2 v2.0.0-20250613170222-a45be3cac15c (#50202)

Deprecations

  • api/types: move plugin types to api/types/plugin (#48114)
  • contrib: remove syntax (Dockerfile syntax) files (#50606)
  • contrib: remove mac-install-bundle.sh and editorconfig (#50607)
  • api: remove deprecated NoBaseImageSpecifier (#50574)
  • api/types/filters: remove deprecated ToParamWithVersion (#50561)
  • remove pkg/fileutils, and move its functionality where used (#50558)
  • Move logdriver interface (#50554)
  • pkg/system: move to daemon/internal (#50559)
  • pkg/stringid: deprecate, move to daemon, and provide copy in client (#50504)
  • registry: remove deprecated RepositoryInfo.Official, Class fields (#50498)
  • api/types/container: remove deprecated Stats type (#50492)
  • client: remove deprecated types and functions (#50485)
  • profiles/apparmor, seccomp: migrate to separate module (#50481)
  • deprecate pkg/stdcopy, move to api/stdcopy (#50462)
  • oci: deprecate SetCapabilities, and some minor cleanups/fixes (#50461)
  • pkg/idtools: remove deprecated functions and types (#50456)
  • api/types: remove deprecated aliases (#50452)
  • api: deprecate NoBaseImageSpecifier (#50437)
  • pkg/* remove deprecated functions and packages (#50208)
  • api/types/container: remove deprecated ContainerUpdateOKBody, ContainerTopOKBody (#50400)
  • pkg/system: deprecate EscapeArgs, IsAbs and move them internal (#50399)
  • registry: remove deprecated HostCertsDir() and SetCertsDir() (#50373)
  • daemon/container: remove deprecated types and functions (#50378)
  • daemon/graphdriver: remove deprecated GetDriver(), redundant init(), and leftovers for graphdriver-plugins (#50377)
  • registry: remove deprecated APIEndpoint fields (#50376)
  • api/types/registry: remove deprecated fields for non-distributable artifacts (#50375)
  • registry: remove deprecated Service.ResolveRepository() (#50374)
  • Remove client buildkit dep (#50318)
  • image/tarexport: remove suport for loading v0/v1 images (#50324)
  • contrib: remove mkimage-xxx scripts (#50297)
  • api/types/container: deprecate ExecOptions.Detach (#50218)
  • pkg/idtools: deprecate IdentityMapping, Identity.Chown (#50209)

Please try out the release binaries and report any issues at
https://github.com/moby/moby/issues.

Contributors

  • Sebastiaan van Stijn
  • Derek McGowan
  • Paweł Gronowski
  • Rob Murray
  • Cory Snider
  • Albin Kerouanton
  • Akihiro Suda
  • Matthieu MOREL
  • Austin Vazquez
  • Andrey Epifanov
  • Kevin Alvarez
  • Abubacarr Ceesay
  • Brian Goff
  • Cesar Talledo
  • Jonathan A. Sternberg
  • Muhammad Daffa Dinaya
  • Niel Drummond
  • Tianon Gravi
  • Tõnis Tiigi
  • 纯真
  • Adrien Pompée
  • Alessio Perugini
  • Jiří Moravčík
  • Marat Abrarov
  • Maria Glushenok
  • Medhy DOHOU
  • Nicolas De Loof
  • Olli Janatuinen
  • Serhan Tutar
  • Shang Mu
  • Sudheendra Gopinath
  • Viacheslav Gagara
  • carsontham

Dependency Changes

  • cloud.google.com/go/compute/metadata v0.5.2 -> v0.6.0
  • cloud.google.com/go/longrunning v0.5.4 -> v0.5.5
  • code.cloudfoundry.org/clock v1.1.0 -> v1.37.0
  • dario.cat/mergo v1.0.1 -> v1.0.2
  • github.com/Microsoft/hcsshim v0.12.9 -> v0.13.0
  • github.com/containerd/console v1.0.4 -> v1.0.5
  • github.com/containerd/containerd/v2 v2.0.5 -> v2.1.4
  • github.com/containerd/nydus-snapshotter v0.15.0 -> v0.15.2
  • github.com/containernetworking/cni v1.2.3 -> v1.3.0
  • github.com/containernetworking/plugins v1.6.2 -> v1.7.1
  • github.com/docker/docker v28.3.3 new
  • github.com/docker/go-events e31b211e4f1c -> c867878c5e32
  • github.com/fernet/fernet-go 9f70042a33ee -> 303da6aec611
  • github.com/fsnotify/fsnotify v1.7.0 -> v1.9.0
  • github.com/grpc-ecosystem/grpc-gateway/v2 v2.22.0 -> v2.26.1
  • github.com/in-toto/in-toto-golang v0.5.0 -> v0.9.0
  • github.com/ishidawataru/sctp 7ff4192f6ff2 -> 1989182a9425
  • github.com/miekg/dns v1.1.61 -> v1.1.66
  • github.com/moby/buildkit v0.22.0 -> v0.23.2
  • github.com/moby/profiles/apparmor v0.1.0 new
  • github.com/moby/profiles/seccomp v0.1.0 new
  • github.com/moby/swarmkit/v2 8c1959736554 -> v2.0.0
  • github.com/montanaflynn/stats v0.7.1 new
  • github.com/opencontainers/cgroups v0.0.2 -> v0.0.4
  • github.com/pelletier/go-toml/v2 v2.2.3 -> v2.2.4
  • github.com/prometheus/client_golang v1.20.5 -> v1.22.0
  • github.com/prometheus/common v0.55.0 -> v0.62.0
  • github.com/secure-systems-lab/go-securesystemslib v0.4.0 -> v0.6.0
  • github.com/spdx/tools-golang v0.5.3 -> v0.5.5
  • github.com/tonistiigi/fsutil 3f76f8130144 -> 586307ad452f
  • github.com/tonistiigi/go-actions-cache 3e9a6642607f -> 378c5ed1ddd9
  • github.com/tonistiigi/go-csvvalue ddb21b71c0b4 -> 030d3b2625d0
  • go.etcd.io/bbolt v1.3.11 -> v1.4.0
  • go.opentelemetry.io/auto/sdk v1.1.0 new
  • go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.56.0 -> v0.60.0
  • go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.56.0 -> v0.60.0
  • go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 -> v0.60.0
  • go.opentelemetry.io/otel v1.31.0 -> v1.35.0
  • go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.31.0 -> v1.35.0
  • go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.31.0 -> v1.35.0
  • go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.31.0 -> v1.35.0
  • go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.31.0 -> v1.35.0
  • go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.31.0 -> v1.35.0
  • go.opentelemetry.io/otel/metric v1.31.0 -> v1.35.0
  • go.opentelemetry.io/otel/sdk v1.31.0 -> v1.35.0
  • go.opentelemetry.io/otel/sdk/metric v1.31.0 -> v1.35.0
  • go.opentelemetry.io/otel/trace v1.31.0 -> v1.35.0
  • go.opentelemetry.io/proto/otlp v1.3.1 -> v1.5.0
  • golang.org/x/sync v0.13.0 -> v0.14.0
  • golang.org/x/sys v0.32.0 -> v0.33.0
  • golang.org/x/tools v0.27.0 -> v0.32.0
  • google.golang.org/api v0.155.0 -> v0.160.0
  • google.golang.org/genproto ef4313101c80 -> 6ceb2ff114de
  • google.golang.org/genproto/googleapis/api 324edc3d5d38 -> 56aae31c358a
  • google.golang.org/genproto/googleapis/rpc 324edc3d5d38 -> 56aae31c358a
  • google.golang.org/grpc v1.69.4 -> v1.72.2
  • google.golang.org/protobuf v1.35.2 -> v1.36.6
  • pgregory.net/rapid v1.2.0 new

Previous release can be found at v28.2.2

Copy link
Contributor
@austinvazquez austinvazquez left a comment

Choose a reason for hiding this comment

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

👍🏼 on the tag format and creating a pre-release for folks to start testing.


My thoughts on the release notes,

deprecations

  • vendor: github.com/moby/buildkit v0.23.0 (#50222)
  • vendor: github.com/moby/buildkit v0.23.0-rc1 (#50174)

IDK if this is something the tool can easily catch, but I would axe the release candidate bump from highlights. Users only really care about the end state.

api

Do we need to touch up our labels to fix the capitalization of the area headers?

networking

We might could look at having the tool parse the labels with subheaders and grouping them under a single header then the subheader. WDYT?

i.e.

networking

...

bridge

...

Generate notes below using release-tool -g --skip-commits -n -t v2.0.0-alpha.0 ./releases/v2.0.0-alpha.toml

Oh, I like that you included this. Gonna steal that from you. 😄

@sparrc
Copy link
Contributor
sparrc commented Aug 7, 2025

This might be a problem for consumers of docker engine who are expecting the version number to always increase. For example our package's spec file has a line like docker >= 20.10 : https://github.com/aws/amazon-ecs-agent/blob/27277fdc20fb756f3fe0a71183318f949daf341d/packaging/amazon-linux-ami-integrated/ecs-agent.spec#L53

I'm not sure what would be the answer here for those of us who need to, for example, ensure that our package is installed with a version newer than 20.10.

Is there any chance you can reconsider undoing the monotonic assumption that docker's version number will always increase?

@dmcgowan
Copy link
Member Author
dmcgowan commented Aug 8, 2025

Is there any chance you can reconsider undoing the monotonic assumption that docker's version number will always increase?

This is for the github.com/moby/moby/v2 Go module. This does not affect the docker versioning or package numbering. The next planned release for docker is 29.0.

@sparrc
Copy link
Contributor
sparrc commented Aug 8, 2025

Got it, thank you, sorry for the misunderstanding 🙏

@dmcgowan dmcgowan added this to the 29.0.0 milestone Sep 2, 2025
@thompson-shaun thompson-shaun added the release-blocker PRs we want to block a release on label Sep 2, 2025
Signed-off-by: Derek McGowan <derek@mcg.dev>
Signed-off-by: Derek McGowan <derek@mcg.dev>
@dmcgowan dmcgowan force-pushed the prepare-v2.0.0-alpha.0 branch from 9995b95 to 3dec8ce Compare September 5, 2025 20:53
@dmcgowan dmcgowan closed this Sep 5, 2025
Copy link
Member

All the API and client changes are not part of this module, so should not be in the release notes for this module

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
release-blocker PRs we want to block a release on
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants
0