.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 to version 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 health checks: the `--health-cmd` to define a new health check and `--no-healthcheck` to disable an existing health check. These options make it easier to add, modify, or disable health checks 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 health check logging: `--health-log-destination` (specifies where logs are stored), `--health-max-log-count` (specifies how many health checks worth of logs are stored), and `--health-max-log-size` (specifies the maximum size of the health check log).
For more information about notable changes, see link:
https://github.com/containers/podman/blob/main/RELEASE_NOTES.md[upstream release notes].