Releases: pyinfra-dev/pyinfra
v2.9.1
- Add ability to retry SSH connections on failure (@fwiesel)
- Handle nested operation errors correctly like unnested operations
- Display list of valid Terraform keys when no match
- Fix tab aligned
dpkg
output parsing indeb.DebPackages
fact (@martenlienen) - Fix support page chat link
- Fix default argument checking when looking up arguments from host data
- Fix duplicate traceback printing in callback operations
- Fix use of removed
--local-only
flag inchoco.ChocoPackages
fact - Fix sudo no user regex when calling facts
- Fix missing use of
destination
¬_destination
args iniptables.rule
operation
v3.0 beta0!
Welcome to pyinfra v3! This version is the biggest overhaul of pyinfra since it was created back in 2015. Most v2 deployment code should be automatically compatible, but as always be aware. Major changes:
Runtime operation execution
pyinfra now executes operations at runtime, rather than pre-generating commands. Although the change isn't noticeable this fixes an entire class of bugs and confusion. See the limitations section in the v2 docs. All of those issues are now a thing of the past.
This represents a huge overhaul of pyinfra's internals and should be a huge improvement for users.
Care has been taken to reduce the overhead of this change which still supports the same diffs and change proposal mechanism.
CLI flow & prompts
The pyinfra CLI will now prompt (instead of ignore, or immediately exit) when problems are encountered, allowing the user to choose to continue. Additionally an approval step is added before executing changes (skip with -y
).
Extendable connectors API, typing overhaul
v3 of pyinfra includes for the first time a (mostly) typed internal API with proper support for IDE linting. There's a whole new connectors API that provides a framework for building new connectors.
More TBC...
v2.9
Long overdue! Happy New Year all :)
Added:
- Add
server.security_limit
operation &SecurityLimits
fact (@maisim) - Add
password
argument toserver.user
operation (@disser) - Add
url
argument tobrew.tap
operation (@znd4) - Add
proxy
argument tofiles.download
operation (@themanifold) - Add mtu, state, mac to
NetworkDevices
fact (@maisim) - Enable/test paramiko v3 support (@pbsds)
Fixed:
- Fix
Users
fact when user description contains pipes (@julienlavergne) - Fix multiple bugs in
files.block
operation (@stone-w4tch3r) - Fix removal of sudo askpass file with
server.reboot
operation (@stone-w4tch3r) - Disable home creation explicitly in
server.user
(@julienlavergne) - Remove unused colorama dependency (@gdrosos)
- Automatically convert string/bytes IO objects to the correct mode
v2.8
Added:
- Add
device
andfs_type
arguments toserver.mount
operation (@chriskingio) - Add
args
argument toserver.script_template
operation (@chriskingio)
Fixed:
- Support FreeBSD in
server.user
&server.group
operations (@wowi42) - Add missing
py.typed
flag to package - Fix lookup of systemd units containing
.
in the name (@cawo-odoo) - Strip newlines off public keys read from disk (@sysadmin75)
- Properly escape database names in
mysql.database
operation (@tissieres)
v2.7
Been a while since a release, so there's a bunch of great stuff in thise one!
Added:
- Add experimental support for importing inventories from Python modules
- Add
caro.packages
operation (@wowi42) - Add
server.locale
operation andserver.Locales
fact (@maisim) - Add
ensure_newline
keyword argument tofiles.line
(@yunzheng) - Add
args
argument toserver.script
operation - Add make
put_file
work withdoas
(@minusf) - Handle adding git config key-values with multiple lines (@gchazot)
Fixed:
- Add Ubuntu latest (22.04) to CI tests (@gchazot)
- Fix codecov workflow (@ioO)
- Escape & character during sed replacement during
line.replace
(@sysadmin75) - Fix last login time in
server.users
operation (@minusf) - Fix fact hash for short facts where the backing fact takes arguments
v2.6.2
- Add support for classic confinment in
snap.packages
operation (@pabloxio) - Support dictionaries for Terraform connector inventory
- Upgrade to
distro>1.6
and remove patch hack - Fix
files.Md5File
fact for BSD style output (@ScottKevill) - Fix handling of
protocol
iniptables.rule
operation (@sysadmin75) - Fix a large number of documentation issues
- Add docstrings to
Host
methods - Cleanup duplicate code (@minusf)
- Refactor has files facts (@ScottKevill)
v2.6.1
v2.6
Added:
- Use SSH connector parameters with
files.rsync
operation (@StevenKGER) - Add
auto_remove
arguments toapt.upgrade
operation (@mcataford) - Make it possible to call any function/op/deploy from the CLI
Fixed:
- Fix handling of ALL/GRANT OPTION permissions in
mysql.privileges
operation (@gchazot) - Fix
mysql.load
operation with spaces in filenames (@gchazot) - Fix fact
apk.ApkPackages
for packages with numbers in the name (@dchauviere) - Fix fact
openrc.OpenrcStatus
for services with start times (@dchauviere) - Fix
files.put
for files containing spaces in local connector (@uggedal) - Fix performance of fact phase when calling functions/operations directly in CLI
v2.5.3
v2.5.2
- Fix/make safer check for sysvinit in
server.service
operation - Fix parsing of sticky/setgid/setuid permission bits in
files.*
facts - Respect
TMPDIR
when asking for sudo password (@jaysoffian) - Fix old windows fact names (@simon04)
- Fix consistency of facts called in vs. out of operation context
- Fix a bunch of pylint issues (@marksmayo)
- Fix docstrings on
python.*
operations