Changelog History
Page 7
-
v1.1.1 Changes
September 03, 2020- ๐ Don't fail for user error facts when the user will be added earlier in the deploy
- ๐ Support
shasum
command infiles.download
operation - Consider waiting systemd units to be running (@i-do-cpp)
- ๐ Improve regex for systemd units (support ones with
.
) (@i-do-cpp) - ๐ Fix sudo passwords with special characters (@sysadmin75)
- ๐ Fix typo in host arg warning (@weakish)
-
v1.1 Changes
August 26, 2020๐ This is a big release with some major additions & improvements on
v1
.Highlights:
- Start modifying facts during fact gathering phase, resolving common issues with interdependent operations, expand documentation on this (docs)
- Implement state callback classes dramatically improving the API experience (see
examples/api_deploy.py
) - ๐ Add
@dockerssh
connector that enables pyinfra to build Docker containers on remote machines over SSH (@charles-l) - โ Add global
precondition
andpostcondition
operation arguments - ๐ Fix using
su_user
on BSD/MacOS systems - โ Rework verbosity flags and add noop logging (ie package X is already installed) (docs)
Notable change:
๐ The
yum.packages
anddnf.packages
operations have changed their "version join" string value - both package managers use-
to join name + version while allowing-
in the name. This leads to ambiguous behaviour for packages containing dashes, as such the version join value has been changed to=
- meaning it can now actually be used! This means to specify a specific version of a yum/dnf package you should use<name>=<version>
rather than<name>-<version>
.Smaller bits:
- Add
REQUIRE_PYINFRA_VERSION
config option (& deprecateMIN_PYINFRA_VERSION
) - Validate existing files in
file.download
with checksum arguments (@sysadmin75) - ๐ Stop stripping fact output (fixes
command
fact, @sysadmin75) - Add
extra_install_args
andextra_uninstall_args
kwargs toapt.packages
operation - โ Add
--use-sudo-password
CLI argument - Normalise
server.sysctl
handling of string/int values - ๐ Improve autocomplete/intellisense handling of pseudo modules
pyinfra.[host|state|inventory]
- ๐ Fix using sudo password with a SSH user that doesn't have access to
/tmp
- ๐ Fix
python.call
docstring (@leahneukirchen) - ๐ Fix
--serial
and--no-wait
executing operations twice - ๐ Fix
server.sysctl
usage with multiple values
-
v1.1.dev2 Changes
August 23, 2020๐ This is a big release with some major additions & improvements on
v1
, especially around API usage and packaing deploys using the@deploy
decorator.What's new:
- ๐ Add
@dockerssh
connector that enables pyinfra to build Docker containers on remote machines over SSH (@charles-l) - โ Add global
precondition
andpostcondition
operation arguments - ๐ Implement state callback classes dramatically improving the API experience (see
examples/api_deploy.py
) - ๐ Start modifying facts during fact gathering phase, resolving common issues with interdependent operations, expand documentation on this (see: https://docs.pyinfra.com/en/latest/deploy_process.html#interdependent-operations)
Notable change:
๐ The
yum.packages
anddnf.packages
operations have changed their "version join" string value - both package managers use-
to join name + version while allowing-
in the name. This leads to ambiguous behaviour for packages containing dashes, as such the version join value has been changed to=
. This means to specify a specific version of a yum/dnf package you should use<name>=<version>
rather than<name>-<version>
Smaller bits:
- Validate existing files in
file.download
with checksum arguments (@sysadmin75) - ๐ Stop stripping fact output (fixes
command
fact, @sysadmin75) - Add
extra_install_args
andextra_uninstall_args
kwargs toapt.packages
operation - โ Add
--use-sudo-password
CLI argument - ๐ Fix using sudo password with a SSH user that doesn't have access to
/tmp
- ๐ Fix
python.call
docstring (@leahneukirchen) - ๐ Fix
--serial
and--no-wait
executing operations twice - ๐ Fix
su
usage on BSD/MacOS systems - ๐ Improve autocomplete/intellisense handling of pseudo modules
pyinfra.[host|state|inventory]
- ๐ Add
-
v1.1.dev1 Changes
August 16, 2020๐ This is a big release with some major additions & improvements on
v1
, especially around API usage and packaing deploys using the@deploy
decorator.What's new:
- ๐ Add
@dockerssh
connector that enables pyinfra to build Docker containers on remote machines over SSH (@charles-l) - โ Add global
precondition
andpostcondition
operation arguments - ๐ Implement state callback classes dramatically improving the API experience (see
examples/api_deploy.py
) - ๐ Start modifying facts during fact gathering phase, resolving common issues with interdependent operations, expand documentation on this (see: https://docs.pyinfra.com/en/latest/deploy_process.html#interdependent-operations)
Notable change:
๐ The
yum.packages
anddnf.packages
operations have changed their "version join" string value - both package managers use-
to join name + version while allowing-
in the name. This leads to ambiguous behaviour for packages containing dashes, as such the version join value has been changed to=
. This means to specify a specific version of a yum/dnf package you should use<name>=<version>
rather than<name>-<version>
Smaller bits:
- Validate existing files in
file.download
with checksum arguments (@sysadmin75) - ๐ Stop stripping fact output (fixes
command
fact, @sysadmin75) - Add
extra_install_args
andextra_uninstall_args
kwargs toapt.packages
operation - โ Add
--use-sudo-password
CLI argument - ๐ Fix using sudo password with a SSH user that doesn't have access to
/tmp
- ๐ Fix
python.call
docstring (@leahneukirchen) - ๐ Fix
--serial
and--no-wait
executing operations twice - ๐ Improve autocomplete/intellisense handling of pseudo modules
pyinfra.[host|state|inventory]
- ๐ Add
-
v1.1.dev0 Changes
August 11, 2020๐ This is a big release with some major additions & improvements on
v1
:- ๐ Add
@dockerssh
connector that enables pyinfra to build Docker containers on remote machines over SSH (@charles-l) - โ Add global
precondition
andpostcondition
operation arguments - ๐ Implement state callback classes dramatically improving the API experience (see
examples/api_deploy.py
) - ๐ Start modifying facts during fact gathering phase, resolving common issues with interdependent operations, expand documentation on this (see: https://docs.pyinfra.com/en/latest/deploy_process.html#interdependent-operations)
Smaller bits:
- Validate existing files in
file.download
with checksum arguments (@sysadmin75) - ๐ Stop stripping fact output (fixes
command
fact, @sysadmin75) - โ Add
--use-sudo-password
CLI argument - ๐ Fix using sudo password with a SSH user that doesn't have access to
/tmp
- ๐ Fix
python.call
docstring (@leahneukirchen) - ๐ Fix
--serial
and--no-wait
executing operations twice - ๐ Improve autocomplete/intellisense handling of pseudo modules
pyinfra.[host|state|inventory]
- ๐ Add
-
v1.0.4 Changes
July 20, 2020- โ Add
selinux
fact (@FooBarQuaxx) - ๐ Improve/fix
rpm_packages
fact parsing (@FooBarQuaxx) - Stop showing arguments on operations with names
- โ Add
-
v1.0.3 Changes
July 17, 2020- Reimplement
file
/directory
/link
facts usingstat
- No breaking changes
- Adds
ctime
andatime
to the output dictionary
- โ Add
backup
argument to thefiles.line
andfiles.replace
operations - โ Add
SimpleNamespace
to the list of allowed data types - ๐ Don't fail when the destination directory is a symlink in the
files.sync
operation - ๐ Fix running the same fact in CLI w/different arguments
- โ Add local integration tests that check idempotency (of files operations only for now)
- Reimplement
-
v1.0.2 Changes
July 14, 2020- Further improve fact output when errors are encountered
- Will now output stdout + stderr when a fact command fails unexpectedly
- This brings the same instant debugging feel to facts that operations have
- ๐ Fix
wget
failure handling infiles.download
operation (@artizirk) - ๐ Improve files facts handling when file/directory/link does not exist
- Further improve fact output when errors are encountered
-
v1.0.1 Changes
July 13, 2020- โ Log host fact errors/warnings
- ๐ง Switch to
distro
package forlinux_distribution
fact (@FooBarQuaxx) - ๐ Expand support for
os.PathLike
path variables (@FooBarQuaxx) - ๐ Improve checking state/host presence when calling operations (@FooBarQuaxx)
- Don't error in
sha1_file
fact when no file exists
-
v1.0 Changes
July 11, 2020๐ 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 executingpyinfra
, 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
- โ Add new global