The first 1.x
release!
This release deprecates a lot of old/legacy pyinfra
code and brings fourth a new, stable API. So long as you see no warnings when executing pyinfra
, upgrading should require no chanages.
What's new:
- Add new global
name
argument to name operations (deprecateset
as the first argument) - Improve unexpected fact error handling, bad exit codes will be treated as errors unless the fact explicitly expects this could happen (system package managers for example)
- [CLI] write progress/user info/logs to
stderr
only - [API] Consistent ordering when
add_op
andadd_deploy
functions - [API] Return a dictionary of
host
->OperationMeta
when usingadd_op
- Enable passing a list of modules to
server.modprobe
(@FooBarQuaxx) - Support
Path
objects infiles.[file|directory|link]
operations - Support
shasum
(MacOS) insha1_file
fact
Breaking changes:
- Deprecate using
set
as the first/name argument for operations - Rename
files.*
arguments (name
->path
,destination
->dest
) - Rename
server.*
arguments (name
->user|group|cron_name|key|path
,filename
->src
) - Rename
mysql.*
+postgresql.*
arguments (name
->user|database|role
) - Rename
init.*
arguments (name
->service
) - Rename
lxd.container
argumentname
->id
- Rename
git.repo
argumenetssource
->src
&target
->dest
- Rename
iptables.chain
argumentname
->chain
- Rename
python.call
argumentfunc
->function
- Rename
size
->mask_bits
insidenetwork_devices
fact - Change default of
interpolate_variables
fromTrue
->False
- Remove deprecated
hosts
/when
/op
global operation arguments - Rename reprecated
Config.TIMEOUT
->Config.CONNECT_TIMEOUT
- Remove deprecated
use_ssh_user
argument fromgit.repo
operation - Remove deprecated
python.execute
operation - Remove deprecated
Inventory.<__getitem__>
&Inventory.<__getattr__>
methods - Remove deprecated
add_limited_op
function - Remove deprecated legacy CLI support