Releases: containers/podman
Releases · containers/podman
v1.8.1
Features
- Many networking-related flags have been added to
podman pod create
to enable customization of pod networks, including--add-host
,--dns
,--dns-opt
,--dns-search
,--ip
,--mac-address
,--network
, and--no-hosts
- The
podman ps --format=json
command now includes the ID of the image containers were created with - The
podman run
andpodman create
commands now feature an--rmi
flag to remove the image the container was using after it exits (if no other containers are using said image) ([#4628](https://github.com/c\
ontainers/libpod/issues/4628)) - The
podman create
andpodman run
commands now support the--device-cgroup-rule
flag (#4876) - While the HTTP API remains in alpha, many fixes and additions have landed. These are documented in a separate subsection below
- The
podman create
andpodman run
commands now feature a--no-healthcheck
flag to disable healthchecks for a container (#5299) - Containers now recognize the
io.containers.capabilities
label, which specifies a list of capabilities required by the image to run. These capabilities will be used as long as they are more restrictive than
the default capabilities used - YAML produced by the
podman generate kube
command now includes SELinux configuration passed into the container via--security-opt label=...
(#4950)
Bugfixes
- Fixed CVE-2020-1726, a security issue where volumes manually populated before first being mounted into a container could have those contents overwritten on first being mounted into a container
- Fixed a bug where Podman containers with user namespaces in CNI networks with the DNS plugin enabled would not have the DNS plugin's nameserver added to their
resolv.conf
([#5256](https://github.com/contain\
ers/libpod/issues/5256)) - Fixed a bug where trailing
/
characters in image volume definitions could cause them to not be overridden by a user-specified mount at the same location ([#5219](https://github.com/containers/libpod/issues/\
5219)) - Fixed a bug where the
label
option inlibpod.conf
, used to disable SELinux by default, was not being respected (#5087) - Fixed a bug where the
podman login
andpodman logout
commands required the registry to log into be specified (#5146) - Fixed a bug where detached rootless Podman containers could not forward ports (#5167)
- Fixed a bug where rootless Podman could fail to run if the pause process had died
- Fixed a bug where Podman ignored labels that were specified with only a key and no value (#3854)
- Fixed a bug where Podman would fail to create named volumes when the backing filesystem did not support SELinux labelling (#5200)
- Fixed a bug where
--detach-keys=""
would not disable detaching from a container (#5166) - Fixed a bug where the
podman ps
command was too aggressive when filtering containers and would force--all
on in too many situations - Fixed a bug where the
podman play kube
command was ignoring image configuration, including volumes, working directory, labels, and stop signal (#5174) - Fixed a bug where the
Created
andCreatedTime
fields inpodman images --format=json
were misnamed, which also broke Go template output for those fields ([#5110](https://github.com/containers/libpod/issu\
es/5110)) - Fixed a bug where rootless Podman containers with ports forwarded could hang when started (#5182)
- Fixed a bug where
podman pull
could fail to parse registry names including port numbers - Fixed a bug where Podman would incorrectly attempt to validate image OS and architecture when starting containers
- Fixed a bug where Bash completion for
podman build -f
would not list available files that could be built (#3878) - Fixed a bug where
podman commit --change
would perform incorrect validation, resulting in valid changes being rejected (#5148) - Fixed a bug where
podman logs --tail
could take large amounts of memory when the log file for a container was large (#5131) - Fixed a bug where Podman would sometimes incorrectly generate firewall rules on systems using
firewalld
- Fixed a bug where the
podman inspect
command would not display network information for containers properly if a container joined multiple CNI networks ([#4907](https://github.com/containers/libpod/issues/49\
07)) - Fixed a bug where the
--uts
flag topodman create
andpodman run
would only allow specifying containers by full ID (#5289) - Fixed a bug where rootless Podman could segfault when passed a large number of file descriptors
- Fixed a bug where the
podman port
command was incorrectly interpreting additional arguments as container names, instead of port numbers - Fixed a bug where units created by
podman generate systemd
did not depend on network targets, and so could start before the system network was ready (#4130) - Fixed a bug where exec sessions in containers which did not specify a user would not inherit supplemental groups added to the container via
--group-add
- Fixed a bug where Podman would not respect the
$TMPDIR
environment variable for placing large temporary files during some operations (e.g.podman pull
) ([#5411](https://github.com/containers/libpod/issues\
/5411))
HTTP API
- Initial support for secure connections to servers via SSH tunneling has been added
- Initial support for the libpod
create
andlogs
endpoints for containers has been added - Added a
/swagger/
endpoint to serve API documentation - The
json
endpoint for containers has received many fixes - Filtering images and containers has been greatly improved, with many bugs fixed and documentation improved
- Image creation endpoints (commit, pull, etc) have seen many fixes
- Server timeout has been fixed so that long operations will no longer trigger the timeout and shut the server down
- The
stats
endpoint for containers has seen major fixes and now provides accurate output - Handling the HTTP 304 status code has been fixed for all endpoints
- Many fixes have been made to API documentation to ensure it matches the code
Misc
- Updated vendored Buildah to v1.14.2
- Updated vendored containers/storage to v1.16.2
- The
Created
field topodman images --format=json
has been renamed toCreatedSince
as part of the fix for (#5110). Go templates using the old name shou
ld still work - The
CreatedTime
field topodman images --format=json
has been renamed toCreatedAt
as part of the fix for (#5110). Go templates using the old name sho
uld still work - The
before
filter topodman images
has been renamed tosince
for Docker compatibility. Usingbefore
will still work, but documentation has been changed to use the newsince
filter - Using the
--password
flag topodman login
now warns that passwords are being passed in plaintext - Some common cases where Podman would deadlock have been fixed to warn the user that
podman system renumber
must be run to resolve the deadlock
v1.8.1-RC1
This is the first release candidate of Podman v1.8.1
Preliminary release notes:
Features
- Many networking-related flags have been added to
podman pod create
to enable customization of pod networks, including--add-host
,--dns
,--dns-opt
,--dns-search
,--ip
,--mac-address
,--network
, and--no-hosts
- The
podman ps --format=json
command now includes the ID of the image containers were created with - The
podman create
andpodman run
commands now support the--device-cgroup-rule
flag (#4876) - While the HTTP API remains in alpha, many fixes and additions have landed. These are documented in a separate subsection below
Bugfixes
- Fixed CVE-2020-1726, a security issue where volumes manually populated before first being mounted into a container could have those contents overwritten on first being mounted into a container
- Fixed a bug where Podman containers with user namespaces in CNI networks with the DNS plugin enabled would not have the DNS plugin's nameserver added to their
resolv.conf
(#5256) - Fixed a bug where trailing
/
characters in image volume definitions could cause them to not be overridden by a user-specified mount at the same location (#5219) - Fixed a bug where the
label
option inlibpod.conf
, used to disable SELinux by default, was not being respected (#5087) - Fixed a bug where the
podman login
andpodman logout
commands required the registry to log into be specified (#5146) - Fixed a bug where detached rootless Podman containers could not forward ports (#5167)
- Fixed a bug where rootless Podman could fail to run if the pause process had died
- Fixed a bug where Podman ignored labels that were specified with only a key and no value (#3854)
- Fixed a bug where Podman would fail to create named volumes when the backing filesystem did not support SELinux labelling (#5200)
- Fixed a bug where
--detach-keys=""
would not disable detaching from a container (#5166) - Fixed a bug where the
podman ps
command was too aggressive when filtering containers and would force--all
on in too many situations - Fixed a bug where the
podman play kube
command was ignoring image configuration, including volumes, working directory, labels, and stop signal (#5174) - Fixed a bug where the
Created
andCreatedTime
fields inpodman images --format=json
were misnamed, which also broke Go template output for those fields (#5110) - Fixed a bug where rootless Podman containers with ports forwarded could hang when started (#5182)
- Fixed a bug where
podman pull
could fail to parse registry names including port numbers - Fixed a bug where Podman would incorrectly attempt to validate image OS and architecture when starting containers
- Fixed a bug where Bash completion for
podman build -f
would not list available files that could be built (#3878) - Fixed a bug where
podman commit --change
would perform incorrect validation, resulting in valid changes being rejected (#5148) - Fixed a bug where
podman logs --tail
could take large amounts of memory when the log file for a container was large (#5131) - Fixed a bug where Podman would sometimes incorrectly generate firewall rules on systems using
firewalld
HTTP API
- Initial support for secure connections to servers via SSH tunneling has been added
- Initial support for the libpod
create
andlogs
endpoints for containers has been added - Added a
/swagger/
endpoint to serve API documentation - The
json
endpoint for containers has received many fixes - Filtering images and containers has been greatly improved, with many bugs fixed and documentation improved
- Image creation endpoints (commit, pull, etc) have seen many fixes
- Server timeout has been fixed so that long operations will no longer trigger the timeout and shut the server down
- The
stats
endpoint for containers has seen major fixes and now provides accurate output - Handling the HTTP 304 status code has been fixed for all endpoints
- Many fixes have been made to API documentation to ensure it matches the code
Misc
- Updated vendored Buildah to v1.14.1
- Updated vendored containers/storage to v1.16.0
- The
Created
field topodman images --format=json
has been renamed toCreatedSince
as part of the fix for (#5110). Go templates using the old name should still work - The
CreatedTime
field topodman images --format=json
has been renamed toCreatedAt
as part of the fix for (#5110). Go templates using the old name should still work - The
before
filter topodman images
has been renamed tosince
for Docker compatibility. Usingbefore
will still work, but documentation has been changed to use the newsince
filter - Using the
--password
flag topodman login
now warns that passwords are being passed in plaintext
v1.8.0
Features
- The
podman system service
command has been added, providing a preview of Podman's new Docker-compatible API. This API is still very new, and not yet ready for production use, but is available for early test
ing - Rootless Podman now uses Rootlesskit for port forwarding, which should greatly improve performance and capabilities
- The
podman untag
command has been added to remove tags from images without deleting them - The
podman inspect
command on images now displays previous names they used - The
podman generate systemd
command now supports a--new
option to generate service files that create and run new containers instead of managing existing containers - Support for
--log-opt tag=
to set logging tags has been added to thejournald
log driver - Added support for using Seccomp profiles embedded in images for
podman run
andpodman create
via the new--seccomp-policy
CLI flag (#4806) - The
podman play kube
command now honors pull policy (#4880)
Bugfixes
- Fixed a bug where the
podman cp
command would not copy the contents of directories when paths ending in/.
were given (#4717) - Fixed a bug where the
podman play kube
command did not properly locate Seccomp profiles specified relative to localhost (#4555) - Fixed a bug where the
podman info
command for remote Podman did not show registry information (#4793) - Fixed a bug where the
podman exec
command did not support having input piped into it (#3302) - Fixed a bug where the
podman cp
command with rootless Podman on CGroups v2 systems did not properly determine if the container could be paused while copying ([#4813](https://github.com/containers/libpod/iss\
ues/4813)) - Fixed a bug where the
podman container prune --force
command could possible remove running containers if they were started while the command was running ([#4844](https://github.com/containers/libpod/issues/\
4844)) - Fixed a bug where Podman, when run as root, would not properly configure
slirp4netns
networking when requested (#4853) - Fixed a bug where
podman run --userns=keep-id
did not work when the user had a UID over 65535 (#4838) - Fixed a bug where rootless
podman run
andpodman create
with the--userns=keep-id
option could change permissions on/run/user/$UID
and break KDE ([#4846](https://github.com/containers/libpod/issues/4\
846)) - Fixed a bug where rootless Podman could not be run in a systemd service on systems using CGroups v2 (#4833)
- Fixed a bug where
podman inspect
would show CPUShares as 0, instead of the default (1024), when it was not explicitly set (#4822) - Fixed a bug where
podman-remote push
would segfault (#4706) - Fixed a bug where image healthchecks were not shown in the output of
podman inspect
(#4799) - Fixed a bug where named volumes created with containers from pre-1.6.3 releases of Podman would be autoremoved with their containers if the
--rm
flag was given, even if they were given names ([#5009](https:
//github.com//issues/5009)) - Fixed a bug where
podman history
was not computing image sizes correctly (#4916) - Fixed a bug where Podman would not error on invalid values to the
--sort
flag topodman images
- Fixed a bug where providing a name for the image made by
podman commit
was mandatory, not optional as it should be (#5027) - Fixed a bug where the remote Podman client would append an extra
"
to%PATH
(#4335) - Fixed a bug where the
podman build
command would sometimes ignore the-f
option and build the wrong Containerfile - Fixed a bug where the
podman ps --filter
command would only filter running containers, instead of all containers, if--all
was not passed (#5050) - Fixed a bug where the
podman load
command on compressed images would leave an extra copy on disk - Fixed a bug where the
podman restart
command would not properly clean up the network, causing it to function differently frompodman stop; podman start
([#5051](https://github.com/containers/libpod/issues\
/5051)) - Fixed a bug where setting the
--memory-swap
flag topodman create
andpodman run
to-1
(to indicate unlimited) was not supported (#5091)
Misc
- Initial work on version 2 of the Podman remote API has been merged, but is still in an alpha state and not ready for use. Read more here
- Many formatting corrections have been made to the manpages
- The changes to address (#5009) may cause anonymous volumes created by Podman versions 1.6.3 to 1.7.0 to not be removed when their container is removed
- Updated vendored Buildah to v1.13.1
- Updated vendored containers/storage to v1.15.8
- Updated vendored containers/image to v5.2.0
v1.7.0
Features
- Added support for setting a static MAC address for containers
- Added support for creating
macvlan
networks withpodman network create
, allowing Podman containers to be attached directly to networks the host is connected to - The
podman image prune
andpodman container prune
commands now support the--filter
flag to filter what will be pruned, and now prompts for confirmation when run without--force
(#4410 and #4411) - Podman now creates CGroup namespaces by default on systems using CGroups v2 (#4363)
- Added the
podman system reset
command to remove all Podman files and perform a factory reset of the Podman installation - Added the
--history
flag topodman images
to display previous names used by images (#4566) - Added the
--ignore
flag topodman rm
andpodman stop
to not error when requested containers no longer exist - Added the
--cidfile
flag topodman rm
andpodman stop
to read the IDs of containers to be removed or stopped from a file - The
podman play kube
command now honors Seccomp annotations (#3111) - The
podman play kube
command now honorsRunAsUser
,RunAsGroup
, andselinuxOptions
- The output format of the
podman version
command has been changed to better matchdocker version
when using the--format
flag - Rootless Podman will no longer initialize containers/storage twice, removing a potential deadlock preventing Podman commands from running while an image was being pulled (#4591)
- Added
tmpcopyup
andnotmpcopyup
options to the--tmpfs
and--mount type=tmpfs
flags topodman create
andpodman run
to control whether the content of directories are copied into tmpfs filesystems mounted over them - Added support for disabling detaching from containers by setting empty detach keys via
--detach-keys=""
- The
podman build
command now supports the--pull
and--pull-never
flags to control when images are pulled during a build - The
podman ps -p
command now shows the name of the pod as well as its ID (#4703) - The
podman inspect
command on containers will now display the command used to create the container - The
podman info
command now displays information on registry mirrors (#4553)
Bugfixes
- Fixed a bug where Podman would use an incorrect runtime directory as root, causing state to be deleted after root logged out and making Podman in systemd services not function properly
- Fixed a bug where the
--change
flag topodman import
andpodman commit
was not being parsed properly in many cases - Fixed a bug where detach keys specified in
libpod.conf
were not used by thepodman attach
andpodman exec
commands, which always used the global defaultctrl-p,ctrl-q
key combination (#4556) - Fixed a bug where rootless Podman was not able to run
podman pod stats
even on CGroups v2 enabled systems (#4634) - Fixed a bug where rootless Podman would fail on kernels without the
renameat2
syscall (#4570) - Fixed a bug where containers with chained network namespace dependencies (IE, container A using
--net container=B
and container B using--net container=C
) would not properly mount/etc/hosts
and/etc/resolv.conf
into the container (#4626) - Fixed a bug where
podman run
with the--rm
flag and without-d
could, when run in the background, throw a 'container does not exist' error when attempting to remove the container after it exited - Fixed a bug where named volume locks were not properly reacquired after a reboot, potentially leading to deadlocks when trying to start containers using the volume (#4605 and #4621)
- Fixed a bug where Podman could not completely remove containers if sent SIGKILL during removal, leaving the container name unusable without the
podman rm --storage
command to complete removal (#3906) - Fixed a bug where checkpointing containers started with
--rm
was allowed when--export
was not specified (the container, and checkpoint, would be removed after checkpointing was complete by--rm
) (#3774) - Fixed a bug where the
podman pod prune
command would fail if containers were present in the pods and the--force
flag was not passed (#4346) - Fixed a bug where containers could not set a static IP or static MAC address if they joined a non-default CNI network (#4500)
- Fixed a bug where
podman system renumber
would always throw an error if a container was mounted when it was run - Fixed a bug where
podman container restore
would fail with containers using a user namespace - Fixed a bug where rootless Podman would attempt to use the journald events backend even on systems without systemd installed
- Fixed a bug where
podman history
would sometimes not properly identify the IDs of layers in an image (#3359) - Fixed a bug where containers could not be restarted when Conmon v2.0.3 or later was used
- Fixed a bug where Podman did not check image OS and Architecture against the host when starting a container
- Fixed a bug where containers in pods did not function properly with the Kata OCI runtime (#4353)
- Fixed a bug where `podman info --format '{{ json . }}' would not produce JSON output (#4391)
- Fixed a bug where Podman would not verify if files passed to
--authfile
existed (#4328) - Fixed a bug where
podman images --digest
would not always print digests when they were available - Fixed a bug where rootless
podman run
could hang due to a race with reading and writing events - Fixed a bug where rootless Podman would print warning-level logs despite not be instructed to do so (#4456)
- Fixed a bug where
podman pull
would attempt to fetch from remote registries when pulling an unqualified image using thedocker-daemon
transport (#4434) - Fixed a bug where
podman cp
would not work if STDIN was a pipe - Fixed a bug where
podman exec
could stop accepting input if anything was typed between the command being run and the exec session starting (#4397) - Fixed a bug where
podman logs --tail 0
would print all lines of a container's logs, instead of no lines (#4396) - Fixed a bug where the timeout for
slirp4netns
was incorrectly set, resulting in an extremely long timeout (#4344) - Fixed a bug where the
podman stats
command would print CPU utilizations figures incorrectly (#4409) - Fixed a bug where the
podman inspect --size
command would not print the size of the container's read/write layer if the size was 0 (#4744) - Fixed a bug where the
podman kill
command was not properly validating signals before use (#4746) - Fixed a bug where the
--quiet
and--format
flags topodman ps
could not be used at the same time - Fixed a bug where the
podman stop
command was not stopping exec sessions when a container was created without a PID namespace (--pid=host
) - Fixed a bug where the
podman pod rm --force
command was not removing anonymous volumes for containers that were removed - Fixed a bug where the
podman checkpoint
command would not export all changes to the root filesystem of the container if performed more than once on the same container (#4606) - Fixed a bug where containers started with
--rm
would not be automatically removed on being stopped if an exec session was running inside the container (#4666)
Misc
- The fixes to runtime directory path as root can cause strange behavior if an upgrade is performed while containers are running
- Updated vendored Buildah to v1.12.0
- Updated vendored containers/storage library to v1.15.4
- Updated vendored containers/image library to v5.1.0
- Kata Containers runtimes (
kata-runtime
,kata-qemu
, andkata-fc
) are now present in the default libpod.conf, but will not be available unless Kata containers is installed on the system - Podman previously did not allow the creation of containers with a memory limit lower than 4MB. This restriction has been removed, as the
crun
runtime can create containers with significantly less memory
v1.7.0-RC1
This is the first release candidate for the v1.7.0 release of Podman. Preliminary release notes:
Features
- Added support for setting a static MAC address for containers
- Added support for creating
macvlan
networks withpodman network create
, allowing Podman containers to be attached directly to networks the host is connected to - The
podman image prune
andpodman container prune
commands now support the--filter
flag to filter what will be pruned, and now prompts for confirmation when run without--force
(
#4410 and #4411) - Podman now creates CGroup namespaces by default on systems using CGroups v2 (#4363)
- Added the
podman system reset
command to remove all Podman files and perform a factory reset of the Podman installation - Added the
--history
flag topodman images
to display previous names used by images (#4566) - Added the
--ignore
flag topodman rm
andpodman stop
to not error when requested containers no longer exist - Added the
--cidfile
flag topodman rm
andpodman stop
to read the IDs of containers to be removed or stopped from a file - The
podman play kube
command now honors Seccomp annotations (#3111) - The
podman play kube
command now honorsRunAsUser
,RunAsGroup
, andselinuxOptions
- The output format of the
podman version
command has been changed to better matchdocker version
when using the--format
flag - Rootless Podman will no longer initialize containers/storage twice, removing a potential deadlock preventing Podman commands from running while an image was being pulled ([#4591](https://
github.com//issues/4591)) - Added
tmpcopyup
andnotmpcopyup
options to the--tmpfs
and--mount type=tmpfs
flags topodman create
andpodman run
to control whether the content of directories are copied in
to tmpfs filesystems mounted over them - Added support for disabling detaching from containers by setting empty detach keys via
--detach-keys=""
- The
podman build
command now supports the--pull
and--pull-never
flags to control when images are pulled during a build
Bugfixes
- Fixed a bug where Podman would use an incorrect runtime directory as root, causing state to be deleted after root logged out and making Podman in systemd services not function properly
- Fixed a bug where the
--change
flag topodman import
andpodman commit
was not being parsed properly in many cases - Fixed a bug where detach keys specified in
libpod.conf
were not used by thepodman attach
andpodman exec
commands, which always used the global defaultctrl-p,ctrl-q
key combinat
ion (#4556) - Fixed a bug where rootless Podman was not able to run
podman pod stats
even on CGroups v2 enabled systems (#4634) - Fixed a bug where rootless Podman would fail on kernels without the
renameat2
syscall (#4570) - Fixed a bug where containers with chained network namespace dependencies (IE, container A using
--net container=B
and container B using--net container=C
) would not properly mount/e\ tc/hosts
and/etc/resolv.conf
into the container (#4626) - Fixed a bug where
podman run
with the--rm
flag and without-d
could, when run in the background, throw a 'container does not exist' error when attempting to remove the container af
ter it exited - Fixed a bug where named volume locks were not properly reacquired after a reboot, potentially leading to deadlocks when trying to start containers using the volume ([#4605](https://github\
.com//issues/4605) and #4621) - Fixed a bug where Podman could not completely remove containers if sent SIGKILL during removal, leaving the container name unusable without the
podman rm --storage
command to complete r
emoval (#3906) - Fixed a bug where checkpointing containers started with
--rm
was allowed when--export
was not specified (the container, and checkpoint, would be removed after checkpointing was compl
ete by--rm
) (#3774) - Fixed a bug where the
podman pod prune
command would fail if containers were present in the pods and the--force
flag was not passed ([#4346](https://github.com/containers/libpod/issu\
es/4346)) - Fixed a bug where containers could not set a static IP or static MAC address if they joined a non-default CNI network (#4500)
- Fixed a bug where
podman system renumber
would always throw an error if a container was mounted when it was run - Fixed a bug where
podman container restore
would fail with containers using a user namespace - Fixed a bug where rootless Podman would attempt to use the journald events backend even on systems without systemd installed
- Fixed a bug where
podman history
would sometimes not properly identify the IDs of layers in an image (#3359) - Fixed a bug where containers could not be restarted when Conmon v2.0.3 or later was used
- Fixed a bug where Podman did not check image OS and Architecture against the host when starting a container
- Fixed a bug where containers in pods did not function properly with the Kata OCI runtime (#4353)
- Fixed a bug where `podman info --format '{{ json . }}' would not produce JSON output (#4391)
- Fixed a bug where Podman would not verify if files passed to
--authfile
existed (#4328) - Fixed a bug where
podman images --digest
would not always print digests when they were available - Fixed a bug where rootless
podman run
could hang due to a race with reading and writing events - Fixed a bug where rootless Podman would print warning-level logs despite not be instructed to do so (#4456)
- Fixed a bug where
podman pull
would attempt to fetch from remote registries when pulling an unqualified image using thedocker-daemon
transport ([#4434](https://github.com/containers/\
libpod/issues/4434)) - Fixed a bug where
podman cp
would not work if STDIN was a pipe - Fixed a bug where
podman exec
could stop accepting input if anything was typed between the command being run and the exec session starting ([#4397](https://github.com/containers/libpod/\
issues/4397)) - Fixed a bug where
podman logs --tail 0
would print all lines of a container's logs, instead of no lines (#4396) - Fixed a bug where the timeout for
slirp4netns
was incorrectly set, resulting in an extremely long timeout (#4344) - Fixed a bug where the
podman stats
command would print CPU utilizations figures incorrectly (#4409)
Misc
- The fixes to runtime directory path as root can cause strange behavior if an upgrade is performed while containers are running
- Updated vendored Buildah to v1.11.6
- Updated vendored containers/storage library to v1.15.3
- Kata Containers runtimes (
kata-runtime
,kata-qemu
, andkata-fc
) are now present in the default libpod.conf, but will not be available unless Kata containers is installed on the syst
em
v1.6.4
This release includes backports for the v1.6 stable branch of Podman.
Changes
- Remove
winsz
FIFO on container restart to allow use with Conmon 2.03 and higher - Ensure volumes reacquire locks on system restart, preventing deadlocks when starting containers
- Suppress spurious log messages when running rootless Podman
- Update vendored containers/storage to v1.13.6
- Fix a deadlock related to writing events
- Do not use the journald event logger when it is not available
v1.6.3
Features
- Handling of the
libpod.conf
configuration file has seen major changes. Most significantly, rootless users will no longer automatically receive a complete configuration file when they first use Podman, and will instead only receive differences from the global configuration. - Initial support for the CNI DNS plugin, which allows containers to resolve the IPs of other containers via DNS name, has been added
- Podman now supports anonymous named volumes, created by specifying only a destination to the
-v
flag to thepodman create
andpodman run
commands - Named volumes now support
uid
andgid
options in--opt o=...
to set UID and GID of the created volume
Bugfixes
- Fixed a bug where the
podman start
command would print container ID, instead of name, when starting containers given their name - Fixed a bug where named volumes with options did not properly detect issues with mounting the volume, leading to an inconsistent state (#4303)
- Fixed a bug where incorrect Seccomp profiles were used in containers generated by
podman play kube
- Fixed a bug where processes started by
podman exec
would have the wrong SELinux label in some circumstances (#4361) - Fixed a bug where error messages from
slirp4netns
would be lost - Fixed a bug where
podman run --network=$NAME
would not throw an error in rootless Podman, where CNI networks are not supported - Fixed a bug where
podman network create
would throw confusing errors when trying to create a volume with a name that already exists - Fixed a bug where Podman would not error if the
systemd
CGroup manager was specified, but systemd could not be contacted over DBus - Fixed a bug where image volumes were mounted
noexec
(#4318) - Fixed a bug where the
podman stats
command required the name of a container to be given, instead of showing all containers when no container was specified (#4274) - Fixed a bug where the
podman volume inspect
command would not show the options that named volumes were created with - Fixed a bug where custom storage configuration was not written to
storage.conf
at time of first creation for rootless Podman (#2659) - Fixed a bug where remote Podman did not support shell redirection of container output
Misc
- Updated vendored containers/image library to v5.0
- Initial support for images using manifest lists has been added, though commands for directly interacting with manifests are still missing
- Support for pushing to and pulling from OSTree has been removed due to deprecation in the containers/image library
- Rootless Podman no longer enables linger on systems with systemd as init by default. As such, containers will now be killed when the user who ran them logs out, unless linger is explicitly enabled using loginctl
- Podman will now check the version of
conmon
that is in use to ensure it is sufficient
v1.6.3-RC1
First release candidate of the v1.6.3 release
v1.6.2
Features
- Added a
--runtime
flag topodman system migrate
to allow the OCI runtime for all containers to be reset, to ease transition to thecrun
runtime on CGroups V2 systems untilrunc
gains full support - The
podman rm
command can now remove containers in broken states which previously could not be removed - The
podman info
command, when run without root, now shows information on UID and GID mappings in the rootless user namespace - Added
podman build --squash-all
flag, which squashes all layers (including those of the base image) into one layer - The
--systemd
flag topodman run
andpodman create
now accepts a string argument and allows a new value,always
, which forces systemd support without checking if the the container entrypoint is systemd
Bugfixes
- Fixed a bug where the
podman top
command did not work on systems using CGroups V2 (#4192) - Fixed a bug where rootless Podman could double-close a file, leading to a panic
- Fixed a bug where rootless Podman could fail to retrieve some containers while refreshing the state
- Fixed a bug where
podman start --attach --sig-proxy=false
would still proxy signals into the container - Fixed a bug where Podman would unconditionally use a non-default path for authentication credentials (
auth.json
), breakingpodman login
integration withskopeo
and other tools using the containers/image library - Fixed a bug where
podman ps --format=json
andpodman images --format=json
would displaynull
when no results were returned, instead of valid JSON - Fixed a bug where
podman build --squash
was incorrectly squashing all layers into one, instead of only new layers - Fixed a bug where rootless Podman would allow volumes with options to be mounted (mounting volumes requires root), creating an inconsistent state where volumes reported as mounted but were not (#4248)
- Fixed a bug where volumes which failed to unmount could not be removed (#4247)
- Fixed a bug where Podman incorrectly handled some errors relating to unmounted or missing containers in containers/storage
- Fixed a bug where
podman stats
was broken on systems running CGroups V2 when run rootless (#4268) - Fixed a bug where the
podman start
command would print the short container ID, instead of the full ID - Fixed a bug where containers created with an OCI runtime that is no longer available (uninstalled or removed from the config file) would not appear in
podman ps
and could not be removed viapodman rm
- Fixed a bug where containers restored via
podman container restore --import
would retain the CGroup path of the original container, even if their container ID changed; thus, multiple containers created from the same checkpoint would all share the same CGroup
Misc
- The default PID limit for containers is now set to 4096. It can be adjusted back to the old default (unlimited) by passing
--pids-limit 0
topodman create
andpodman run
- The
podman start --attach
command now automatically attachesSTDIN
if the container was created with-i
- The
podman network create
command now validates network names using the same regular expression as container and pod names - The
--systemd
flag topodman run
andpodman create
will now only enable systemd mode when the binary being run inside the container is/sbin/init
,/usr/sbin/init
, or ends insystemd
(previously detected any path ending ininit
orsystemd
) - Updated vendored Buildah to 1.11.3
- Updated vendored containers/storage to 1.13.5
- Updated vendored containers/image to 4.0.1
v1.6.2-RC1
This is the first release candidate for the v1.6.2 release.
Preliminary Changelog
Features
- Added a
--runtime
flag topodman system migrate
to allow the OCI runtime for all containers to be reset, to ease transition to thecrun
runtime on CGroups V2 systems untilrunc
gains full support - The
podman rm
command can now remove containers in broken states which previously could not be removed - The
podman info
command, when run without root, now shows information on UID and GID mappings in the rootless user namespace - Added
podman build --squash-all
flag, which squashes all layers (including those of the base image) into one layer - The
--systemd
flag topodman run
andpodman create
now accepts a string argument and allows a new value,always
, which forces systemd support without checking if the the container
entrypoint is systemd
Bugfixes
- Fixed a bug where the
podman top
command did not work on systems using CGroups V2 (#4192) - Fixed a bug where rootless Podman could double-close a file, leading to a panic
- Fixed a bug where rootless Podman could fail to retrieve some containers while refreshing the state
- Fixed a bug where
podman start --attach --sig-proxy=false
would still proxy signals into the container - Fixed a bug where Podman would unconditionally use a non-default path for authentication credentials (
auth.json
), breakingpodman login
integration withskopeo
and other tools using
the containers/image library - Fixed a bug where
podman ps --format=json
andpodman images --format=json
would displaynull
when no results were returned, instead of valid JSON - Fixed a bug where
podman build --squash
was incorrectly squashing all layers into one, instead of only new layers - Fixed a bug where rootless Podman would allow volumes with options to be mounted (mounting volumes requires root), creating an inconsistent state where volumes reported as mounted but wer
e not (#4248) - Fixed a bug where volumes which failed to unmount could not be removed (#4247)
- Fixed a bug where Podman incorrectly handled some errors relating to unmounted or missing containers in containers/storage
- Fixed a bug where
podman stats
was broken on systems running CGroups V2 when run rootless (#4268) - Fixed a bug where the
podman start
command would print the short container ID, instead of the full ID - Fixed a bug where containers created with an OCI runtime that is no longer available (uninstalled or removed from the config file) would not appear in
podman ps
and could not be removed
viapodman rm
Misc
- The default PID limit for containers is now set to 4096. It can be adjusted back to the old default (unlimited) by passing
--pids-limit 0
topodman create
andpodman run
- The
podman network create
command now validates network names using the same regular expression as container and pod names - The
--systemd
flag topodman run
andpodman create
will now only enable systemd mode when the binary being run inside the container is/sbin/init
,/usr/sbin/init
, or ends insy\ stemd
(previously detected any path ending ininit
orsystemd
) - Updated vendored Buildah to 1.11.3
- Updated vendored containers/storage to 1.13.5
- Updated vendored containers/image to 4.0.1