First 2026 release - Happy New Year all! Thank you to all contributors. One big highlight is new metadata spec for plugins, this is the start of better discovery and documentation generation for third party facts and operations:
- add metadata spec for pyinfra plugins (@rod7760)
New and updated operations/facts:
- operations: add
_temp_dirglobal argument for configuring temp directory (@wowi42) - operations: add
files.copyoperation (@EricDriussi) - operations.crontab: fix modification not properly relying on the
cron_nameparameter (@information-redacted) - operations.docker.container: add support for setting labels (@spookyvision)
- operations: add import statements on at least one example of every operation (@mkinney)
- operations.docker.image: make operation idempotent (@DonDebonair)
- operations.files.template: allow custom jinja2 template loaders (@DaRasch)
- operations.files.block/connectors.util: use correct temporary directory (@morrison12)
- operations.util.packaging: allow empty package list in
ensure_packages(@schenker) - operations: fix tmpdir to properly use all the POSIX environment variables (@wowi42)
- facts.files.FileContents: improve docstring (@adonm)
- facts.apt.update: fix computation of cache_time when host is not UTC (@philippemilink)
- facts: add
FactProcessErrorto log, not explode, issues processing facts (@NichtJens) - facts.npm: check directory exists before cd-ing (wowi42)
Connectors:
- connectors.docker: add platform and architecture option via connector data (@JP-Ellis)
- connectors: close stdin after writing any input
- connectors.ssh: add workaround for paramiko no session error (@dfaerch)
CLI:
- cli: change color of "No changes" to cyan
- cli: add option
--same-sudo-password(@philippemilink)
Docs/meta: