github pyinfra-dev/pyinfra v3.10.0

5 hours ago

Another bumper update with lots of security fixes in user input quoting and many other improvements. Thank you all new and returning contributors (there are many of you!).

  • facts.files: render import example as a code block (#1801) (@wowi42)
  • operations.files.line: strip regex anchors from appended lines (#1802) (@wowi42)
  • operations.zfs: avoid mutable default properties leaking across operation calls (#1792) (@mvanhorn)
  • facts.zfs,facts.server.KernelModules: zfs operations broken on freebsd (#1791) (@jgelens)
  • facts.deb: DebPackage failing when file/directory with same name exists in cwd (#1829) (@bendigg)
  • operations.files: clear error for file-like src with directory dest (#1144) (#1849) (@vjsai)
  • operations.server: detach reboot from SSH session (#1711) (@wowi42)
  • facts.server: resolve major.minor from distro release file (#1859) (@wlix13)
  • operations.go,facts.go: implement go operations and facts (#1776) (@yagarea)
  • facts.server: Add OpenBSD support to server.Mounts (#1863) (@epicrazzmatazz)
  • operations.docker: add container_exec operation (#1821) (@wowi42)
  • facts.hardware: use JSON from ip address show in NetworkDevices to cope with lack of prefix length and/or broadcast (#1851) (@morrison12)
  • operations.selinux: harden commands with QuoteString and remove asserts (#1846) (@Muhammad-Ikhwan-Fathulloh)
  • operations.files: type annotation for mode in files.template (#1866) (@bbonf)
  • operations.git: update origin remote when src changes (#1763) (#1843) (@vjsai)
  • facts.pacman: parse packages with uppercase version strings (#1865) (@zlangbert)
  • operations.zypper: fix gpg validation, auto-import keys, and permissions (#1833) (@doraem-on)
  • operations.server.Mount: generalize remount to more BSDs (#1872) (@epicrazzmatazz)
  • operations.docker.volume: allow options to be passed when creating docker volumes (#1882) (@DonDebonair)
  • facts.git: GitLocalCommit fact failing on nonlocal ref (#1881) (@yagarea)
  • operations.brew, facts.brew: add support for brew trust (#1836) (@morrison12)
  • operations.brew: use enum value strings in brew.trust fixtures (#1887) (@wowi42)
  • facts.deb: clarify package resolution (#1897) (@Sanjays2402)
  • operations.{apt,crontab,dnf,docker,flatpak,lxd,openrc,puppet,server,sysvinit,vzctl,yum,zfs},facts.{crontab,mysql,server}: quote user input (#1803-#1809, #1811-#1818) (@wowi42)

Connectors:

CLI:

  • cli: preserve Windows paths in module errors (#1884) (@0xTaoZ)

Docs/meta:

Other:

  • feat: add --exclude CLI argument to restrict target hosts (#1789) (@mvanhorn)
  • fix: allow SSH connections when an ED25519-SK (FIDO2) key is present in the agent (#1858) (@mvanhorn)
  • refactor: replace os.path usage with pathlib (#1753) (@wowi42)
  • ci: use uv.lock for ruff action

Don't miss a new pyinfra release

NewReleases is sending notifications on new releases.