Changelog History
Page 1
-
v2.5.3 Changes
- ๐ Fix handling of facts with no arguments or with global arguments
- ๐ Fix mutable default breaking
Host.loop
position tracking - ๐ป Cleanup exception handling within operation code
-
v2.5.2 Changes
- ๐ 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
- ๐ Fix/make safer check for sysvinit in
-
v2.5.1 Changes
- ๐ Fix bug in pre/post condition handling that would print non-fatal errors
-
v2.5 Changes
โ Added:
- ๐ง Add
selinux.boolean
,selinux.file_context
,selinux.file_context_mapping
&selinux.port
operations (@morrison12) - โ Add
selinux.SEBoolean
,selinux.FileContextMapping
,selinux.SEPorts
,selinux.SEPort
facts (@morrison12) - โ Add
snap.package
operation &snap.SnapPackage
,snap.SnapPackages
facts (@pabloxio) - โ Add beta
files.block
operation implementation (@morrison12)
๐ Fixed:
- Include all systemd units in
systemd.SystemdStatus
fact (@mariusmuja) - ๐ฆ Handle installed RPM packages in
rpm.RpmPackage
fact (@mariusmuja) - ๐ Fix host loop cycle errors with new
host.loop
method - ๐ Always use ISO format date in
server.Date
fact, should resolve any outstanding parse errors
Other changes:
- ๐ Fix a whole load of documentation typos (@simonw)
- Generic typing stub for operation decorator (@mariusmuja)
- First pass at type annotations for the API (@lowercase00)
- โ Add type checking CI job
- Decomposition of many internal API functions & cleanup (@lowercase00)
- ๐ Use
macos-latest
GitHub runner (@morrison12) - ๐ Fix documentation URL (@blaisep)
- ๐ง Add
-
v2.4 Changes
Delayed getting this out, lots of little improvements.
โ Added:
- Add
server.user_authorized_keys
operation - Add global
_continue_on_error
argument - โ Add
dir_mode
argument tofiles.sync
operation (@filips123) - Copy local permissions when
mode=True
infiles.put
operation - โ Add
headers
andinsecure
arguments tofiles.download
operation
๐ Fixed:
- Get facts with host & state context (@jaysoffian)
- ๐ Fix short facts with arguments (@jaysoffian)
- ๐ Fix hang on launch of container in
lxd.container
operation (@zachwaite) - โ Run operations with host context
- ๐ Fix idempotency with uploads to a directory in
files.put
operation
Other changes:
- ๐ Fix multiple doc typos (@timgates42)
- ๐ Fix variable typo (@bouke-sf)
- ๐ Fix CLI shell autocomplete doc (@jaysoffian)
- Implement idempotency in
git.bare_repo
operation - โ Add typing to fact classes
- โ
Start testing files operations with
pathlib
objects
- Add
-
v2.3 Changes
๐ Relatively small quick release with two additions and a bunch of fixes.
โ Added:
- โ Add
create_home
argument toserver.user
operation - Separate no change/change in proposed changes & results output
- ๐ Support IO-like objects as
stdin
๐ Fixed:
- ๐ Fix short fact gathering
- ๐ Fix handling of IO-like objects when
assume_exists=True
infiles.put
operation - Don't fail to ensure user home dir that already exists as a link
- ๐ Rename file utils to avoid clashes/confusion with operations
Internal:
- Check operation type stubs during CI
- โ Add
-
v2.2 Changes
The main feature of
2.2
is the switch to using a DAG to generate operation order. This mostly replaces line-number ordering (still used to tie-break) and means hacks such asstate.preserve_loop_order
are no longer required!The second highlight feature is the inclusion of type stub files for operations that include all of the global arguments. Thank you to @StefanBRas for implementing this.
Other changes:
- 0๏ธโฃ Use home directory fact for default in
server.user
operation (@yunzheng) - ๐ Fix matching
replace
as a whole line infiles.line
operation - ๐ Fix bug in
mysql.privileges
invalid argument requestingMysqlUserGrants
fact
- 0๏ธโฃ Use home directory fact for default in
-
v2.1 Changes
First
2.x
point release! Major feature: nested operations (at last!).๐ Based on the changes to operations in
2.x
nested operations make it possible to generate & execute operations on the fly at execution time, rather than using the low-level connector API. This unlocks all kinds of complex deploys that were previously impossible or complex to implement. Let's look at an example:from pyinfra import logger from pyinfra.operations import python, server def callback(): result = server.shell(commands=["echo output"]) logger.info(f"Got result: {result.stdout}") python.call( name="Execute callback function", function=callback, )
Other new stuff:
- โ Add
host.reload_fact(...)
- bypasses the fact cache to force reloading of fact data - โ Add
deb.DebArch
fact - Add
ssh_paramiko_connect_kwargs
host data used in the@ssh
connector
๐ Bugfixes:
- ๐ Fix: Remove state/host arguments from apt.dist_upgrade operation (@pabloxio)
- ๐ Fix
files.put
hashing local file that doesn't exist whenassume_exists=True
- ๐ Fix parsing of link targets in RHEL 6 systems
- ๐ฆ Prefer
zypper
overapt
when both present inserver.packages
operation
Internal changes:
- ๐ Fix license link (@Lab-Brat)
- โ Run
black
andisort
across the codebase, now part of CI
- โ Add
-
v2.0.2 Changes
- ๐ Fix for
config.SUDO
/etc handling for operation argument defaults
- ๐ Fix for
-
v2.0.1 Changes
- Rewrite & fix/speedup
systemd
facts usingsystemctl show
- ๐ Support passing IO-like objects into
files.template
operation - ๐ Support
accept-new
SSH config forStrictHostKeyChecking
- ๐ Fix hashing of facts with non-keyword arguments
- ๐ Fix connect to non-connected hosts before collecting facts
- Fix
config.REQUIRE_PYINFRA_VERSION
&config.REQUIRE_PACKAGES
handling - ๐ Many little docs improvements
- Rewrite & fix/speedup