Features
- A new command has been added,
podman volume rename, to allow renaming volumes. Volumes created using volume drivers and volumes that are currently used by a container cannot be renamed (#28189). - A new command has been added,
podman machine restart, to allow easy restart of VMs managed bypodman machine(#28366). - The
podman network rmcommand now includes a new option,--ignore, which suppresses errors when attempting to remove networks that do not exist (#28363). - The
podman manifest pushcommand now includes two new options,--retryand--retry-delay, which allow pushes to be automatically retried on failure (#28590). - Quadlet
.containerunits now support a new key,ImageVolume=, to configure how volumes from images are handled (#28875). - The
podman generate kubecommand now includes support for generating container healthchecks as alivenessProbe(#22095).
Changes
- The
podman infocommand now includes free memory available on the host (in addition to used memory and total memory) (#29116). - The Pesto rootless port forwarding tool now supports IPv6 port forwarding with source IP preservation.
Bugfixes
- Fixed a bug where the remote Podman client could hang on some operations when connecting to a remote Podman service over SSH (#28453).
- Fixed a bug where the
podman image scpcommand could not be used with usernames containing an@character (#27655). - Fixed a bug where the
podman kube playcommand did not properly validate requestedhostPortbindings, allowing the creation of containers with duplicated host ports which would never be able to start at the same time (#26622). - Fixed a bug where
podman machineVMs on Windows created using thehypervprovider would sometimes not properly start due to a race conditioning setting up volume mounts. - Fixed a bug where
podman machineVMs on Mac where machines could be left in an inconsistent state if thepodman machine startcommand was interrupted by a signal. - Fixed a bug where creating a container on a
podman machineVM on Mac that attempted to bind to a port number number 1024 would return a nonsensical error message; a clear error explaining that privileged ports cannot be bound is now returned. - Fixed a bug where the
podman quadlet listandpodman quadlet rmcommands did not function properly with uninstantiated template Quadlets. - Fixed a bug where the
podman quadlet installcommand would occasionally fail to install a Quadlet if non-quadlet files were specified. - Fixed a bug where the
podman quadlet installcommand would not refuse to install Quadlets including non-quadlet files if the--applicationoption was not specified. - Fixed a bug where healthcheck logs could be corrupted, preventing proper healthcheck operation, if a healthcheck was killed midway through writing the file.
- Fixed a bug where the
podman volume prune --allcommand incorrectly discarded label filters, causingpodman volume prune --all --filter label=footo prune all volumes, not just those with thefoolabel. - Fixed a bug where the
podman events --format=jsoncommand would printnullinstead of an error when the server sent an event that could not be decoded. - Fixed a bug where a race condition could cause Quadlet to generate corrupt systemd units (#29004).
- Fixed a bug where the
podman inspectcommand on a container with a single-element command (e.g.podman run fedora bash) would include the command in bothPathandArgs, when it should only have been included inPath(#29155). - Fixed a bug where the
--formatoption topodman inspecton containers did not properly support some format specifiers supported by Docker (e.g.{{.HostIp}}did not work, but{{.HostIP}}did) (#29164). - Fixed a bug where the Quadlet generator would not write error messages to
STDERRbut only to/dev/kmsg, meaning that errors were not visible fromsystemd-analyze --generators verifyand other tooling invoking the systemd generator directly. - Fixed a bug where containers which failed to start would, in some circumstances, not properly clean up, resulting in improper behavior (#26143).
- Fixed a bug where the
podman kube generatecommand would improperly generate warning messages only applicable when running as a rootless user on an SELinux enabled system when not running in that configuration (#17743).
API
- Fixed a bug where the Compat and Libpod Create endpoint for Exec Sessions (
/containers/$CID/exec) did not honor theConsoleSizeparameter in the exec config. - The Compat API has seen further changes to improve support for the Docker v1.44 API, including the deprecation of several fields removed in that release.
- Preparations have begun to implement support for the v1.45 API.
Misc
- Updated Buildah to v1.45.0
- Updated the image library to v5.41.0
- Updated the storage library to v1.64.0
- Updated the common library to v0.69.0