Releases: containers/podman
Releases · containers/podman
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 machineon 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 updatecommand are now persistent, and will survive container restart and be reflected inpodman inspect. - The
podman updatecommand now includes a new option,--restart, to update the restart policy of existing containers. - Quadlet
.containerfiles 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.confunder the[engine]section to allow users to disable the generation ofhealth_statusevents 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/$CTRNAMEannotation (where$CTRNAMEis the name of the container they will be mounted into). - The
podman infocommand now includes the default rootless network command (pastaorslirp4netns). - The
podman pscommand now shows ports from--exposethat have not been published with--publish-allto improve Docker compatibility. - The
podman runlabelcommand now expands$HOMEin the label being run to the user's home directory. - A new alias,
podman network list, has been added to thepodman network lscommand. - The name and shell of containers created by
podmanshcan now be set incontainers.conf. - The
podman-setup.exeWindows installer now provides 3 new CLI variables,MachineProvider(choose the provider for the machine,windowsorwsl, the default),HyperVCheckbox(can be set to1to install HyperV if it is not already installed or0, the default, to not install HyperV), andSkipConfigFileCreation(can be set to1to 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 playthat does not include animagePullPolicyand 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
--runrootglobal option can now accept paths with lengths longer than 50 characters (#22272). - Updating containers with the
podman updatecommand now emits an event.
Bugfixes
- Fixed a bug where the
--userns=keep-id:uid=0option topodman createandpodman runwould generate incorrect UID mappings and cause the container to fail to start (#22078). - Fixed a bug where
podman statscould report inaccurate percentages for very large or very small values (#22064). - Fixed a bug where bind-mount volumes defaulted to
rbindinstead ofbind, meaning recursive mounts were allowed by default (#22107). - Fixed a bug where the
podman machine rm -fcommand would fail to remove Hyper-V virtual machines if they were running. - Fixed a bug where the
podman ps --synccommand could sometimes fail to properly update the status of containers. - Fixed a bug where bind-mount volumes using the
:idmapoption would sometimes be inaccessible with rootless Podman (#22228). - Fixed a bug where bind-mount volumes using the
:Uoption 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
--forceoption 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.pidfile 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 downcommand would not respect theStopTimeoutandStopSignalof 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 stopfinished stopping the container (#19629). - Fixed a bug where the remote Podman client's
podman farm buildcommand 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 machineconnection URIs could be incorrect after an SSH port conflict, rendering machines inaccessible. - Fixed a bug where the
podman eventscommand would not print an error if incorrect values were passed to its--sinceand--untiloptions. - Fixed a bug where an incorrect
host.containers.internalentry could be added when running rootless containers using thebridgenetwork 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 machineon Darwin systems when--log-level=debugis used. - The Makefile now allows injecting extra build tags via the
EXTRA_BUILD_TAGSenvironment 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 updatecommand are now persistent, and will survive container restart and be reflected inpodman inspect. - The
podman updatecommand now includes a new option,--restart, to update the restart policy of existing containers. - Quadlet
.containerfiles 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.confunder the[engine]section to allow users to disable the generation ofhealth_statusevents 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/$CTRNAMEannotation (where$CTRNAMEis the name of the container they will be mounted into). - The
podman infocommand now includes the default rootless network command (pastaorslirp4netns). - The
podman pscommand now shows ports from--exposethat have not been published with--publish-allto improve Docker compatibility. - The
podman runlabelcommand now expands$HOMEin the label being run to the user's home directory. - A new alias,
podman network list, has been added to thepodman network lscommand.
Changes
- When running Kubernetes YAML with
podman kube playthat does not include animagePullPolicyand 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
--runrootglobal option can now accept paths with lengths longer than 50 characters (#22272). - Updating containers with the
podman updatecommand now emits an event.
Bugfixes
- Fixed a bug where the
--userns=keep-id:uid=0option topodman createandpodman runwould generate incorrect UID mappings and cause the container to fail to start (#22078). - Fixed a bug where
podman statscould report inaccurate percentages for very large or very small values (#22064). - Fixed a bug where bind-mount volumes defaulted to
rbindinstead ofbind, meaning recursive mounts were allowed by default (#22107). - Fixed a bug where the
podman machine rm -fcommand would fail to remove Hyper-V virtual machines if they were running. - Fixed a bug where the
podman ps --synccommand could sometimes fail to properly update the status of containers. - Fixed a bug where bind-mount volumes using the
:idmapoption would sometimes be inaccessible with rootless Podman (#22228). - Fixed a bug where bind-mount volumes using the
:Uoption 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
--forceoption 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.pidfile 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 downcommand would not respect theStopTimeoutandStopSignalof 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 stopfinished stopping the container (#19629). - Fixed a bug where the remote Podman client's
podman farm buildcommand 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 machineconnection URIs could be incorrect after an SSH port conflict, rendering machines inaccessible. - Fixed a bug where the
podman eventscommand would not print an error if incorrect values were passed to its--sinceand--untiloptions.
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 machineon Darwin systems when--log-level=debugis used. - The Makefile now allows injecting extra build tags via the
EXTRA_BUILD_TAGSenvironment 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 startwould fail if the machine had a volume with a long target path (#22226). - Fixed a bug where
podman machine startmounted 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
v5.0.2
Bugfixes
- Fixed a bug that could leak IPAM entries when a network was removed (#22034).
- Fixed a bug that could cause the rootless network namespace to not be cleaned up on if an error occurred during setup resulting in errors relating to a missing resolv.conf being displayed (#22168).
- Fixed a bug where Podman would use rootless network namespace logic for nested containers (#22218).
- Fixed a bug where writing to volumes on a Mac could result in EACCESS failures when using the
:zor:Zvolume mount options on a directory with read only files (#19852)
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.0.1
Bugfixes
- Fixed a bug where rootless containers using the Pasta network driver did not properly handle localhost DNS resolvers on the host leading to DNS resolution issues (#22044).
- Fixed a bug where Podman would warn that cgroups v1 systems were no longer supported on FreeBSD hosts.
- Fixed a bug where HyperV
podman machineVMs required an SSH client be installed on the system (#22075). - Fixed a bug that prevented the remote Podman client's
podman buildcommand from working properly when connecting from a rootless client to a rootful server (#22109).
Misc
- The HyperV driver to
podman machinenow fails immediately if admin privileges are not available (previously, it would only fail when it reached operations that required admin privileges).
v4.9.4
Security
- Fixed CVE-2024-1753 in Buildah and
podman buildwhich allowed a user to write files to the/directory of the host machine if selinux was not enabled.
Bugfixes
- Fixed a bug where health check status would be updated to "healthy" before the startup delay had expired.
v5.0.0
5.0.0
Security
- Fixed CVE-2024-1753 in Buildah and
podman buildwhich allowed a user to write files to the/directory of the host machine if selinux was not enabled.
Features
- VMs created by
podman machinecan now use the native Apple hypervisor (applehv) when run on MacOS. - A new command has been added,
podman machine reset, which will remove all existingpodman machineVMs and relevant configurations. - The
podman manifest addcommand now supports a new--artifactoption to add OCI artifacts to a manifest list. - The
podman create,podman run, andpodman pushcommands now support the--retryand--retry-delayoptions to configure retries for pushing and pulling images. - The
podman runandpodman execcommands now support a new option,--preserve-fd, which allows passing a list of file descriptors into the container (as an alternative to--preserve-fds, which passes a specific number of file descriptors). - Quadlet now supports templated units (#17744).
- The
podman kube playcommand can now create image-based volumes using thevolume.podman.io/imageannotation. - Containers created with
podman kube playcan now include volumes from other containers (similar to the--volumes-fromoption) using a new annotation,io.podman.annotations.volumes-from(#16819). - Pods created with
podman kube playcan now set user namespace options through the theio.podman.annotations.usernsannotation in the pod definition (#20658). - Macvlan and ipvlan networks can adjust the name of the network interface created inside containers via the new
containers.conffieldinterface_name(#21313). - The
--gpusoption topodman createandpodman runis now compatible with Nvidia GPUs (#21156). - The
--mountoption topodman createandpodman runsupports a new mount option,no-dereference, to mount a symlink (instead of its dereferenced target) into a container (#20098). - Podman now supports a new global option,
--config, to point to a Docker configuration where we can source registry login credentials. - The
podman ps --formatcommand now supports a new format specifier,.Label(#20957). - The
uidmappingandgidmappingoptions to thepodman run --userns=autooption can now map to host IDs by prefixing host IDs with the@symbol. - Quadlet now supports systemd-style drop-in directories.
- Quadlet now supports creating pods via new
.podunit files (#17687). - Quadlet now supports two new keys,
EntrypointandStopTimeout, in.containerfiles (#20585 and #21134). - Quadlet now supports specifying the
Ulimitkey multiple times in.containerfiles to set more than one ulimit on a container. - Quadlet now supports setting the
Notifykey tohealthyin.containerfiles, to only sdnotify that a container has started when its health check begins passing (#18189).
Breaking Changes
- The backend for the
podman machinecommands has seen extensive rewrites. Configuration files have changed format and VMs from Podman 4.x and earlier are no longer usable.podman machineVMs must be recreated with Podman 5. - The
podman machine initcommand now pulls images as OCI artifacts, instead of using HTTP. As a result, a validpolicy.jsonfile is required on the host. Windows and Mac installers have been changed to install this file. - QEMU is no longer a supported VM provider for
podman machineon Mac. Instead, the native Apple hypervisor is supported. - The
ConfigPathandImagefields are no longer provided by thepodman machine inspectcommand. Users can also no longer use{{ .ConfigPath }}or{{ .Image }}as arguments topodman machine inspect --format. - The output of
podman inspectfor containers has seen a number of breaking changes to improve Docker compatibility, including changingEntrypointfrom a string to an array of strings and StopSignal from an int to a string. - The
podman inspectcommand for containers now returns nil for healthchecks when inspecting containers without healthchecks. - The
podman pod inspectcommand now outputs a JSON array regardless of the number of pods inspected (previously, inspecting a single pod would omit the array). - It is no longer possible to create new BoltDB databases; attempting to do so will result in an error. All new Podman installations will now use the SQLite database backend. Existing BoltDB databases remain usable.
- Support for CNI networking has been gated by a build tag and will not be enabled by default.
- Podman will now print warnings when used on cgroups v1 systems. Support for cgroups v1 is deprecated and will be removed in a future release. The
PODMAN_IGNORE_CGROUPSV1_WARNINGenvironment variable can be set to suppress warnings. - Network statistics sent over the Docker API are now per-interface, and not aggregated, improving Docker compatibility.
- The default tool for rootless networking has been swapped from
slirp4netnstopastafor improved performance. As a result, networks namedpastaare no longer supported. - The
--imageoption replaces the now deprecated--image-pathoption forpodman machine init. - The output of
podman events --format "{{json .}}"has been changed to improve Docker compatibility, including thetimeandtimeNanofields (#14993). - The name of
podman machineVMs and the username used within the VM are now validated and must match this regex:[a-zA-Z0-9][a-zA-Z0-9_.-]*. - Using multiple filters with the List Images REST API now combines the filters with AND instead of OR, improving Docker compatibility (#18412).
- The parsing for a number of Podman CLI options which accept arrays has been changed to no longer accept string-delineated lists, and instead to require the option to be passed multiple times. These options are
--annotationtopodman manifest annotateandpodman manifest add, the--configmap,--log-opt, and--annotationoptions topodman kube play, the--pubkeysfileoption topodman image trust set, the--encryption-keyand--decryption-keyoptions topodman create,podman run,podman pushandpodman pull, the--env-fileoption topodman exec, the--bkio-weight-device,--device-read-bps,--device-write-bps--device-read-iops,--device-write-iops,--device,--label-file,--chrootdirs,--log-opt, and--env-fileoptions topodman createandpodman run, and the--hooks-dirand--moduleglobal options.
Changes
- The
podman system resetcommand no longer waits for running containers to gracefully stop, and instead immediately sends SIGKILL (#21874). - The
podman network inspectcommand now includes running containers using the network in its output (#14126). - The
podman composecommand is now supported on non-AMD64/ARM64 architectures. - VMs created by
podman machinewill now pass HTTP proxy environment variables into the VM for all providers. - The
--no-truncoption to thepodman kube playandpodman kube generatecommands has been deprecated. Podman now complies to the Kubernetes specification for annotation size, removing the need for this option. - The
DOCKER_HOSTenvironment variable will be set by default for rootless users when podman-docker is installed. - Connections from
podman system connectionand farms frompodman farmare now written to a new configuration file calledpodman-connections.conf. As a result, Podman no longer writes tocontainers.conf. Existing connections fromcontainers.confwill still be respected. - Most
podman farmsubcommands (save forpodman farm build) no longer need to connect to the machines in the farm to run. - The
podman createandpodman runcommands no longer require specifying an entrypoint on the command line when the container image does not define one. In this case, an empty command will be passed to the OCI runtime, and the resulting behavior is runtime-specific. - The default SELinux label for content mounted from the host in
podman machineVMs on Mac is nowsystem_u:object_r:nfs_t:s0so that it can be shared with all containers without issue. - Newly-created VMs created by
podman machinewill now share a single SSH key key for access. As a result,podman machine rm --save-keysis deprecated as the key will persist by default.
Bugfixes
- Fixed a bug where the
podman statscommand would not show network statistics when thepastanetwork mode was used. - Fixed a bug where
podman machineVMs using the HyperV provider could not mount shares on directories that did not yet exist. - Fixed a bug where the
podman composecommand did not respect the--connectionand--urloptions. - Fixed a bug where the
podman stop -t -1command would wait for 0 seconds, not infinite seconds, before sending SIGKILL (#21811). - Fixed a bug where Podman could deadlock when cleaning up a container when the
slirp4netnsnetwork mode was used with a restart policy ofalwaysor `unless...
v5.0.0-RC7
This will be the final v5.0.0 release candidate. If all goes well, we expect a final release early next week. Release notes follow:
Features
- VMs created by
podman machinecan now use the native Apple hypervisor (applehv) when run on MacOS. - A new command has been added,
podman machine reset, which will remove all existingpodman machineVMs and relevant configurations. - The
podman manifest addcommand now supports a new--artifactoption to add OCI artifacts to a manifest list. - The
podman create,podman run, andpodman pushcommands now support the--retryand--retry-delayoptions to configure retries for pushing and pulling images. - The
podman runandpodman execcommands now support a new option,--preserve-fd, which allows passing a list of file descriptors into the container (as an alternative to--preserve-fds, which passes a specific number of file descriptors). - Quadlet now supports templated units (#17744).
- The
podman kube playcommand can now create image-based volumes using thevolume.podman.io/imageannotation. - Containers created with
podman kube playcan now include volumes from other containers (similar to the--volumes-fromoption) using a new annotation,io.podman.annotations.volumes-from(#16819). - Pods created with
podman kube playcan now set user namespace options through the theio.podman.annotations.usernsannotation in the pod definition (#20658). - Macvlan and ipvlan networks can adjust the name of the network interface created inside containers via the new
containers.conffieldinterface_name(#21313). - The
--gpusoption topodman createandpodman runis now compatible with Nvidia GPUs (#21156). - The
--mountoption topodman createandpodman runsupports a new mount option,no-dereference, to mount a symlink (instead of its dereferenced target) into a container (#20098). - Podman now supports a new global option,
--config, to point to a Docker configuration where we can source registry login credentials. - The
podman ps --formatcommand now supports a new format specifier,.Label(#20957). - The
uidmappingandgidmappingoptions to thepodman run --userns=autooption can now map to host IDs by prefixing host IDs with the@symbol. - Quadlet now supports systemd-style drop-in directories.
- Quadlet now supports creating pods via new
.podunit files (#17687). - Quadlet now supports two new keys,
EntrypointandStopTimeout, in.containerfiles (#20585 and #21134). - Quadlet now supports specifying the
Ulimitkey multiple times in.containerfiles to set more than one ulimit on a container. - Quadlet now supports setting the
Notifykey tohealthyin.containerfiles, to only sdnotify that a container has started when its health check begins passing (#18189).
Breaking Changes
- The backend for the
podman machinecommands has seen extensive rewrites. Configuration files have changed format and VMs from Podman 4.x and earlier are no longer usable.podman machineVMs must be recreated with Podman 5. - The
podman machine initcommand now pulls images as OCI artifacts, instead of using HTTP. As a result, a validpolicy.jsonfile is required on the host. Windows and Mac installers have been changed to install this file. - QEMU is no longer a supported VM provider for
podman machineon Mac. Instead, the native Apple hypervisor is supported. - The
ConfigPathandImagefields are no longer provided by thepodman machine inspectcommand. Users can also no longer use{{ .ConfigPath }}or{{ .Image }}as arguments topodman machine inspect --format. - The output of
podman inspectfor containers has seen a number of breaking changes to improve Docker compatibility, including changingEntrypointfrom a string to an array of strings and StopSignal from an int to a string. - The
podman inspectcommand for containers now returns nil for healthchecks when inspecting containers without healthchecks. - The
podman pod inspectcommand now outputs a JSON array regardless of the number of pods inspected (previously, inspecting a single pod would omit the array). - It is no longer possible to create new BoltDB databases; attempting to do so will result in an error. All new Podman installations will now use the SQLite database backend. Existing BoltDB databases remain usable.
- Support for CNI networking has been gated by a build tag and will not be enabled by default.
- Podman will now print warnings when used on cgroups v1 systems. Support for cgroups v1 is deprecated and will be removed in a future release. The
PODMAN_CGROUPSV1_WARNINGenvironment variable can be set to suppress warnings. - Network statistics sent over the Docker API are now per-interface, and not aggregated, improving Docker compatibility.
- The default tool for rootless networking has been swapped from
slirp4netnstopastafor improved performance. As a result, networks namedpastaare no longer supported. - The
--imageoption replaces the now deprecated--image-pathoption forpodman machine init. - The output of
podman events --format "{{json .}}"has been changed to improve Docker compatibility, including thetimeandtimeNanofields (#14993). - The name of
podman machineVMs and the username used within the VM are now validated and must match this regex:[a-zA-Z0-9][a-zA-Z0-9_.-]*. - Using multiple filters with the List Images REST API now combines the filters with AND instead of OR, improving Docker compatibility (#18412).
- The parsing for a number of Podman CLI options which accept arrays has been changed to no longer accept string-delineated lists, and instead to require the option to be passed multiple times. These options are
--annotationtopodman manifest annotateandpodman manifest add, the--configmap,--log-opt, and--annotationoptions topodman kube play, the--pubkeysfileoption topodman image trust set, the--encryption-keyand--decryption-keyoptions topodman create,podman run,podman pushandpodman pull, the--env-fileoption topodman exec, the--bkio-weight-device,--device-read-bps,--device-write-bps--device-read-iops,--device-write-iops,--device,--label-file,--chrootdirs,--log-opt, and--env-fileoptions topodman createandpodman run, and the--hooks-dirand--moduleglobal options.
Changes
- The
podman system resetcommand no longer waits for running containers to gracefully stop, and instead immediately sends SIGKILL (#21874). - The
podman network inspectcommand now includes running containers using the network in its output (#14126). - The
podman composecommand is now supported on non-AMD64/ARM64 architectures. - VMs created by
podman machinewill now pass HTTP proxy environment variables into the VM for all providers. - The
--no-truncoption to thepodman kube playandpodman kube generatecommands has been deprecated. Podman now complies to the Kubernetes specification for annotation size, removing the need for this option. - The
DOCKER_HOSTenvironment variable will be set by default for rootless users when podman-docker is installed. - Connections from
podman system connectionand farms frompodman farmare now written to a new configuration file calledpodman-connections.conf. As a result, Podman no longer writes tocontainers.conf. Existing connections fromcontainers.confwill still be respected. - Most
podman farmsubcommands (save forpodman farm build) no longer need to connect to the machines in the farm to run. - The
podman createandpodman runcommands no longer require specifying an entrypoint on the command line when the container image does not define one. In this case, an empty command will be passed to the OCI runtime, and the resulting behavior is runtime-specific. - The default SELinux label for content mounted from the host in
podman machineVMs on Mac is nowsystem_u:object_r:nfs_t:s0so that it can be shared with all containers without issue. - Newly-created VMs created by
podman machinewill now share a single SSH key key for access. As a result,podman machine rm --save-keysis deprecated as the key will persist by default.
Bugfixes
- Fixed a bug where the
podman statscommand would not show network statistics when thepastanetwork mode was used. - Fixed a bug where
podman machineVMs using the HyperV provider could not mount shares on directories that did not yet exist. - Fixed a bug where the
podman composecommand did not respect the--connectionand--urloptions. - Fixed a bug where the
podman stop -t -1command would wait for 0 seconds, not infinite seconds, before sending SIGKILL (#21811). - Fixed a bug where Podman could deadlock when cleaning up a container when the
slirp4netnsnetwork mode was used with a restart policy ofalwaysorunless-stoppedoron-failureand a user namespace (#21477). - Fixed a...