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