diff --git a/engine/release-notes/23.0.md b/engine/release-notes/23.0.md index 05da4c9ad5..e777a378b6 100644 --- a/engine/release-notes/23.0.md +++ b/engine/release-notes/23.0.md @@ -118,8 +118,8 @@ For a full list of pull requests and changes in this release, refer to the relev ### Deprecated - Require Windows Server RS5 / LTSC 2019 (build 17763) as the minimum to run the daemon. [moby/moby#43254](https://github.com/moby/moby/pull/43254) -- Deprecate `BuilderSize` in API versions >= 1.42 [moby/moby#42608](https://github.com/moby/moby/pull/42608) -- Deprecate `BuildCache.Parent` in favor of the newly introduced `BuildCache.Parents` in API version >= 1.42. [moby/moby#43908](https://github.com/moby/moby/pull/43908) +- Deprecate `BuilderSize` on API version >= 1.42. [moby/moby#42608](https://github.com/moby/moby/pull/42608) +- Deprecate `BuildCache.Parent` in favor of the newly introduced `BuildCache.Parents` on API version >= 1.42. [moby/moby#43908](https://github.com/moby/moby/pull/43908) - Deprecate `pkg/urlutil`, moving the implementation to `builder/remotecontext/urlutil`. [moby/moby#43477](https://github.com/moby/moby/pull/43477) ### Upgrades @@ -156,8 +156,8 @@ For a full list of pull requests and changes in this release, refer to the relev - Promote `overlay2` to be the default storage driver (`btrfs` and `zfs` are now opt-in). [moby/moby#42661](https://github.com/moby/moby/pull/42661) - Add a loading spinner to the `docker cp` command. [docker/cli#2708](https://github.com/docker/cli/pull/2708) - Deprecate the `ElectAuthServer` function, and made it return the default registry without calling the `GET /info` API endpoint. [docker/cli#2819](https://github.com/docker/cli/pull/2819) -- Progress bars are no longer reversed when rolling back Swarm services [docker/cli#2940](https://github.com/docker/cli/pull/2940) -- Use `net.JoinHostPort()` to fix formatting with IPv6 addresses [docker/cli#2972](https://github.com/docker/cli/pull/2972) +- Progress bars are no longer reversed when rolling back Swarm services. [docker/cli#2940](https://github.com/docker/cli/pull/2940) +- Use `net.JoinHostPort()` to fix formatting with IPv6 addresses. [docker/cli#2972](https://github.com/docker/cli/pull/2972) - CLI error messages are now printed to `stderr`. [docker/cli#3044](https://github.com/docker/cli/pull/3044) - Improve performance of `docker info` if a custom `--format` is used that only uses local information. With this change, the CLI only uses the daemon API if it detects that information from the daemon is needed. [docker/cli#3179](https://github.com/docker/cli/pull/3179) - Remove the default value from the `--stop-signal` flag, as it may not reflect the actual default used by the daemon. [docker/cli#3245](https://github.com/docker/cli/pull/3245) @@ -171,12 +171,12 @@ For a full list of pull requests and changes in this release, refer to the relev - Add a custom `aliases` annotation that can be used to print all available aliases for a command. [docker/cli#3694](https://github.com/docker/cli/pull/3694) - The CLI no longer creates or updates the CLI configuration file when running `docker context use` and selecting the current context. [docker/cli#3721](https://github.com/docker/cli/pull/3721) - Non-existing contexts are now ignored when running `docker context rm --force`. [docker/cli#3791](https://github.com/docker/cli/pull/3791) -- Add the ability to override integers to `0` in Compose files [docker/cli#3812](https://github.com/docker/cli/pull/3812) +- Add the ability to override integers to `0` in Compose files. [docker/cli#3812](https://github.com/docker/cli/pull/3812) - SIGINT (``) now passes through to running containers instead of causing the CLI to exit. [docker/cli#3849](https://github.com/docker/cli/pull/3849) - Improve `docker port CONTAINER` UX by sorting ports before printing. [docker/cli#3892](https://github.com/docker/cli/pull/3892) - API: `GET /containers/{id}/logs` and `POST /containers/{id}/attach` now report which raw-stream format is in use using the `Content-type` response header on API version >= 1.42. [moby/moby#39812](https://github.com/moby/moby/pull/39812) - Set default sandbox size for Windows layers to 127GB, and ensure that the `--storage-opts` flag applies to all storage on Windows. [moby/moby#41636](https://github.com/moby/moby/pull/41636) -- Remove the plugin section from the containerd configuration file `(/var/run/docker/containerd/containerd.toml)`. [moby/moby#41675](https://github.com/moby/moby/pull/41675) +- Remove the plugin section from the containerd configuration file (`/var/run/docker/containerd/containerd.toml`). [moby/moby#41675](https://github.com/moby/moby/pull/41675) - Reject `null` manifests during tar import. [moby/moby#41842](https://github.com/moby/moby/pull/41842) - Add shim config for custom runtimes for plugins. [moby/moby#41854](https://github.com/moby/moby/pull/41854) - Container health checks now resume when the daemon is restarted. [moby/moby#41935](https://github.com/moby/moby/pull/41935) @@ -236,6 +236,31 @@ The workaround to this issue is to install the `apparmor` package manually: apt-get install apparmor ``` +#### ipvlan networks ([tracking issue](https://github.com/moby/moby/issues/44925)) + +When upgrading to the 23.0 branch, some previously created [ipvlan](/network/ipvlan/) networks cause a panic during start: + +``` +panic: interface conversion: interface {} is nil, not string + +goroutine 1 [running]: +github.com/docker/docker/libnetwork/drivers/ipvlan.(*configuration).UnmarshalJSON(0x40011533b0, {0x400069c2d0, 0xef, 0xef}) + /go/src/github.com/docker/docker/libnetwork/drivers/ipvlan/ipvlan_store.go:196 +0x414 +encoding/json.(*decodeState).object(0x4001153440, {0x5597157640?, 0x40011533b0?, 0x559524115c?}) + /usr/local/go/src/encoding/json/decode.go:613 +0x650 +encoding/json.(*decodeState).value(0x4001153440, {0x5597157640?, 0x40011533b0?, 0x559524005c?}) + /usr/local/go/src/encoding/json/decode.go:374 +0x40 +encoding/json.(*decodeState).unmarshal(0x4001153440, {0x5597157640?, 0x40011533b0?}) + /usr/local/go/src/encoding/json/decode.go:181 +0x204 +encoding/json.Unmarshal({0x400069c2d0, 0xef, 0xef}, {0x5597157640, 0x40011533b0}) + /usr/local/go/src/encoding/json/decode.go:108 +0xf4 +github.com/docker/docker/libnetwork/drivers/ipvlan.(*configuration).SetValue(0x4000d18050?, {0x400069c2d0?, 0x23?, 0x23?}) + /go/src/github.com/docker/docker/libnetwork/drivers/ipvlan/ipvlan_store.go:230 +0x38 +``` + +To mitigate this, affected users can downgrade and remove the network, then upgrade again. +Alternatively, the entire network store can be removed, and networks can be recreated after the upgrade. The network store is located at `/var/lib/docker/network/files/local-kv.db`. If the daemon is using an alternate `--data-root`, substitute `/var/lib/docker` for the alternate path. + #### Kata Containers ([tracking issue](https://github.com/kata-containers/kata-containers/issues/6154)) The 23.0 branch brings support for alternate containerd shims, such as `io.containerd.runsc.v1` (gVisor) and `io.containerd.kata.v2` (Kata Containers).