Release 4.8.3.

This commit is contained in:
Felix Fontein 2025-11-16 12:47:11 +01:00
parent 22e6d64345
commit 231f8d50a9
8 changed files with 458 additions and 381 deletions

File diff suppressed because it is too large Load Diff

View File

@ -4,6 +4,33 @@ Docker Community Collection Release Notes
.. contents:: Topics
v4.8.3
======
Release Summary
---------------
Bugfix release for Docker 29.
Bugfixes
--------
- Docker CLI based modules - work around bug in Docker 29.0.0 that caused a breaking change in ``docker version --format json`` output (https://github.com/ansible-collections/community.docker/issues/1185, https://github.com/ansible-collections/community.docker/pull/1187).
- docker_container - fix ``pull`` idempotency with Docker 29.0.0 (https://github.com/ansible-collections/community.docker/pull/1192).
- docker_container - fix handling of exposed port ranges. So far, the module used an undocumented feature of Docker that was removed from Docker 29.0.0, that allowed to pass the range to the deamon and let handle it. Now the module explodes ranges into a list of all contained ports, same as the Docker CLI does. For backwards compatibility with Docker < 29.0.0, it also explodes ranges returned by the API for existing containers so that comparison should only indicate a difference if the ranges actually change (https://github.com/ansible-collections/community.docker/pull/1192).
- docker_container - fix idempotency for IPv6 addresses with Docker 29.0.0 (https://github.com/ansible-collections/community.docker/pull/1192).
- docker_image - fix ``source=pull`` idempotency with Docker 29.0.0 (https://github.com/ansible-collections/community.docker/pull/1192).
- docker_image, docker_image_push - adjust image push detection to Docker 29 (https://github.com/ansible-collections/community.docker/pull/1199).
- docker_image_pull - fix idempotency with Docker 29.0.0 (https://github.com/ansible-collections/community.docker/pull/1192).
- docker_network - fix idempotency for IPv6 addresses and networks with Docker 29.0.0 (https://github.com/ansible-collections/community.docker/pull/1201).
Known Issues
------------
- docker_container - when specifying IPv6 addresses for networks, Docker since version 29 no longer returns the orignal address used when adding a container to a network, but normalizes them. The module will try to normalize IP addresses for comparison, but it uses the ``ipaddress`` module from the Python 3 standard library for that. When using the module with Python 2, please install the `ipaddress backport for Python 2.x <https://pypi.org/project/ipaddress/>`__ (https://github.com/ansible-collections/community.docker/pull/1198).
- docker_image, docker_image_export - idempotency for archiving images depends on whether the image IDs used by the image storage backend correspond to the IDs used in the tarball's ``manifest.json`` files. The new default backend in Docker 29 apparently uses image IDs that no longer correspond, whence idempotency no longer works (https://github.com/ansible-collections/community.docker/pull/1199).
- docker_network - when specifying IPv6 addresses or networks, Docker since version 29 no longer returns the orignal address/network used when creating a network, but normalizes them. The module will try to normalize IP addresses for comparison, but it uses the ``ipaddress`` module from the Python 3 standard library for that. When using the module with Python 2, please install the `ipaddress backport for Python 2.x <https://pypi.org/project/ipaddress/>`__ (https://github.com/ansible-collections/community.docker/pull/1203).
v4.8.2
======

View File

@ -2214,3 +2214,53 @@ releases:
- 1161-fix.yml
- 4.8.2.yml
release_date: '2025-10-25'
4.8.3:
changes:
bugfixes:
- Docker CLI based modules - work around bug in Docker 29.0.0 that caused
a breaking change in ``docker version --format json`` output (https://github.com/ansible-collections/community.docker/issues/1185,
https://github.com/ansible-collections/community.docker/pull/1187).
- docker_container - fix ``pull`` idempotency with Docker 29.0.0 (https://github.com/ansible-collections/community.docker/pull/1192).
- docker_container - fix handling of exposed port ranges. So far, the module
used an undocumented feature of Docker that was removed from Docker 29.0.0,
that allowed to pass the range to the deamon and let handle it. Now the
module explodes ranges into a list of all contained ports, same as the Docker
CLI does. For backwards compatibility with Docker < 29.0.0, it also explodes
ranges returned by the API for existing containers so that comparison should
only indicate a difference if the ranges actually change (https://github.com/ansible-collections/community.docker/pull/1192).
- docker_container - fix idempotency for IPv6 addresses with Docker 29.0.0
(https://github.com/ansible-collections/community.docker/pull/1192).
- docker_image - fix ``source=pull`` idempotency with Docker 29.0.0 (https://github.com/ansible-collections/community.docker/pull/1192).
- docker_image, docker_image_push - adjust image push detection to Docker
29 (https://github.com/ansible-collections/community.docker/pull/1199).
- docker_image_pull - fix idempotency with Docker 29.0.0 (https://github.com/ansible-collections/community.docker/pull/1192).
- docker_network - fix idempotency for IPv6 addresses and networks with Docker
29.0.0 (https://github.com/ansible-collections/community.docker/pull/1201).
known_issues:
- docker_container - when specifying IPv6 addresses for networks, Docker since
version 29 no longer returns the orignal address used when adding a container
to a network, but normalizes them. The module will try to normalize IP addresses
for comparison, but it uses the ``ipaddress`` module from the Python 3 standard
library for that. When using the module with Python 2, please install the
`ipaddress backport for Python 2.x <https://pypi.org/project/ipaddress/>`__
(https://github.com/ansible-collections/community.docker/pull/1198).
- docker_image, docker_image_export - idempotency for archiving images depends
on whether the image IDs used by the image storage backend correspond to
the IDs used in the tarball's ``manifest.json`` files. The new default backend
in Docker 29 apparently uses image IDs that no longer correspond, whence
idempotency no longer works (https://github.com/ansible-collections/community.docker/pull/1199).
- docker_network - when specifying IPv6 addresses or networks, Docker since
version 29 no longer returns the orignal address/network used when creating
a network, but normalizes them. The module will try to normalize IP addresses
for comparison, but it uses the ``ipaddress`` module from the Python 3 standard
library for that. When using the module with Python 2, please install the
`ipaddress backport for Python 2.x <https://pypi.org/project/ipaddress/>`__
(https://github.com/ansible-collections/community.docker/pull/1203).
release_summary: Bugfix release for Docker 29.
fragments:
- 1187-docker.yml
- 1192-docker_container.yml
- 1199-docker_image-push.yml
- 1201-docker_network.yml
- 4.8.3.yml
release_date: '2025-11-16'

View File

@ -1,2 +0,0 @@
bugfixes:
- "Docker CLI based modules - work around bug in Docker 29.0.0 that caused a breaking change in ``docker version --format json`` output (https://github.com/ansible-collections/community.docker/issues/1185, https://github.com/ansible-collections/community.docker/pull/1187)."

View File

@ -1,15 +0,0 @@
bugfixes:
- "docker_image - fix ``source=pull`` idempotency with Docker 29.0.0 (https://github.com/ansible-collections/community.docker/pull/1192)."
- "docker_image_pull - fix idempotency with Docker 29.0.0 (https://github.com/ansible-collections/community.docker/pull/1192)."
- "docker_container - fix ``pull`` idempotency with Docker 29.0.0 (https://github.com/ansible-collections/community.docker/pull/1192)."
- "docker_container - fix idempotency for IPv6 addresses with Docker 29.0.0 (https://github.com/ansible-collections/community.docker/pull/1192)."
- "docker_container - fix handling of exposed port ranges. So far, the module used an undocumented feature of Docker that was removed from Docker 29.0.0,
that allowed to pass the range to the deamon and let handle it. Now the module explodes ranges into a list of all contained ports, same as the
Docker CLI does. For backwards compatibility with Docker < 29.0.0, it also explodes ranges returned by the API for existing containers so that
comparison should only indicate a difference if the ranges actually change (https://github.com/ansible-collections/community.docker/pull/1192)."
known_issues:
- "docker_container - when specifying IPv6 addresses for networks, Docker since version 29 no longer returns the orignal address used
when adding a container to a network, but normalizes them. The module will try to normalize IP addresses for comparison,
but it uses the ``ipaddress`` module from the Python 3 standard library for that. When using the module with Python 2,
please install the `ipaddress backport for Python 2.x <https://pypi.org/project/ipaddress/>`__
(https://github.com/ansible-collections/community.docker/pull/1198)."

View File

@ -1,5 +0,0 @@
bugfixes:
- "docker_image, docker_image_push - adjust image push detection to Docker 29 (https://github.com/ansible-collections/community.docker/pull/1199)."
known_issues:
- "docker_image, docker_image_export - idempotency for archiving images depends on whether the image IDs used by the image storage backend correspond to the IDs used in the tarball's ``manifest.json`` files.
The new default backend in Docker 29 apparently uses image IDs that no longer correspond, whence idempotency no longer works (https://github.com/ansible-collections/community.docker/pull/1199)."

View File

@ -1,8 +0,0 @@
bugfixes:
- "docker_network - fix idempotency for IPv6 addresses and networks with Docker 29.0.0 (https://github.com/ansible-collections/community.docker/pull/1201)."
known_issues:
- "docker_network - when specifying IPv6 addresses or networks, Docker since version 29 no longer returns the orignal address/network used
when creating a network, but normalizes them. The module will try to normalize IP addresses for comparison,
but it uses the ``ipaddress`` module from the Python 3 standard library for that. When using the module with Python 2,
please install the `ipaddress backport for Python 2.x <https://pypi.org/project/ipaddress/>`__
(https://github.com/ansible-collections/community.docker/pull/1203)."

View File

@ -1 +0,0 @@
release_summary: Bugfix release for Docker 29.