Releases: containers/podman-compose
Releases · containers/podman-compose
v1.5.0
Bug fixes
- Fixed path to a local SSH key to be relative to the directory of compose file during build.
- Fixed CMD healthchecks to run the given command directly and not use
/bin/sh -c. - Fixed regression of dockerfile definition if current directory name ends with ".git".
- Fixed exit code from
pushcommand. - Implemented short syntax for environment variables set in
.envfor compose.ymlenvironment:section. - Fixed regression of log output including "text" in detached mode.
- Implemented
up --no-recreateto work as advertised. - Stack traces emitted due to YAML parse errors are now hidden.
Features
- Added unregister command to remove systemd service registration (
podman-compose systemd -a unregister) - Added new
docker_compose_compatx-podmanmeta setting to enable all Docker Compose compatibility settings - Added new
name_separator_compatx-podmansetting to change name separator to hyphen, same as Docker Compose. - Added support for environment variable interpolation for YAML keys.
- Added
io.podman.compose.servicelabel to created containers. It contains the same value as
com.docker.compose.service. - Added relabel option to secret to make possible to read the secret file by the contained process.
- Added support for setting x-podman values using PODMAN_COMPOSE_* environment variables.
- Added support to set
--routeoption topodman network createvia
x-podman.routeskey on network configuration. - Implemented support for custom pod names in
--in-pod.
v1.4.1
v1.4.0
Bug fixes
- Fixed handling of relative includes and extends in compose files
- Fixed error when merging arguments in list and dictionary syntax
- Fixed issue where short-lived containers could execute twice when using
upin detached mode - Fixed
upcommand hanging on Podman versions earlier than 4.6.0 - Fixed issue where
service_healthyconditions weren't enforced duringupcommand - Fixed support for the
--scaleflag - Fixed bug causing dependent containers to start despite
--no-depsflag - Fixed port command behavior for dynamic host ports
- Fixed interpolation of
COMPOSE_PROJECT_NAMEwhen set from top-levelnamein compose file - Fixed project name evaluation order to match compose spec
- Fixed build context when using git URLs
- Fixed
KeyErrorwhendownis called with non-existent service - Skip
downduringupwhen no active containers exist - Fixed non-zero exit code on failure when using
up -d - Fixed SIGINT handling during
upcommand for graceful shutdown - Fixed
NotImplementedErrorwhen interrupted on Windows
Features
- Added
--quietflag toconfigcommand to suppress output - Added support for
pids_limitanddeploy.resources.limits.pids - Added
--abort-on-container-failureoption - Added
--rmiargument todowncommand for image removal - Added support for
x-podman.disable-dnsto disable DNS plugin on defined networks - Added support for
x-podman.dnsto set DNS nameservers for defined networks - Improved file descriptor handling - no longer closes externally created descriptors.
This allows descriptors created e.g. via systemd socket activation to be passed to
containers. - Added support for
cpusetconfiguration - Added support for
resetandoverridetags when merging compose files - Added support for
x-podman.interface_nameto set network interface names - Added support for
x-podman.pod_argsto override default--pod-args
v1.3.0
Bug fixes
- Fixed support for de-facto alternative
Dockerfilenames (e.g.Containerfile) - Fixed a bug that caused attempts to create already existing pods multiple times.
- Fixed compatibility with docker-compose in how symlinks to docker-compose.yml are handled.
- Fixed freeze caused by too long log lines without a newline.
- Fixed support for
network_mode: none. - Improved error detection by rejecting service definitions that contain both
network_modeand
networkskeys, which is not allowed.
Features
- Added support for build labels.
- Added support for "platform" property in the build command.
- Added support for "ssh" property in the build command.
- Added support for cache_from and cache_to fields in build section.
- Added support for honoring the condition in the depends_on section of the service, if stated.
- Added
x-podman.no_hostssetting to pass--no-hoststo podman run - Added support for compatibility with docker compose for default network behavior when no network
defined in service. This is controlled viadefault_net_behavior_compatfeature flag. - Added a way to get compatibility of default network names with docker compose.
This is selected by settingdefault_net_name_compat: trueonx-podmanglobal dictionary. - Added support for the
device_cgroup_rulesproperty in services. - Added support for removing networks in
podman-compose down. - Added support for network scoped service aliases.
- Added support for network level
mac_addressattribute. - Added ability to substitute variables with the environment of the service.
Misc
- Declared compatibility with Python 3.13.
v1.2.0
Bug fixes
- Fixed handling of
--in-podargument. Previously it was hard to provide false value to it. - podman-compose no longer creates pods when registering systemd unit.
- Fixed warning
RuntimeWarning: coroutine 'create_pods' was never awaited - Fixed error when setting up IPAM network with default driver.
- Fixed support for having list and dictionary
depends_onsections in related compose files. - Fixed logging of failed build message.
- Fixed support for multiple entries in
includesection. - Fixed environment variable precedence order.
Changes
x-podmandictionary in container root has been migrated tox-podman.*fields in container root.
New features
- Added support for
--publishinpodman-compose run. - Added support for Podman external root filesystem management (
--rootfsoption). - Added support for
podman-compose imagescommand. - Added support for
env_filebeing configured via dictionaries. - Added support for enabling GPU access.
- Added support for selinux in verbose mount specification.
- Added support for
additional_contextssection. - Added support for multi-line environment files.
- Added support for passing contents of
podman-compose.ymlvia stdin. - Added support for specifying the value for
--in-podsetting inpodman-compose.ymlfile. - Added support for environmental secrets.
Documentation
- Added instructions on how to install podman-compose on Homebrew.
- Added explanation that netavark is an alternative to dnsname plugin
v1.1.0
Bug fixes
- Fixed support for values with equals sign in
-eargument ofrunandexeccommands. - Fixed duplicate arguments being emitted in
stopandrestartcommands. - Removed extraneous debug output.
--verboseflag has been added to preserve verbose output. - Links aliases are now added to service aliases.
- Fixed image build process to use defined environmental variables.
- Empty list is now allowed to be
COMMANDandENTRYPOINT. - Environment files are now resolved relative to current working directory.
- Exit code of container build is now preserved as return code of
buildcommand.
New features
- Added support for
uidmap,gidmap,http_proxyandruntimeservice configuration keys. - Added support for
enable_ipv6network configuration key. - Added
--paralleloption to support parallel pulling and building of images. - Implemented support for maps in
sysctlscontainer configuration key. - Implemented
statscommand. - Added
--no-normalizeflag toconfigcommand. - Added support for
includeglobal configuration key. - Added support for
buildcommand. - Added support to start containers with multiple networks.
- Added support for
profileargument. - Added support for starting podman in existing network namespace.
- Added IPAM driver support.
- Added support for file secrets being passed to
podman buildvia--secretargument. - Added support for multiple networks with separately specified IP and MAC address.
- Added support for
service.build.ulimitswhen building image.