mirror of https://github.com/containers/podman.git
18 KiB
18 KiB
Release Notes
0.12.1.2
Bugfixes
- Fixed a bug where an empty path for named volumes could make it impossible to create containers
- Fixed a bug where containers using another container's network namespace would not also use the other container's /etc/hosts and /etc/resolv.conf
- Fixed a bug where containers with
--rmwhich failed to start were not removed - Fixed a potential race condition attempting to read
/etc/passwdinside containers
0.12.1.1
Features
- Added the
podman generate kubecommand to generate Kubernetes Pod and Service YAML for Podman containers and pods - The
podman pod stopflag now accepts a--timeoutflag to set the timeout for stopping containers in the pod
Bugfixes
- Fixed a bug where rootless Podman would fail to start if the default OCI hooks directory is not present
0.12.1
Features
- Rootless Podman now creates the storage.conf, libpod.conf, and mounts.conf configuration files automatically in
~/.config/containers/for ease of reconfiguration - The
podman pod createcommand can expose ports in the pod's network namespace, allowing public services to be created in pods - The
podman container checkpointcommand can now keep containers running after they are checkpointed with the--leave-runningflag - The
podman container checkpointandpodman container restorecommands now support the--tcp-establishedflag to checkpoint and restore containers with active TCP connections - The
podman versioncommand now has a--formatflag to produce machine-readable output - Added the
podman container exists,podman pod exists, andpodman image existscommands to easily check for a container/pod/image, respectively, by name or ID - The
podman ps --podflag now has a short alias,-p - The
podman rmiandpodman rmcommands now have a--pruneflag to prune unused images and containers, respectively - The
podman pscommand now has a--syncflag to force a sync of Podman's state against the OCI runtime, resolving some state desync errors - Added the
podman volumeset of commands for creating and managing local-only named volumes
Bugfixes
- Fixed a breaking change in rootless Podman where a change in default paths caused Podman to be unable to function on systems upgraded from 0.10.x or earlier
- Fixed a bug where
podman execwithout-twould still use a terminal if the container was created with-t - Fixed a bug where container root propogation was not being properly adjusted if volumes with root propogation set were mounted into the container
- Fixed a bug where
podman execcould hold the container lock longer than necessary waiting for an exited container - Fixed a bug where rootless containers using
slirp4netnsfor networking were reporting usingbridgenetworking inpodman inspect - Fixed a bug where
podman container restore -awas attempting to restore all containers, including created and running ones. It will now only attempt to restore stopped and exited containers - Fixed a bug where rootless Podman detached containers were not being properly cleaned up
- Fixed a bug where privileged containers were being mounted with incorrect (too restrictive) mount options such as
nodev - Fixed a bug where
podman stopwould throw an error attempting to stop a container that had already stopped - Fixed a bug where
NOTIFY_SOCKETwas not properly being passed into Podman containers - Fixed a bug where
/dev/shmwas not properly mounted in rootless containers - Fixed a bug where rootless Podman would set up the CNI plugins for networking (despite not using them in rootless mode), potentially causing
inotifyrelated errors - Fixed a bug where Podman would error on numeric GIDs that do not exist in the container's
/etc/group - Fixed a bug where containers in pods or created with
--net=containerwere not mounting/etc/resolv.confand/etc/hosts
Misc
podman buildnow defaults the--force-rmflag totrue- Improved
podman runlabelsupport for labels featuring arguments with whitespace - Containers without a network namespace will now use the host's
resolv.conf - The
slirp4netnsnetwork mode can now be used with containers running as root. It may be useful for container-in-container scenarios where the outer container does not have host networking set - Podman now uses
inotifyto wait for container exit files to be created, instead of polling. Ifinotifycannot be used, Podman will fall back to polling to check if the file has been created - The
podman logscommand now uses improved short-options handling, allowing its flags to be combined if desired (for example,podman logs -lfinstead ofpodman logs -l -f) - Hardcoded OCI hooks directories used by Podman are now deprecated; they should instead be coded into the
libpod.confconfiguration file. They can be specified as an array viahooks_dir
0.11.1.1
Bugfixes
- Fixed a bug where Podman was not correctly adding firewall rules for containers, preventing them from accessing the network
- Fixed a bug where full error messages were being lost when creating containers with user namespaces
- Fixed a bug where container state was not properly updated if a failure occurred during network setup, which could cause mounts to be left behind when the container was removed
- Fixed a bug where
podman execcould time out on slower systems by increasing the relevant timeout
Misc
podman rm -fnow removes paused containers. As such,podman rm -afcompleting successfully guarantees all Podman containers have been removed- Added a field to
podman infoto show if Podman is being run as rootless - Made a small output format change to
podman images- image sizes now feature a space between number and unit (e.g.123 MBnow instead of123MB) - Vendored an updated version of
containers/storageto fix several bugs reported upstream
0.11.1
Features
- Added
--alland--latestflags topodman checkpointandpodman restore - Added
--max-workersflag to all Podman commands that support operating in parallel, allowing the maximum number of parallel workers used to be specified - Added
--allflag topodman restart
Bugfixes
- Fixed a bug where
podman port -lwould segfault if no containers were present - Fixed a bug where
podman stats -awould error if containers were present but not running - Fixed a bug where container status checks would sometimes leave zombie OCI runtime processes
- Fixed checkpoint and restore code to verify an appropriate version of
criuis being used - Fixed a bug where environment variables with no specified value (e.g.
-e FOO) caused errors (they are now added as empty) - Fixed a bug where rootless Podman would attempt to configure the system firewall, causing errors on some systems where iptables is not in the user's PATH
- Fixed a bug where rootless Podman was unable to successfully write the container ID to a file when
--cid-filewas specified topodman run - Fixed a bug where
podman unmountwould refuse to unmount a container if it was running (the unmount will now be deferred until the container stops) - Fixed a bug where rootless
podman attachwould fail to attach due to a too-long path name - Fixed a bug where
podman infowas not properly reporting the Git commit Podman was built from - Fixed a bug where
podman run --interactivewas not holding STDIN open when-aflag was specified - Fixed a bug where Podman with the
cgroupfsCGroup driver was sometimes not successfully removing pod CGroups - Fixed a bug where rootless Podman was unable to run systemd containers (note that this also requires an update to systemd)
- Fixed a bug where
podman runwith the--userflag would fail if the container image did not contain/etc/passwdor/etc/group
Misc
podman rm,podman restart,podman kill,podman pause, andpodman unpausenow operate in parallel, greatly improving speed when multiple containers are specifiedpodman create,podman run, andpodman pshave a number of improvements which should greatly increase their speed- Greatly improved performance and reduced memory utilization of container status checks, which should improve the speed of most Podman commands
- Improve ability of
podman runlabelto run commands that are not Podman - Podman containers with an IP address now add their hostnames to
/etc/hosts - Changed default location of temporary libpod files in rootless Podman
- Updated the default Podman seccomp profile
Compatability
Several paths related to rootless Podman had their default values changed in this release. If paths were not hardcoded in libpod.conf, your system may lose track of running containers and believe they are newly-created.
0.10.1.3
Bugfixes
- Fixed a bug where
podman buildwould not work while any containers were running
0.10.1.2
Bugfixes
- Fixed cgroup mount for containers using systemd as init to work properly with the systemd cgroup manager
0.10.1.1
Features
- Added handling for running containers as users with numeric UIDs not present in the container's /etc/passwd. This allows getpwuid() to work inside these containers.
- Added support for the REGISTRY_AUTH_FILE environment variable, which specifies the location of credentials for registry login. This is supported by the
push,pull,login,logout,runlabel, andsearchcommands
Bugfixes
- Fixed handling for image volumes which are mounted on symlinks. The links are now resolved within the container, not on the host
- Fixed mounts for containers that use systemd as init to properly include all mounts required by systemd to function
Misc
- Updated vendored version of Buildah used to power
podman build
0.10.1
Features
- Added the
podman container checkpointandpodman container restorecommands to checkpoint and restore containers - Added the
podman container runlabelcommand to run containers based on commands contained in their images - Added the
podman create --ipandpodman run --ipflags to allow setting static IPs for containers - Added the
podman kill --allflag to send a signal to all running containers
Bugfixes
- Fixed Podman cleanup processes for detached containers to properly print debug information when
--syslogflag is specified - Fixed manpages for
podman createandpodman runto document existing--netflag as an alias for--network - Fixed issues with rootless Podman where specifying a single user mapping container was causing all Podman commands to hang
- Fixed an issue with rootless Podman not properly detecting when user namespaces were not enabled
- Fixed an issue where Podman user namespaces were not preserving file capabilities
- Fixed an issue where
resolv.confin container would unconditionally forward nameservers into the container, even localhost - Fixed containers to release resources in the OCI runtime immediately after exiting, improving compatability with Kata containers
- Fixed OCI runtime handling to fix several issues when using gVisor as an OCI runtime
- Fixed SELinux relabel errors when starting containers after a system restart
- Fixed a crash when initializing hooks on containers running systemd as init
- Fixed an SELinux labelling issue with privileged containers
- Fixed rootless Podman to raise better errors when using CGroup resource limits, which are not currently compatible with rootless
- Fixed a crash when runc was used as the OCI runtime for containers running systemd as init
- Fixed SELinux labelling for containers run with
--security-opt label=disableto assign the correct label
Misc
- Changed flag ordering on all Podman commands to ensure flags are alphabetized
- Changed
podman stopto work in parallel when multiple containers are specified, greatly speeding up stop for containers that do not stop after SIGINT - Updated vendored version of Buildah used to power
podman build - Added version of vendored Buildah to
podman infoto better debug issues
0.9.3.1
Bugfixes
- Fixed a critical issue where SELinux contexts set on tmpfs volumes were causing runc crashes
0.9.3
Features
- Added a flag to
libpod.conf,label, to globally enable/disable SELinux labelling for libpod - Added
--mountflag topodman createandpodman runas a new, more explicit way of specifying volume mounts
Bugfixes
- Fixed a crash during container creation when an image had no names
- Fixed default rootfs mount propagation to for containers to match Docker
- Fixed permissions of
/procin containers - Fixed permissions of some default bind mounts (for example,
/etc/hosts) in read-only containers - Fixed
/dev/shmin--ipc=containerand--ipc=hostcontainers to use the correct SHM - Fixed rootless Podman to properly join the namespaces of other containers
- Fixed the output of
podman diffto not display some default changes that will not be committed - Fixed rootless to better handle cases where insufficient UIDs/GIDs are mapped into the container
0.9.2.1
Bugfixes
- Updated Buildah dependency to fix several bugs in
podman build
Misc
- Small performance improvement in image handling code to not recalculate digests
0.9.2
Features
- Added
--intervalflag topodman waitto determine the interval between checks for container status - Added a switch in
libpod.confto disable reserving ports for running containers. This lowers the safety of port allocations, but can significantly reduce memory usage. - Added ability to search all the contents of a registry if no image name is specified when using
podman search
Bugfixes
- Further fixes for sharing of UTS namespaces within pods
- Fixed a deadlock in containers/storage that could be caused by numerous parallel Podman processes.
- Fixed Podman running into open file limits when many ports are forwarded
- Fixed default mount propagation on volume mounts
- Fixed default mounts under /dev remaining if /dev is bind-mounted into the container
- Fixed rootless
podman createwith no command specified throwing an error
Misc
- Added
podman rm --volumesflag for compatability with Docker. As Podman does not presently support named volumes, this does nothing for now, but provides improved compatability with the Docker command line. - Improved error messages from
podman pull
Compatability
- Podman is no longer being built by default with support for the Devicemapper storage driver. If you are using this storage driver, you should investigate switching to overlayfs.
0.9.1.1
Bugfixes
- Added support for configuring iptables and firewalld firewalls to allow container traffic. This should resolve numerous issues with network access in containers.
Note
It is recommended that you restart your system firewall after installing this release to clear any firewall rules created by older Podman versions. If port forwarding to containers does not work, it is recommended that you restart your system.
0.9.1
Features
- Added initial support for the
podman podcommand as non-root
Bugfixes
- Fixed regression where invalid Podman commands would still cause a clean exit
- Fixed
podman rmi --allto not error if no images are present on the system - Fixed parsing of container logs with
podman logsto properly handle CRI logging, fixing some issues with blank lines in logs - Fixed a bug creating pod cgroups using the systemd cgroup driver with systemd versions 239 and higher
- Fixed handling of volume mounts that overlapped with default container mounts (for example,
podman run -v /dev/:/dev) - Fixed sharing of UTS namespace in pods
Misc
- Added additional debug information when pulling images if
--log-level=debugis specified podman buildnow defaults to caching intermediate layers while building
0.8.5
Features
- Added the ability to add a multipart entrypoint with
podman run --entrypoint - Improved help text when invalid commands are specified
- Greatly improved support for containers which use systemd as init
Bugfixes
- Fixed several bugs with rootless
podman exec - Fixed rootless
podmanwith a symlinked storage directory crashing - Fixed bug with
podman psand multiple filters where the interface did not match Docker - Fixed handling of
resolv.confon the host to handle symlinks - Increased open file descriptor and process limits to match Docker and Buildah
- Fixed
podman run -hto specify the container's hostname (as it does in Docker) instead of printing help text - Fixed a bug with image shortname handling where repositories were incorrectly being treated as registries
- Fixed a bug where
podman waitwas busywaiting and consuming large amounts of CPU
0.8.4
Features
- Added the
podman pod topcommand - Added the ability to easily share namespaces within a pod
- Added a pod statistics endpoint to the Varlink API
- Added information on container capabilities to the output of
podman inspect
Bugfixes
- Fixed a bug with the --device flag in
podman runandpodman create - Fixed
podman pod statsto accept partial pod IDs and pod names - Fixed a bug with OCI hooks handling
ALWAYSmatches - Fixed a bug with privileged rootless containers with
--net=hostset - Fixed a bug where
podman exec --userwould not work with usernames, only numeric IDs - Fixed a bug where Podman was forwarding both TCP and UDP ports to containers when protocol was not specified
- Fixed issues with Apparmor in rootless containers
- Fixed an issue with database encoding causing some containers created by Podman versions 0.8.1 and below to be unusable.
Compatability:
We switched JSON encoding/decoding to a new library for this release to address a compatability issue introduced by v0.8.2. However, this may cause issues with containers created in 0.8.2 and 0.8.3 with custom DNS servers.