podman 6.0.0 - #289657
Conversation
9af6d9a to
b19ec0e
Compare
|
|
🤖 An automated task has requested bottles to be published to this PR. Caution Please do not push to this PR branch before the bottle commits have been pushed, as this results in a state that is difficult to recover from. If you need to resolve a merge conflict, please use a merge commit. Do not force-push to this PR branch. |
|
The recipe for Podman 6.0.0 is broken on Linux https://github.com/podman-container-tools/podman/releases/tag/v6.0.0
|
|
Please make a pull request with those adjustments |
Created by
brew bumpCreated with
brew bump-formula-pr.resourceblocks have been checked for updates.release notes
--network-cmd-pathglobal option, only used withslirp4netns, has been removed.github.com/containers/podman/v5togo.podman.io/podman/v6as part of our move into a CNCF-owned GitHub organization.podman quadletsuite of commands functions has been changed. Previously, Quadlets and their associated files were tracked using a.appfile, ensuring that removing a Quadlet also removed all associated non-Quadlet files. Now, Quadlets and associated files are placed in subdirectories, which should reduce bugs and make manual management of Quadlets added bypodman quadlet installmuch easier.podman machineon Linux now mount volumes from the host using systemd. Volume mounts on existingpodman machineVMs on Linux have been broken by this change, and the VM will need to be recreated.podman volume prunecommand now matches Docker's behavior by only pruning unused anonymous volumes. Please use the newly-added--alloption for the previous behavior (pruning all volumes).podman volume listcommand now combines multiple filters using logicalANDinstead of logicalOR(meaning all filters must match for a container to be included in output) (#26786).label!=filter used in many commands now combines the output of multiple instances of the filter with logicalANDinstead of logicalOR.--format='{{json .Labels}}option to thepodman ps,podman pod ps, andpodman volume lscommands now prints its output as comma-separatedkey=valuepairs instead of as a JSON map, improving Docker compatibility (#21847).--all-providersoption topodman machine listhas been removed, as machines from all providers can now be accessed by all commands.MemorySwappinessfield ofpodman inspectis now set tonilwhen not explicitly set by the user (instead of-1), improving Docker compatibility (#23824).podman commitcommand now pauses the container while committing changes, improving security by restricting concurrent modification. The prior behavior can be restored by usingpodman commit --pause=false ....nameOrIDparameter from theartifacts.Remove()function.Features
podman machinecommands can now operate on VMs from all providers, regardless of what the current provider is set to. The provider set in the configuration only determines the provider used by newly-created VMs, and can be overridden by the newpodman machine init --provideroption. This should make operation of Mac and Windows installs mixing use ofapplehvandlibkrunVMs, orhypervandwslVMs, much easier.podman machine os update, which updates the operating system of apodman machineVM. Please note that this is not supported with thewslprovider.podman system hyperv-prep, allowing Windows administrators to prepare a host for their users to runpodman machineVMs using thehypervprovider.podman machine startandpodman machine init --now, if the connection to that VM is not the default, users will be prompted whether they want to change the default to the machine that was just started. This can also be controlled by a new option,--update-connection, which controls whether the default will be updated. If the--update-connectionoption is set, a user-interactive prompt is not displayed.podman machine initandpodman machine setcommands now support a new option,--import-native-ca, which, when set, causespodman machineVMs on Windows, Linux, and Mac to import the host's trusted CA certificates each time the VM boots.podman execcommand now has a new option,--no-session, disabling API session tracking and database operations to increase performance (#26727).podman image list --format jsoncommand now includes two new fields for each image,RepositoryandTag(#27632)..volumeunits now support three new keys,UID=andGID=(to set the UID and GID that the volume will be created with) andOptions=(to set generic volume options)..containerunits now support mounting anonymous volumes (using aMount=key with no source specified) (#28497)./usr/share/containers/systemd/usersand/usr/share/containers/systemd/users/${UID}, to allow distributions to more easily package and distribute Quadlets (#27843).podman quadlet listcommand now has a new alias,podman quadlet ls.podman quadlet listcommand now has a new option,--noheading, which disables printing the table header. This is set automatically if the--formatoption is used.pomdan quadlet listcommand now includes a new field in its output,Pod, which prints the pod a Quadlet.containerunit is part of.podman quadlet listcommand's--filteroption now supports a new filter,status=(#28369).--gpusoption topodman createandpodman runis now compatible with AMD GPUs.podman create,podman run, andpodman pod createcommands can now specify volumes with a new option,nocreate(e.g.podman run --mount type=volume,src=myvol,dst=/mnt,nocreate) which will error if the specified volume does not exist, instead of creating it.--log-optoption to thepodman runandpodman createnow supports a new option,label=, to attach additional labels to logged messages (only usable with thejournaldlog driver).--tls-detailsoption, allowing custom tuning of TLS settings using acontainers-tls-details.yaml(5)file.diedevent for Containers now exposes a new attribute,OOMKilled, which (if set) indicates the container was stopped due to running out of memory (#26701).ip=option to--netmultiple times (e.g.--net mynet:ip=10.0.0.2,ip=10.0.0.3,ip=10.0.0.4).podman volume prunecommand now includes a new option,--all, to prune all unused volumes, not just anonymous volumes (#24597).podman volume prunecommand now includes a new option,--dry-run, which returns the volumes that would be removed but does not actually remove them (#27838).podman image scpcommand now includes a new option,--format, to set the archive format used for the image transfer (#28183).containers.conf,default_host_ips, to set the default host IP that ports are forwarded from if an IP is not specified by the user (#27186).podman image trustsuite of commands now support a new--signature-policyoption, which is mandatory forpodman image trust set.create,pull,push, andremove) (#27260).rootless_port_forwarderfield incontainers.confhas been added,rootless_port_forwarder="pasta". When set, rootless bridge networks will use Pasta's kernel-level port forwarding via Pesto instead of rootlessport, preserving the original client source IP in network traffic in rootless containers. The default remainsrootlessport(the default for Podman 5.x), but we will investigate switching at a later date when stability is more certain.podman psandpodman container prunecommands,--filter annotation=, to filter containers based on their annotations (#28562).podman network createcommand's--routeoption can now create blackhole, unreachable, and prohibit routes to prevent containers from reaching certain networks (e.g.podman network create --route 10.20.30.40/24,blackhole ...) (#20022).podman infocommand now reports CDI spec directories and discovered CDI devices.Changes
podman machinenow mount the host's user configurations (e.g.~/.config/containerson Linux) into the machine at/etc/containers, allowing users to edit the config files controlling Podman's behavior directly.podman machineprovider on Macs has been changed tolibkrun.podman machineVMs on Windows with thehypervprovider no longer requires administrator privileges (creating machines still requires admin, however). Operations requiring elevated privileges will prompt for administrator access. Please note that this only works with newly-created VMs.podman pod inspectcommand now prints arrays in its output in deterministic order.podman machine os applycommand has been updated, and now usesbootc switchto apply changes. All transports supported bybootc switchcan be used for the new image to apply.nsfsfile handle. This behavior is currently gated behind an environment variable,drop-pause-process, being set.--net=hostwill now use127.0.0.1for theirhost.containers.internaladdress, instead of a public IP of the machine (#27823).podman build -f <(<<<"FROM scratch"), an empty temporary directory is now used as the context directory (#28113).Bugfixes
.containerfile that was part of a pod would incorrectly add a dependency on the template used for the container to the pod (#27844)..podfiles would unconditionally setRestart=on-failureeven when the user specified an alternative restart policy (#28081).podman machineVM on Windows using thehypervprovider would fail if the machine failed to start on first boot (#27930).podman machine initandpodman machine setallowed creating VMs with more CPUs than were available on the host, creating VMs that could not be started (#28322).podman container restore --publishcommand would silently ignore the--publishoption instead of erroring when used without the--importoption or a checkpoint image.wslprovider was not possible (#27411).podman container clonecommand would fail with containers created with environment secrets (--secret type=env,...) (#28130).tag=log option (--log-opt tag=mytag) was allowed when a log driver other thanjournaldwas selected.--helpwith some commands was incorrectly formatted (#28178).podman versioncommand would error if the server could not be connected to (e.g. thepodman machineVM was shut down). In this case, client version is now printed (#28222).podman kube generateon a container including volumes with.characters in their names produced invalid YAML (#27620)..containerignoreand.dockerignorefiles that began or ended with slashes were silently ignored during remote builds (#25458).--transient-storeoption would fail (#28483).podman generate speccommand would panic when run on a pod with no infra container (#21609).podman container inspectcommand could HTML-escape certain characters in its output (#28560)./etc/hostscontaining multiple containers would incorrectly remove entries from/etc/hostsfor all containers in the pod when any container stopped./dev/mqueuecould be unable to start containers as Podman attempted to add the device unconditionally.<nil>instead of the showing nothing (#28705).HostNamein the user's SSH config (#25067).podman inspect --type=allcommand would, when attempting to inspect multiple networks, output only one of the networks multiple times..containerfiles using thehttp_proxy=truesetting did not properly escape special characters in the environment variables added to the container when creating the systemd unit file (#28698).log_pathsetting incontainers.conf(#28792).podman savecommand would fail on Linux when using the-f oci-diror-f docker-dirarguments.podman machineVMs on Linux would fail to mount the directories under a symlinked path into the VM (#28911).podman container checkpoint --leave-runningcommand could produce inconsistent checkpoints because the rootfs and named volume diffs were performed after the processes were allowed to run for a time; the container is now paused until the checkpoint is fully complete.podman kube playcommand would incorrectly set memory limits if the user specified the limit as a fractical BinarySI quantity (e.g.1.5Gi) (#28789).API
Health, providing information on the status of the container's healthcheck (#27786).POST /libpod/local/artifacts/add, for loading artifacts from the local system (not requiring transmission of a tarball).POST /libpod/local/imagesendpoint for loading images from the local system now requires that thepathquery parameter is an absolute path, not a relative path.pullProgressquery parameter is set totrue.subpathoption for volumes when creating containers was ignored (#27171).OCIRuntimefield.HostConfig.Devices, greatly improving the reliability of CDI devices when using the Compat API.HostConfigfield in its responses.next-exitcondition (#28514).Misc
podman inspect.View the full release notes at https://github.com/podman-container-tools/podman/releases/tag/v6.0.0.