.The Container Tools packages have been updated
The updated Container Tools RPM meta-package, which contains the Podman, Buildah, Skopeo, `crun`, and `runc` tools, is now available. The Buildah has been updated to version 1.39.0, Skopeo has been updated toversion 1.18.0. Podman v5.4 contains the following notable bug fixes and enhancements over the previous version:
* The `podman update` command now supports a wide variety of options related to healthchecks: the `--health-cmd` to define a new healthcheck and `--no-healthcheck` to disable an existing healthcheck. These options make it easier to add, modify, or disable healthchecks on running containers. For more information, see the `podman-update(5)` man page.
* The `--mount type=volume` option for the `podman run`, `podman create`, and `podman volume create` commands now supports a new option, `subpath=`, to make only a subset of the volume visible in the container.
* The `--userns=keep-id` option for the `podman run`, `podman create`, and `podman pod create` commands now supports a new option, `--userns=keep-id:size=`, to configure the size of the user namespace.
* The `podman kube play` command now supports Container Device Interface (CDI) devices.
* The `podman run`, `podman create`, and `podman pod create` commands now support a new option, `--hosts-file`, to define the base file used for `/etc/hosts` in the container.
* The `podman run`, `podman create`, and `podman pod create` commands now support a new option, `--no-hostname`, which disables the creation of `/etc/hostname` in the container.
* The `podman network create` command now supports a new option for bridge networks, `--opt mode=unmanaged`, which allows Podman to use an existing network bridge on the system without changes.
* The `--network` option for `podman run`, `podman create`, and `podman pod create` now accepts a new option for bridge networks, `host_interface_name`, which specifies a name for the network interface created outside the container.
* The `podman manifest rm` command now supports a new option,`--ignore`, to proceed successfully when removing manifests that do not exist.
* The `podman system prune` command now supports a new option, `--build`, to remove build containers leftover from prematurely terminated builds.
* Podman now passes container hostnames to Netavark, which uses them for any DHCP requests for the container.
* Packagers can now set the `BUILD_ORIGIN` environment variable when building podman from the Makefile. This provides information on who built the Podman binary, and this information is displayed in the `podman version` and `podman info` commands. Including this information can assist with bug reports by helping maintainers to identify the source and method of the build and installation.
* The `podman kube generate` and `podman kube play` commands can now create and run Kubernetes Job YAML.
* The `podman kube generate` command now includes information on the user namespaces for pods and containers in the generated YAML. The `podman kube play` command uses this information to duplicate the user namespace configuration when creating new pods based on the YAML.
* The `podman kube play` command now supports Kubernetes volumes of type image.
* The service name of `systemd` units generated by Quadlet can now be set with the `ServiceName` key in all supported Quadlet files.
* Quadlets can now disable their implicit dependency on `network-online.target` by using a new key, `DefaultDependencies`, supported by all Quadlet files.
* Quadlet `.container` and `.pod` files now support a new key, `AddHost`, to add hosts to the container or pod.
* The `PublishPort` key in Quadlet `.container` and `.pod` files can now accept variables in its value.
* Quadlet `.container` files now support two new keys, `CgroupsMode` and `StartWithPod`, to configure control groups for the container and whether the container will be started with the pod that it is part of.
* Quadlet `.container` files can now use the network of another container by specifying the `.container` file of the container to share within the Network key.
* Quadlet `.container` files can now mount images managed by `.image` files into the container by using the `Mount=type=image` key with an `.image` target.
* Quadlet `.pod` files now support six new keys, `DNS`, `DNSOption`, `DNSSearch`, `IP`, `IP6`, and `UserNS`, to configure `DNS`, static IPs, and user namespace settings for the pod.
* Quadlet `.image` files can now give an image multiple times by specifying the `ImageTag` key multiple times.
* Quadlets can now be placed in the `/run/containers/systemd` directory as well as existing directories, such as `$HOME/containers/systemd` and `/etc/containers/systemd/users`.
* Quadlet now properly handles subdirectories of a unit directory that is a symlink.
* The `podman manifest inspect` command now includes the manifest's annotations in its output.
* The `--add-host` option for `podman create`, `podman run`, and `podman pod create` now supports specifying multiple hostnames, semicolon-separated (for example `podman run --add-host test1;test2:192.168.1.1`).
* The `podman run` and `podman create` commands now support three new options for configuring healthcheck logging: `--health-log-destination` (specifies where logs are stored), `--health-max-log-count` (specifies how many healthchecks worth of logs are stored), and `--health-max-log-size` (specifies the maximum size of the healthcheck log).
For more information about notable changes, see link:
https://github.com/containers/podman/blob/main/RELEASE_NOTES.md[upstream release notes].