Changelog

1.13.0 (2020-04-17)

  • Add ability to disable supervisor programs.

1.12.5 (2020-03-27)

  • Fix brown bag release: the test suite did _not_ complete succesfully for 1.12.4 and obviously things were broken. Connections to remote hosts now work properly again.

1.12.4 (2020-03-27)

  • Fix locking remote batou processes to avoid interfering with other users’ deployments. (#29)

1.12.3 (2020-03-05)

  • Install at least pip 10.0 so we officially support the @ url syntax from PEP 508 (#30)

1.12.2 (2020-02-17)

  • Fix virtualenv creation on Python 2.7 (#25). Thanks icemac.

1.12.1 (2020-01-08)

  • Fix updating direct references in requirements.txt (#22)

1.12.0 (2019-10-11)

  • Make fixtures reusable by calling pytest_plugins = 'batou.fixtures' in code depending on them instead of importing from conftest.py which is not suggested by pytest.
  • Add convenience functions to get active components for a host.
  • Security updates for multiple dependencies.

1.11.0 (2019-04-23)

  • Support IPv6-only addresses in batou.utils.Address

1.10.1 (2019-01-31)

  • Download virtualenv directly from github instead of using pip download. Using pip download makes no sense anymore, as does not only download anymore. (Thanks wosc)

1.10.0 (2018-11-28)

  • Add support for deploying via ‘test kitchen’ (http://kitchen.ci/)
  • Fixed deploying into “own” user (no service user defined in environment) when remote and local user names are different (#106809, wosc).
  • Use Python’s built-in -m venv to create virtualenvs for Python >=3.3 (#107117).

1.9.0 (2018-10-26)

  • Force clone of git repositories when the remote url changes (#106661).
  • Implement basic sorting for Address-objects allowing to sort list of addresses (#100499)

1.8.0 (2018-08-16)

  • Show stdout of rsync command at verification step of SyncDirectory when running in debug mode.
  • Add VirtualEnv3.6 to support Python3.6

1.7.5 (2018-04-05)

  • Fix compatability to pip>=10.0 by using the download command instead of install --download.

1.7.4 (2018-04-03)

  • Fix compatability to pip>=10.0 by no longer forcing eggs instead of wheels.

1.7.3 (2018-03-19)

  • Fix git-bundle deploy when there are no changes to the deployment repository (#100645)

1.7.2 (2018-03-01)

  • Fix batou.lib.file.Purge to be able to delete files again.

1.7.1 (2018-01-29)

  • Fix git deployment repository handling.

1.7.0 (2018-01-29)

  • git.Clone uses git reset instead of merge/checkout to get the defined
    state.
  • batou uses git reset instead of merge/checkout to update the remote deployment repository.
  • Improve error message when deploying a wrong branch.

1.6.1 (2017-11-27)

  • Log very large (100k+) templates as dangerous. We’ve seen Jinja/Python segfault when users started using massively large (8MiB+) template files and this really isn’t a good idea to start with. For example it increases computing time even at 100k quite a lot.

    We try to keep going, though. But in the case of segfaults the user sees a reasonable error message and knows what to do.

  • Improve error reporting for missing our superfluous resources.

  • Using File(‘foo’) with implicitly picking up the source foo was confusing as it also would create (and enforce!) an empty file silently if the source did not exist.

    File(‘foo’) now expects that the source foo exists and if you really want an empty file you have to explicitly say File(‘foo’, content=’‘) or if you don’t care about the content use Presence(‘foo’).

  • Using File(‘foo’) with implicitly picking up the source foo was confusing as it also would create (and enforce!) an empty file silently if the source did not exist.

    File(‘foo’) now expects that the source foo exists and if you really want an empty file you have to explicitly say File(‘foo’, content=’‘) or if you don’t care about the content use Presence(‘foo’).

  • Do not use ‘–always-copy’ in VirtualEnv’s any longer. This caused more pain and inconsistencies than it provided value.

1.6.0 (2017-11-07)

  • Fix self.log() after configure() when no log was emitted during configure()

  • The Purge component now includes directories.

    This is not made an option as previously trying to purge directories would have raised an error and thus made deployments unusable anyway. Relying on this would be considered at least very bad practice and was never promised anyway.

  • The rsync update method now deletes files on the target.

  • The supervisor component uses current versions of buildout and setuptools, so they still work after PyPI recently disabled http without ssl.

1.6.0a3 (2017-08-09)

  • Ignore link-local (fe80::/64) IPv6 addresses in batou.utils.Address.
  • Fix: Grant database.* when using mysql.Grant

1.6.0a2 (2017-07-04)

  • General update of batou’s dependencies.
  • Fix: Don’t update git.Clone when there are incoming changes but the revision is fixed.

1.6.0a1 (2017-07-03)

  • Add a way to override DNS lookup during configuration, to better support migration scenarios.

The change log of older releases is in Historical releases.