Releases: containers/podman
Releases · containers/podman
v5.2.0
Features
- Podman now supports
libkrun
as a backend for creating virtual machines on MacOS. Thelibkrun
backend has the advantage of allowing GPUs to be mounted into the virtual machine to accelerate tasks. The default backend remainsapplehv
. - Quadlet now has support for
.build
files, which allows images to be built by Quadlet and then used by Quadlet containers. - Quadlet
.container
files now support two new fields,LogOpt
to specify container logging configuration andStopSignal
to specify container stop signal (#23050). - Quadlet
.container
and.pod
files now support a new field,NetworkAlias
, to add network aliases. - Quadlet drop-in search paths have been expanded to include top-level type drop-ins (
container.d
,pod.d
) and truncated unit drop-ins (unit-.container.d
) (#23158). - Podman now supports a new command,
podman system check
, which will identify (and, if possible, correct) corruption within local container storage. - The
podman machine reset
command will now reset all providers available on the current operating system (e.g. ensuring that both HyperV and WSLpodman machine
VMs will be removed on Windows).
Changes
- Podman now requires the new kernel mount API, introducing a dependency on Linux Kernel v5.2 or higher.
- Quadlet
.image
units now have a dependency onnetwork-online.target
(#21873). - The
--device
option topodman create
andpodman run
is no longer ignored when--privileged
is also specified (#23132). - The
podman start
andpodman stop
commands no longer print the full ID of the pod started/stopped, but instead the user's input used to specify the pod (e.g.podman pod start b
will printb
instead of the pod's full ID) (#22590). - Virtual machines created by
podman machine
on Linux now usevirtiofs
instead of9p
for mounting host filesystems. Existing mounts will be transparently changed on machine restart or recreation. This should improve performance and reliability of host mounts. This requires the installation ofvirtiofsd
on the host system to function. - Using both the
--squash
and--layers=false
options topodman build
at the same time is now allowed. - Podman now passes container's stop timeout to systemd when creating cgroups, causing it to be honored when systemd stops the scope. This should prevent hangs on system shutdown due to running Podman containers.
- The
--volume-driver
option topodman machine init
is now deprecated.
Bugfixes
- Fixed a bug where rootless containers created with the
--sdnotify=healthy
option could panic when started (#22651). - Fixed a bug where containers created with the
--sdnotify=healthy
option that exited quickly would sometimes return an error instead of notifying that the container was ready (#22760). - Fixed a bug where the
podman system reset
command did not remove the containers/image blob cache (#22825). - Fixed a bug where Podman would sometimes create a cgroup for itself even when the
--cgroups=disabled
option was specified at container creation time (#20910). - Fixed a bug where the
/etc/hosts
file in a container was not created with a newline at the end of the file (#22729). - Fixed a bug where the
podman start
command could sometimes panic when starting a container in the stopped state. - Fixed a bug where the
podman system renumber
command would fail if volumes existed when using thesqlite
database backend (#23052). - Fixed a bug where the
podman container restore
command could not successfully restore a container in a pod. - Fixed a bug where an error message from
podman diff
would suggest using the--latest
option when using the remote Podman client (#23038). - Fixed a bug where user could assign more memory to a Podman machine than existed on the host (#18206).
- Fixed a bug where the
podman events
command was rarely unable to report errors that occurred (#23165). - Fixed a bug where containers run in systemd units would sometimes not be removed correctly on exit when using the
--cidfile
option. - Fixed a bug where the first Podman command run after a reboot could cause hang when using transient mode (#22984).
- Fixed a bug where Podman could throw errors about a database configuration mismatch if certain paths did not exist on the host.
- Fixed a bug where the
podman run
andpodman start
commands could throw strange errors if another Podman process stopped the container at a midpoint in the process of starting (#23246). - Fixed a bug where the
podman system service
command could leak a mount on termination. - Fixed a bug where the Podman remote client would panic if an invalid image filter was passed to
podman images
(#23120). - Fixed a bug where the
podman auto-update
andpodman system df
commands could fail when a container was removed while the command was running (#23279). - Fixed a bug where the
podman machine init
command could panic when trying to decompress an empty file when preparing the VM image (#23281). - Fixed a bug where the
podman ps --pod
andpodman pod stats
commands could sometimes fail when a pod was removed while the command was running (#23282). - Fixed a bug where the
podman stats
andpodman pod stats
commands would sometimes exit with acontainer is stopped
error when showing all containers (or pod containers, forpod stats
) if a container stopped while the command was running (#23334). - Fixed a bug where the output of container healthchecks was not properly logged if it did not include a final newline (#23332).
- Fixed a bug where the port forwarding firewall rules of an existing container could be be overwritten when starting a second container which forwarded the same port on the host even if the second container failed to start as the port was already bound.
- Fixed a bug where the containers created by the
podman play kube
command could sometimes not properly clean up their network stacks (#21569).
API
- The Build API for Images now accepts a comma-separated list in the Platform query parameter, allowing a single API call to built an image for multiple architectures (#22071).
- Fixed a bug where the Remove endpoint for Volumes would return an incorrectly formatted error when called with an ambiguous volume name (#22616).
- Fixed a bug where the Stats endpoint for Containers would return an incorrectly formatted error when called on a container that did not exist (#22612).
- Fixed a bug where the Start endpoint for Pods would return a 409 error code in cases where a 500 error code should have been returned (#22989).
- Fixed a bug where the Top endpoint for Pods would return a 200 status code and then subsequently an error (#22986).
Misc
- Podman no longer requires all parent directories of its root and runroot to be world-executable (#23028).
- Error messages from the
podman build
command when the-f
option is given, but points to a file that does not exist, have been improved (#22940). - The Podman windows installer is now built using WiX 5.
- Updated the gvisor-tap-vsock library to v0.7.4. This release contains a fix for a gvproxy crash on macOS when there is heavy network traffic on a fast link.
- Updated Buildah to v1.37.0
- Updated the containers/image library to v5.32.0
- Updated the containers/storage library to v1.55.0
- Updated the containers/common library to v0.60.0
v5.2.0-RC3
This is the final release candidate for v5.2.0. Preliminary release notes follow.
Features
- Podman now supports
libkrun
as a backend for creating virtual machines on MacOS. Thelibkrun
backend has the advantage of allowing GPUs to be mounted into the virtual machine to accelerate tasks. The default backend remainsapplehv
. - Quadlet now has support for
.build
files, which allows images to be built by Quadlet and then used by Quadlet containers. - Quadlet
.container
files now support two new fields,LogOpt
to specify container logging configuration andStopSignal
to specify container stop signal (#23050). - Quadlet
.container
and.pod
files now support a new field,NetworkAlias
, to add network aliases. - Quadlet drop-in search paths have been expanded to include top-level type drop-ins (
container.d
,pod.d
) and truncated unit drop-ins (unit-.container.d
) (#23158). - Podman now supports a new command,
podman system check
, which will identify (and, if possible, correct) corruption within local container storage. - The
podman machine reset
command will now reset all providers available on the current operating system (e.g. ensuring that both HyperV and WSLpodman machine
VMs will be removed on Windows).
Changes
- Podman now requires the new kernel mount API, introducing a dependency on Linux Kernel v5.2 or higher.
- Quadlet
.image
units now have a dependency onnetwork-online.target
(#21873). - The
--device
option topodman create
andpodman run
is no longer ignored when--privileged
is also specified (#23132). - The
podman start
andpodman stop
commands no longer print the full ID of the pod started/stopped, but instead the user's input used to specify the pod (e.g.podman pod start b
will printb
instead of the pod's full ID) (#22590). - Virtual machines created by
podman machine
on Linux now usevirtiofs
instead of9p
for mounting host filesystems. Existing mounts will be transparently changed on machine restart or recreation. This should improve performance and reliability of host mounts. This requires the installation ofvirtiofsd
on the host system to function. - Using both the
--squash
and--layers=false
options topodman build
at the same time is now allowed. - Podman now passes container's stop timeout to systemd when creating cgroups, causing it to be honored when systemd stops the scope. This should prevent hangs on system shutdown due to running Podman containers.
- The
--volume-driver
option topodman machine init
is now deprecated.
Bugfixes
- Fixed a bug where rootless containers created with the
--sdnotify=healthy
option could panic when started (#22651). - Fixed a bug where containers created with the
--sdnotify=healthy
option that exited quickly would sometimes return an error instead of notifying that the container was ready (#22760). - Fixed a bug where the
podman system reset
command did not remove the containers/image blob cache (#22825). - Fixed a bug where Podman would sometimes create a cgroup for itself even when the
--cgroups=disabled
option was specified at container creation time (#20910). - Fixed a bug where the
/etc/hosts
file in a container was not created with a newline at the end of the file (#22729). - Fixed a bug where the
podman start
command could sometimes panic when starting a container in the stopped state. - Fixed a bug where the
podman system renumber
command would fail if volumes existed when using thesqlite
database backend (#23052). - Fixed a bug where the
podman container restore
command could not successfully restore a container in a pod. - Fixed a bug where an error message from
podman diff
would suggest using the--latest
option when using the remote Podman client (#23038). - Fixed a bug where user could assign more memory to a Podman machine than existed on the host (#18206).
- Fixed a bug where the
podman events
command was rarely unable to report errors that occurred (#23165). - Fixed a bug where containers run in systemd units would sometimes not be removed correctly on exit when using the
--cidfile
option. - Fixed a bug where the first Podman command run after a reboot could cause hang when using transient mode (#22984).
- Fixed a bug where Podman could throw errors about a database configuration mismatch if certain paths did not exist on the host.
- Fixed a bug where the
podman run
andpodman start
commands could throw strange errors if another Podman process stopped the container at a midpoint in the process of starting (#23246). - Fixed a bug where the
podman system service
command could leak a mount on termination. - Fixed a bug where the Podman remote client would panic if an invalid image filter was passed to
podman images
(#23120). - Fixed a bug where the
podman auto-update
andpodman system df
commands could fail when a container was removed while the command was running (#23279). - Fixed a bug where the
podman machine init
command could panic when trying to decompress an empty file when preparing the VM image (#23281). - Fixed a bug where the
podman ps --pod
andpodman pod stats
commands could sometimes fail when a pod was removed while the command was running (#23282). - Fixed a bug where the
podman stats
andpodman pod stats
commands would sometimes exit with acontainer is stopped
error when showing all containers (or pod containers, forpod stats
) if a container stopped while the command was running (#23334). - Fixed a bug where the output of container healthchecks was not properly logged if it did not include a final newline (#23332).
- Fixed a bug where the port forwarding firewall rules of an existing container could be be overwritten when starting a second container which forwarded the same port on the host even if the second container failed to start as the port was already bound.
- Fixed a bug where the containers created by the
podman play kube
command could sometimes not properly clean up their network stacks (#21569).
API
- The Build API for Images now accepts a comma-separated list in the Platform query parameter, allowing a single API call to built an image for multiple architectures (#22071).
- Fixed a bug where the Remove endpoint for Volumes would return an incorrectly formatted error when called with an ambiguous volume name (#22616).
- Fixed a bug where the Stats endpoint for Containers would return an incorrectly formatted error when called on a container that did not exist (#22612).
- Fixed a bug where the Start endpoint for Pods would return a 409 error code in cases where a 500 error code should have been returned (#22989).
- Fixed a bug where the Top endpoint for Pods would return a 200 status code and then subsequently an error (#22986).
Misc
- Podman no longer requires all parent directories of its root and runroot to be world-executable (#23028).
- Error messages from the
podman build
command when the-f
option is given, but points to a file that does not exist, have been improved (#22940). - The Podman windows installer is now built using WiX 5.
- Updated the gvisor-tap-vsock library to v0.7.4. This release contains a fix for a gvproxy crash on macOS when there is heavy network traffic on a fast link.
- Updated Buildah to v1.37.0
- Updated the containers/image library to v5.32.0
- Updated the containers/storage library to v1.55.0
- Updated the containers/common library to v0.60.0
v5.2.0-RC2
Features
- Quadlet now has support for
.build
files, which allows images to be built by Quadlet and then used by Quadlet containers. - Quadlet
.container
files now support two new fields,LogOpt
to specify container logging configuration andStopSignal
to specify container stop signal (#23050). - Quadlet
.container
and.pod
files now support a new field,NetworkAlias
, to add network aliases. - Quadlet drop-in search paths have been expanded to include top-level type drop-ins (
container.d
,pod.d
) and truncated unit drop-ins (unit-.container.d
) (#23158). - Podman now supports a new command,
podman system check
, which will identify (and, if possible, correct) corruption within local container storage. - The
podman machine reset
command will now reset all providers available on the current operating system (e.g. ensuring that both HyperV and WSLpodman machine
VMs will be removed on Windows).
Changes
- Podman now requires the new kernel mount API, introducing a dependency on Linux Kernel v5.2 or higher.
- Quadlet
.image
units now have a dependency onnetwork-online.target
(#21873). - The
--device
option topodman create
andpodman run
is no longer ignored when--privileged
is also specified (#23132). - The
podman start
andpodman stop
commands no longer print the full ID of the pod started/stopped, but instead the user's input used to specify the pod (e.g.podman pod start b
will printb
instead of the pod's full ID) (#22590). - Virtual machines created by
podman machine
on Linux now usevirtiofs
instead of9p
for mounting host filesystems. Existing mounts will be transparently changed on machine restart or recreation. This should improve performance and reliability of host mounts. - Using both the
--squash
and--layers=false
options topodman build
at the same time is now allowed. - Podman now passes container's stop timeout to systemd when creating cgroups, causing it to be honored when systemd stops the scope. This should prevent hangs on system shutdown due to running Podman containers.
- The
--volume-driver
option topodman machine init
is now deprecated.
Bugfixes
- Fixed a bug where rootless containers created with the
--sdnotify=healthy
option could panic when started (#22651). - Fixed a bug where containers created with the
--sdnotify=healthy
option that exited quickly would sometimes return an error instead of notifying that the container was ready (#22760). - Fixed a bug where the
podman system reset
command did not remove the containers/image blob cache (#22825). - Fixed a bug where Podman would sometimes create a cgroup for itself even when the
--cgroups=disabled
option was specified at container creation time (#20910). - Fixed a bug where the
/etc/hosts
file in a container was not created with a newline at the end of the file (#22729). - Fixed a bug where the
podman start
command could sometimes panic when starting a container in the stopped state. - Fixed a bug where the
podman system renumber
command would fail if volumes existed when using thesqlite
database backend (#23052). - Fixed a bug where the
podman container restore
command could not successfully restore a container in a pod. - Fixed a bug where an error message from
podman diff
would suggest using the--latest
option when using the remote Podman client (#23038). - Fixed a bug where user could assign more memory to a Podman machine than existed on the host (#18206).
- Fixed a bug where the
podman events
command was rarely unable to report errors that occurred (#23165). - Fixed a bug where containers run in systemd units would sometimes not be removed correctly on exit when using the
--cidfile
option. - Fixed a bug where the first Podman command run after a reboot could cause hang when using transient mode (#22984).
- Fixed a bug where Podman could throw errors about a database configuration mismatch if certain paths did not exist on the host.
- Fixed a bug where the
podman run
andpodman start
commands could throw strange errors if another Podman process stopped the container at a midpoint in the process of starting (#23246). - Fixed a bug where the
podman system service
command could leak a mount on termination. - Fixed a bug where the Podman remote client would panic if an invalid image filter was passed to
podman images
(#23120). - Fixed a bug where the
podman auto-update
andpodman system df
commands could fail when a container was removed while the command was running (#23279). - Fixed a bug where the
podman machine init
command could panic when trying to decompress an empty file when preparing the VM image (#23281). - Fixed a bug where the
podman ps --pod
andpodman pod stats
commands could sometimes fail when a pod was removed while the command was running (#23282). - Fixed a bug where the
podman stats
andpodman pod stats
commands would sometimes exit with acontainer is stopped
error when showing all containers (or pod containers, forpod stats
) if a container stopped while the command was running (#23334). - Fixed a bug where the output of container healthchecks was not properly logged if it did not include a final newline (#23332).
API
- The Build API for Images now accepts a comma-separated list in the Platform query parameter, allowing a single API call to built an image for multiple architectures (#22071).
- Fixed a bug where the Remove endpoint for Volumes would return an incorrectly formatted error when called with an ambiguous volume name (#22616).
- Fixed a bug where the Stats endpoint for Containers would return an incorrectly formatted error when called on a container that did not exist (#22612).
- Fixed a bug where the Start endpoint for Pods would return a 409 error code in cases where a 500 error code should have been returned (#22989).
- Fixed a bug where the Top endpoint for Pods would return a 200 status code and then subsequently an error (#22986).
Misc
- Podman no longer requires all parent directories of its root and runroot to be world-executable (#23028).
- Error messages from the
podman build
command when the-f
option is given, but points to a file that does not exist, have been improved (#22940). - The Podman windows installer is now built using WiX 5.
v5.2.0-rc1
This is the first release candidate of Podman v5.2.0. We are expecting final release at the end of this month after 3 RCs.
Preliminary release notes will be available next week with RC2.
v5.1.2
Bugfixes
- Fixed a bug that would sometimes prevent the mount of some
podman machine
volumes into the virtual machine when using the Apple hypervisor (#22569). - Fixed a bug where
podman top
would show the incorrect UID for processes in containers run in a user namespace (#22293). - Fixed a bug where the
/etc/hosts
and/etc/resolv.conf
files in a container would be empty after restoring from a checkpoint (#22901). - Fixed a bug where the
--pod-id-file
argument topodman run
andpodman create
did not respect the pod's user namespace (#22931). - Fixed a bug in the Podman remote client where specifying a invalid connection in the
CONTAINER_CONNECTION
environment variable would lead to a panic.
Misc
- Virtual machines run by
podman machine
using the Apple hypervisor now wait 90 seconds before forcibly stopping the VM, matching the standard systemd shutdown timeout (#22515). - Updates the containers/image library to v5.31.1
v5.1.1
v4.9.5
Security
- This release addresses CVE-2024-3727, a vulnerability in the containers/image library which allows attackers to trigger authenticated registry access on behalf of the victim user.
API
- Fixed a bug in the Compat List endpoint for Networks which could result in a server crash due to concurrent writes to a map (#22330).
v5.1.0
Features
- VMs created by
podman machine
on macOS with Apple silicon can now use Rosetta 2 (a.k.a Rosetta) for high-speed emulation of x86 code. This is enabled by default. If you wish to change this option, you can do so incontainers.conf
. - Changes made by the
podman update
command are now persistent, and will survive container restart and be reflected inpodman inspect
. - The
podman update
command now includes a new option,--restart
, to update the restart policy of existing containers. - Quadlet
.container
files now support a new key,GroupAdd
, to add groups to the container. - Container annotations are now printed by
podman inspect
. - Image-based mounts using
podman run --mount type=image,...
now support a new option,subpath
, to mount only part of the image into the container. - A new field,
healthcheck_events
, has been added tocontainers.conf
under the[engine]
section to allow users to disable the generation ofhealth_status
events to avoid spamming logs on systems with many healthchecks. - A list of images to automatically mount as volumes can now be specified in Kubernetes YAML via the
io.podman.annotations.kube.image.automount/$CTRNAME
annotation (where$CTRNAME
is the name of the container they will be mounted into). - The
podman info
command now includes the default rootless network command (pasta
orslirp4netns
). - The
podman ps
command now shows ports from--expose
that have not been published with--publish-all
to improve Docker compatibility. - The
podman runlabel
command now expands$HOME
in the label being run to the user's home directory. - A new alias,
podman network list
, has been added to thepodman network ls
command. - The name and shell of containers created by
podmansh
can now be set incontainers.conf
. - The
podman-setup.exe
Windows installer now provides 3 new CLI variables,MachineProvider
(choose the provider for the machine,windows
orwsl
, the default),HyperVCheckbox
(can be set to1
to install HyperV if it is not already installed or0
, the default, to not install HyperV), andSkipConfigFileCreation
(can be set to1
to disable the creation of configuration files, or0
, the default).
Changes
- Podman now changes volume ownership every time an empty named volume is mounted into a container, not just the first time, matching Docker's behavior.
- When running Kubernetes YAML with
podman kube play
that does not include animagePullPolicy
and does not set a tag for the image, the image is now always pulled (#21211). - When running Kubernetes YAML with
podman kube play
, pod-level restart policies are now passed down to individual containers within the pod (#20903). - The
--runroot
global option can now accept paths with lengths longer than 50 characters (#22272). - Updating containers with the
podman update
command now emits an event.
Bugfixes
- Fixed a bug where the
--userns=keep-id:uid=0
option topodman create
andpodman run
would generate incorrect UID mappings and cause the container to fail to start (#22078). - Fixed a bug where
podman stats
could report inaccurate percentages for very large or very small values (#22064). - Fixed a bug where bind-mount volumes defaulted to
rbind
instead ofbind
, meaning recursive mounts were allowed by default (#22107). - Fixed a bug where the
podman machine rm -f
command would fail to remove Hyper-V virtual machines if they were running. - Fixed a bug where the
podman ps --sync
command could sometimes fail to properly update the status of containers. - Fixed a bug where bind-mount volumes using the
:idmap
option would sometimes be inaccessible with rootless Podman (#22228). - Fixed a bug where bind-mount volumes using the
:U
option would have their ownership changed to the owner of the directory in the image being mounted over (#22224). - Fixed a bug where removing multiple containers, pods, or images with the
--force
option did not work when multiple arguments were given to the command and one of them did not exist (#21529). - Fixed a bug where Podman did not properly clean up old cached Machine images.
- Fixed a bug where rapidly-restarting containers with healthchecks could sometimes fail to start their healthchecks after restarting.
- Fixed a bug where nested Podman could create its
pause.pid
file in an incorrect directory (#22327). - Fixed a bug where Podman would panic if an OCI runtime was configured without associated paths in
containers.conf
(#22561). - Fixed a bug where the
podman kube down
command would not respect theStopTimeout
andStopSignal
of containers that it stopped (#22397). - Fixed a bug where Systemd-managed containers could be stuck in the Stopping state, unable to be restarted, if systemd killed the unit before
podman stop
finished stopping the container (#19629). - Fixed a bug where the remote Podman client's
podman farm build
command would not updating manifests on the registry that were already pushed (#22647). - Fixed a bug where rootless Podman could fail to re-exec itself when run with a custom
argv[0]
that is not a valid command path, as might happen when used inpodmansh
(#22672). - Fixed a bug where
podman machine
connection URIs could be incorrect after an SSH port conflict, rendering machines inaccessible. - Fixed a bug where the
podman events
command would not print an error if incorrect values were passed to its--since
and--until
options. - Fixed a bug where an incorrect
host.containers.internal
entry could be added when running rootless containers using thebridge
network mode (#22653).
API
- A new Docker-compatible endpoint, Update, has been added for containers.
- The Compat Create endpoint for Containers now supports setting container annotations.
- The Libpod List endpoint for Images now includes additional information in its responses (image architecture, OS, and whether the image is a manifest list) (#22184 and #22185).
- The Build endpoint for Images no longer saves the build context as a temporary file, substantially improving performance and reducing required filesystem space on the server.
- The Inspect API for Containers now returns results compatible with Podman v4.x when a request with version v4.0.0 is made. This allows Podman 4.X remote clients work with a Podman 5.X server (#22657).
- Fixed a bug where the Build endpoint for Images would not clean up temporary files created by the build if an error occurred.
Misc
- Podman now detects unhandled system reboots and advises the user on proper mitigations.
- Improved debugging output for
podman machine
on Darwin systems when--log-level=debug
is used. - The Makefile now allows injecting extra build tags via the
EXTRA_BUILD_TAGS
environment variable. - Updated Buildah to v1.36.0
- Updated the containers/common library to v0.59.0
- Updated the containers/image library to v5.31.0
- Updated the containers/storage library to v1.54.0
v5.1.0-RC1
This is the first release candidate for Podman v5.1.0. We expect the final release in 2 weeks (May 29 2024). Preliminary release notes follow.
Features
- Changes made by the
podman update
command are now persistent, and will survive container restart and be reflected inpodman inspect
. - The
podman update
command now includes a new option,--restart
, to update the restart policy of existing containers. - Quadlet
.container
files now support a new key,GroupAdd
, to add groups to the container. - Container annotations are now printed by
podman inspect
. - Image-based mounts using
podman run --mount type=image,...
now support a new option,subpath
, to mount only part of the image into the container. - A new field,
healthcheck_events
, has been added tocontainers.conf
under the[engine]
section to allow users to disable the generation ofhealth_status
events to avoid spamming logs on systems with many healthchecks. - A list of images to automatically mount as volumes can now be specified in Kubernetes YAML via the
io.podman.annotations.kube.image.automount/$CTRNAME
annotation (where$CTRNAME
is the name of the container they will be mounted into). - The
podman info
command now includes the default rootless network command (pasta
orslirp4netns
). - The
podman ps
command now shows ports from--expose
that have not been published with--publish-all
to improve Docker compatibility. - The
podman runlabel
command now expands$HOME
in the label being run to the user's home directory. - A new alias,
podman network list
, has been added to thepodman network ls
command.
Changes
- When running Kubernetes YAML with
podman kube play
that does not include animagePullPolicy
and does not set a tag for the image, the image is now always pulled (#21211). - When running Kubernetes YAML with
podman kube play
, pod-level restart policies are now passed down to individual containers within the pod (#20903). - The
--runroot
global option can now accept paths with lengths longer than 50 characters (#22272). - Updating containers with the
podman update
command now emits an event.
Bugfixes
- Fixed a bug where the
--userns=keep-id:uid=0
option topodman create
andpodman run
would generate incorrect UID mappings and cause the container to fail to start (#22078). - Fixed a bug where
podman stats
could report inaccurate percentages for very large or very small values (#22064). - Fixed a bug where bind-mount volumes defaulted to
rbind
instead ofbind
, meaning recursive mounts were allowed by default (#22107). - Fixed a bug where the
podman machine rm -f
command would fail to remove Hyper-V virtual machines if they were running. - Fixed a bug where the
podman ps --sync
command could sometimes fail to properly update the status of containers. - Fixed a bug where bind-mount volumes using the
:idmap
option would sometimes be inaccessible with rootless Podman (#22228). - Fixed a bug where bind-mount volumes using the
:U
option would have their ownership changed to the owner of the directory in the image being mounted over (#22224). - Fixed a bug where removing multiple containers, pods, or images with the
--force
option did not work when multiple arguments were given to the command and one of them did not exist (#21529). - Fixed a bug where Podman did not properly clean up old cached Machine images.
- Fixed a bug where rapidly-restarting containers with healthchecks could sometimes fail to start their healthchecks after restarting.
- Fixed a bug where nested Podman could create its
pause.pid
file in an incorrect directory (#22327). - Fixed a bug where Podman would panic if an OCI runtime was configured without associated paths in
containers.conf
(#22561). - Fixed a bug where the
podman kube down
command would not respect theStopTimeout
andStopSignal
of containers that it stopped (#22397). - Fixed a bug where Systemd-managed containers could be stuck in the Stopping state, unable to be restarted, if systemd killed the unit before
podman stop
finished stopping the container (#19629). - Fixed a bug where the remote Podman client's
podman farm build
command would not updating manifests on the registry that were already pushed (#22647). - Fixed a bug where rootless Podman could fail to re-exec itself when run with a custom
argv[0]
that is not a valid command path, as might happen when used inpodmansh
(#22672). - Fixed a bug where
podman machine
connection URIs could be incorrect after an SSH port conflict, rendering machines inaccessible. - Fixed a bug where the
podman events
command would not print an error if incorrect values were passed to its--since
and--until
options.
API
- A new Docker-compatible endpoint, Update, has been added for containers.
- The Compat Create endpoint for Containers now supports setting container annotations.
- The Libpod List endpoint for Images now includes additional information in its responses (image architecture, OS, and whether the image is a manifest list) (#22184 and #22185).
- The Build endpoint for Images no longer saves the build context as a temporary file, substantially improving performance and reducing required filesystem space on the server.
- Fixed a bug where the Build endpoint for Images would not clean up temporary files created by the build if an error occurred.
Misc
- Podman now detects unhandled system reboots and advises the user on proper mitigations.
- Improved debugging output for
podman machine
on Darwin systems when--log-level=debug
is used. - The Makefile now allows injecting extra build tags via the
EXTRA_BUILD_TAGS
environment variable.
v5.0.3
Security
- This release addresses CVE-2024-3727, a vulnerability in the containers/image library which allows attackers to trigger authenticated registry access on behalf of the victim user.
Bugfixes
- Fixed a bug where
podman machine start
would fail if the machine had a volume with a long target path (#22226). - Fixed a bug where
podman machine start
mounted volumes with paths that included dashes in the wrong location (#22505).
Misc
- Updated Buildah to v1.35.4
- Updated the containers/common library to v0.58.3
- Updated the containers/image library to v5.30.1