1.0b11 (2013-10-17)

#12911: Ensure that we can configure file owners when they don’t
exist during configure phase yet.

#12912: Fix untested and broken file ownership management.

#12847: Clean up unicode handling for File and Content components and
templating.

#12910: Remote deployments failed when using bundles for transfers if no
changes needed bundling.

#12766: Allow bootstrapping a batou project in an existing directory to
support migration from 0.2.

#12283: Recognize files as ‘is_template’ by default. Auto-detect source files
in the definition directory if they have the same basename. This is what you
want in 99% of all cases. Explicitly stating either the ‘content’ or ‘source’
parameter disables auto-detection.

Now you can write this:

File(‘foo’)

and have components/x/foo recognized as the source file and handled as a
template.

1.0b10 (2013-09-27)

Package our own virtualenv instead of depending on the system-installed one.
This should alleviate troubles due to old virtualenv versions that package
distribute, which causes conflicts with recent setuptools versions
(#12874).

Update supervisor version to 3.0.

1.0b9 (2013-08-22)

Update Package component so it ignores installed packages when installing.
This way, we actually install setuptools even when distribute is installed.
(Otherwise it’s a no-op since distribute tells pip that setuptools is
already satisfied).

Fix update process: wrong call to old ‘.batou/bin/batou’ failed and early
bootstrapping would downgrade temporarily which is confusing and superfluous.
Fixes #12739.

1.0b8 (2013-08-17)

Remove superfluous mkdir call during remote bootstrap.

Make batou init print that it’s working. Bootstrapping can take a while,
so at least signal that something’s going on.

1.0b7 (2013-08-17)

Depend on Python2.7 to be available on the PATH during early bootstrap.
Otherwise our chances to get a 2.7 virtualenv are pretty small, too.

Improve project template: ignore the work/ directory by default.

1.0b6 (2013-08-17)

More MANIFEST inclusions: bootstrap-template.

1.0b5 (2013-08-17)

Improve MANIFEST so we actually package the init template and other generated
files, like version.txt and requirements.txt.

1.0b4 (2013-08-17)

Provide a simple project-creation command, both for pip-installed batou’s as
well as spawning new projects from existing ones. Fixes #12730

Fix #12679: make timeouts configurable.

Removed re-imports from batou main module to support light-weight
self-installation and bootstrapping. I.e. ‘from batou import Component’ no
longer works.

Provide a single main command together with a ‘bootstrap’ wrapper that you
can check into your project and that is maintained during updates
automatically. It also provides fully automatic bootstrapping, installation,
upgrading and other maintenance.

Fix Python package installation version check.

Don’t use bin/buildout bootstrap command anymore. PIP installs a sufficient
bin/buildout so buildout can do the rest internally.

Components are context managers now. If you provide __enter__ it will be
called before verify() and if you provide __exit__ this will be called after
update (always - even if update isn’t actually called). This allows you to
manage temporary state on the target system more gracefully. See the
DMGExtractor for an example.

Major refactoring of internal data structures to simplify and improve test
coverage. Some breakage to be expected:

Components do not have a ‘service’ attribute any longer. If you need access
to the service base directory use ‘environment.base_dir’.

Another attempt at getting convergency for package installation: actually
leverage pkg_resources to check what version of a package is installed. PIP
does not necessarily list or freeze setuptools, even if forced to reinstall.