Skip to content

Releases: pyinfra-dev/pyinfra

v1.3.9

19 Mar 20:54
e9a9dc0
Compare
Choose a tag to compare
  • Use StringCommand to implement fact requires commands, fixes mysql_* facts with passwords
  • Improve error for invalid private key files, including message for old paramiko versions
  • Fix files.line/files.replace/server.crontab replacements containing quotes
  • Fix @winrm connector command execution
  • Improve files.template docstring (@Gaming4LifeDE)

v1.3.8

19 Mar 20:54
ba4990f
Compare
Choose a tag to compare
  • Add Debian to prettified names in LinuxDistribution fact (@blarghmatey)
  • Fix logging non-string args (@morrison12)
  • Tidy up new issue templates (@Gaming4LifeDE)
  • Use export instead of env so variables pass into sub-commands as expected
  • pass any env into fact execution within operations
  • Fix splitting of inventory filename into group name
  • Improve package name parsing in BrewPackages fact
  • Only append blank line before new cron entries if some already exist
  • Remove any leftover askpass files when using use_sudo_password

v1.3.7

28 Feb 13:39
4e2c7fe
Compare
Choose a tag to compare
  • Support reading custom user operations in CLI mode (@tsnoam)
  • Allow adding users with duplicate UIDs in server.user operation (@tsnoam)
  • Add user UID/GID to users fact output (@tsnoam)
  • Fix uninstall command in apk.packages operation (@Gaming4LifeDE)
  • Fix support for add_deploy in API mode
  • Rename (deprecate) facts server.Os -> server.Kernel & server.OsVersion -> server.KernelVersion
  • Add server.MacosVersion fact
  • Add an empty line before writing in named crontab entries
  • Fix check for command change with named crontab entries
  • Properly quote package names (fix Python version specifiers with shell characters in pip.packages operation)

v1.3.6

16 Feb 21:16
96ac025
Compare
Choose a tag to compare
  • Ignore errors when crontab fails (ie, when there's no crontab)
  • Update crontab fact in server.crontab operation
  • Update sysctl fact in server.sysctl operation

v1.3.5

06 Feb 13:26
6c7169f
Compare
Choose a tag to compare
  • Add support for relative includes: local.include('./relative_file.py')
  • Fix parsing of special times in server.Crontab fact
  • Fix editing special_time in server.crontab operation
  • Fix printing of imported modules in group data files when using debug-inventory
  • Use/respect __all__ if defined in group data files

v1.3.4

22 Jan 10:33
27f8fb3
Compare
Choose a tag to compare
  • Improve matching of user hostname in mysql_user_grants fact

v1.3.3

22 Jan 10:33
ca56d70
Compare
Choose a tag to compare
  • Fix support for package names in deb_package fact (@s-vx)
  • Fix check for match any vs. all in ensure packages util (fixes Pacman package groups)
  • Fix/support passing keyword functions into facts
  • Fix parsing of mysql_user_grants fact output
  • Fix idempotency of mysql.privileges operation

v1.3.2

13 Jan 18:49
1197a40
Compare
Choose a tag to compare
  • Add pacman_unpack_group fact (@unai-ndz)
  • Support Pacman package groups properly in packman.packages operation (@unai-ndz)
  • Fix only load git config if the repo directory exists in git.config operation
  • Fix global git config loading when files don't exist in git_config fact
  • Fix deploys doc example operation (@makom)
  • Fix (add quoting) download URLs containing shell characters in files.download operation
  • Fix checking for rsync in @local connector

v1.3.1

06 Jan 14:16
bc7e1f1
Compare
Choose a tag to compare
  • Add git_tracking_branch fact and rework git.worktree operation (@remybar)
  • Add user_mode arg to systemd.daemon_reload operation (@smdnv)
  • Add comment arg/support to server.user operation (@sprat)
  • Use StrictUndefined when rendering templates (@relaxdiego)
  • Allow numbers in pacman_packages fact
  • Remove restriction on group data types
  • Improve support for Path objects as operation arguments (@relaxdiego)
  • Improve error output when failing to start SFTP sessions (@relaxdiego)
  • Fix readme doc link (@mrshu)
  • Fix Docker tests and separate from main tests, don't run on PRs

v1.3

09 Dec 14:58
c14c669
Compare
Choose a tag to compare

Theme of this release is improving error handling and end user experience. Highlights:

  • Make most global arguments dynamic - support different chdir, sudo, etc for different hosts within the same operation call
  • Rework line number ordering to support any nested function calls and/or imports
  • Improve error handling for unexpected internal (pyinfra) and external (user code) errors
  • Detect and error when an operation calls another using global arguments
  • Properly fail when fact commands don't execute correctly vs. a given command not being present on the host, using requires_command fact attribute

Operation & fact updates:

  • Add git.worktree operation (@remybar)
  • Add git.bare_repo operation (@stchris)
  • Add user_mode argument to systemd.service operation (@jprltsnz)
  • Use hostnamectl where available for server.hostname operation
  • Use uname -a for hostname fact
  • Add user fact

Other bits:

  • Enable using use_sudo_password without sudo=True
  • Move testing & documentation processes to GitHub actions
  • Run tests on Windows & MacOS