Releases: pyinfra-dev/pyinfra
Releases · pyinfra-dev/pyinfra
v1.3.9
- Use
StringCommand
to implement fact requires commands, fixesmysql_*
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
- Add Debian to prettified names in
LinuxDistribution
fact (@blarghmatey) - Fix logging non-string args (@morrison12)
- Tidy up new issue templates (@Gaming4LifeDE)
- Use
export
instead ofenv
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
- 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
v1.3.5
- Add support for relative includes:
local.include('./relative_file.py')
- Fix parsing of special times in
server.Crontab
fact - Fix editing
special_time
inserver.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
v1.3.3
v1.3.2
- 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
- Add
git_tracking_branch
fact and reworkgit.worktree
operation (@remybar) - Add
user_mode
arg tosystemd.daemon_reload
operation (@smdnv) - Add
comment
arg/support toserver.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
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 tosystemd.service
operation (@jprltsnz) - Use
hostnamectl
where available forserver.hostname
operation - Use
uname -a
forhostname
fact - Add
user
fact
Other bits:
- Enable using
use_sudo_password
withoutsudo=True
- Move testing & documentation processes to GitHub actions
- Run tests on Windows & MacOS