All Versions
75
Latest Version
Avg Release Cycle
8 days
Latest Release
-

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 in files.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 and postcondition 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 and dnf.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 (& deprecate MIN_PYINFRA_VERSION)
    • Validate existing files in file.download with checksum arguments (@sysadmin75)
    • ๐Ÿ›  Stop stripping fact output (fixes command fact, @sysadmin75)
    • Add extra_install_args and extra_uninstall_args kwargs to apt.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 and postcondition 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 and dnf.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 and extra_uninstall_args kwargs to apt.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]
  • 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 and postcondition 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 and dnf.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 and extra_uninstall_args kwargs to apt.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]
  • 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 and postcondition 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]
  • 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
  • v1.0.3 Changes

    July 17, 2020
    • Reimplement file/directory/link facts using stat
      • No breaking changes
      • Adds ctime and atime to the output dictionary
    • โž• Add backup argument to the files.line and files.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)
  • 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 in files.download operation (@artizirk)
    • ๐Ÿ‘Œ Improve files facts handling when file/directory/link does not exist
  • v1.0.1 Changes

    July 13, 2020
    • โš  Log host fact errors/warnings
    • ๐Ÿง Switch to distro package for linux_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 executing pyinfra, upgrading should require no chanages.

    What's new:

    • โž• Add new global name argument to name operations (deprecate set 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 and add_deploy functions
    • [API] Return a dictionary of host -> OperationMeta when using add_op
    • Enable passing a list of modules to server.modprobe (@FooBarQuaxx)
    • ๐Ÿ‘Œ Support Path objects in files.[file|directory|link] operations
    • ๐Ÿ‘Œ Support shasum (MacOS) in sha1_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 argument name -> id
    • ๐Ÿ“‡ Rename git.repo argumenets source -> src & target -> dest
    • ๐Ÿ“‡ Rename iptables.chain argument name -> chain
    • ๐Ÿ“‡ Rename python.call argument func -> function
    • Rename size -> mask_bits inside network_devices fact
    • ๐Ÿ”„ Change default of interpolate_variables from True -> False
    • โœ‚ Remove deprecatedhosts/when/op global operation arguments
    • โฑ Rename reprecated Config.TIMEOUT -> Config.CONNECT_TIMEOUT
    • Remove deprecated use_ssh_user argument from git.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