Release Notes for Buildbot v0.8.8
The following are the release notes for Buildbot v0.8.8 Buildbot v0.8.8 was released on August 22, 2013
MasterShellCommandstep now correctly handles environment variables passed as list.
- The master now poll the database for pending tasks when running buildbot in multi-master mode.
- The algorithm to match build requests to slaves has been rewritten :pull:`615`.
The new algorithm automatically takes locks into account, and will not schedule a build only to have it wait on a lock.
The algorithm also introduces a
canStartBuildbuilder configuration option which can be used to prevent a build request being assigned to a slave.
buildbot restartnow accept
--cleanto stop or restart the master cleanly (allowing all running builds to complete first).
- The :bb:reporter:`IRC` bot now supports clean shutdown and immediate shutdown by using the command 'shutdown'. To allow the command to function, you must provide allowShutdown=True.
- :bb:step:`CopyDirectory` has been added.
BuildslaveChoiceParameterhas been added to provide a way to explicitly choose a buildslave for a given build.
- default.css now wraps preformatted text by default.
- Slaves can now be paused through the web status.
- The latent buildslave support is less buggy, thanks :pull:`646`.
AnyBranchSchedulernow maintains separate timers for separate branches, codebases, projects, and repositories.
- :bb:step:`SVN` has a new option preferLastChangedRev=True to use the last changed revision for
- The build request DB connector method :py:meth:`~buildbot.db.buildrequests.BuildRequestsConnectorComponent.getBuildRequests` can now filter by branch and repository.
- A new :bb:step:`SetProperty` step has been added in
buildbot.steps.masterwhich can set a property directly without accessing the slave.
- The new :bb:step:`LogRenderable` step logs Python objects, which can contain renderables, to the logfile. This is helpful for debugging property values during a build.
- 'buildbot try' now has an additional option --property option to set properties. Unlike the existing option --properties option, this new option supports setting only a single property and therefore allows commas to be included in the property name and value.
Gitstep has a new
configoption, which accepts a dict of git configuration options to pass to the low-level git commands. See :bb:step:`Git` for details.
- In :bb:step:`ShellCommand` ShellCommand now validates its arguments during config and will identify any invalid arguments before a build is started.
- The list of force schedulers in the web UI is now sorted by name.
- OpenStack-based Latent Buildslave support was added. See :pull:`666`.
- Master-side support for P4 is available, and provides a great deal more flexibility than the old slave-side step. See :pull:`596`.
- Master-side support for Repo is available.
The step parameters changed to camelCase.
manifest_override_urlproperties are no longer hardcoded, but instead consult as default values via renderables. Renderable are used in favor of callables for
- Builder configurations can now include a
description, which will appear in the web UI to help humans figure out what the builder does.
- GNUAutoconf and other pre-defined factories now work correctly (
- The pubDate in RSS feeds is now rendered correctly (
Deprecations, Removals, and Non-Compatible Changes
split_filefunction for :bb:chsrc:`SVNPoller` may now return a dictionary instead of a tuple. This allows it to add extra information about a change (such as
workdirbuild property has been renamed to
builddir. This change accurately reflects its content; the term "workdir" means something different.
workdiris currently still supported for backwards compatability, but will be removed eventually.
Blockerstep has been removed.
- Several polling ChangeSources are now documented to take a
pollIntervalargument, instead of
pollinterval. The old name is still supported.
- StatusReceivers' checkConfig method should no longer take an errors parameter. It should indicate errors by calling :py:func:`~buildbot.config.error`.
- Build steps now require that their name be a string. Previously, they would accept anything, but not behave appropriately.
- The web status no longer displays a potentially misleading message, indicating whether the build can be rebuilt exactly.
buildbot.steps.shellhas been renamed to :bb:step:`SetPropertyFromCommand`.
- The EC2 and libvirt latent slaves have been moved to
- Pre v0.8.7 versions of buildbot supported passing keyword arguments to
buildbot.process.BuildFactory.addStep, but this was dropped. Support was added again, while still being deprecated, to ease transition.
Changes for Developers
- Added an optional build start callback to
buildbot.status.status_gerrit.GerritStatusPushThis release includes the fix for
- An optional
startCBcallback to :bb:reporter:`GerritStatusPush` can be used to send a message back to the committer. See the linked documentation for details.
- bb:sched:ChoiceStringParameter has a new method
getChoicesthat can be used to generate content dynamically for Force scheduler forms.
- The fix for Twisted bug #5079 is now applied on the slave side, too.
This fixes a perspective broker memory leak in older versions of Twisted.
This fix was added on the master in Buildbot-0.8.4 (see
buildslave startnow correctly prevents the slave from forking before running.
Deprecations, Removals, and Non-Compatible Changes
For a more detailed description of the changes made in this version, see the git log itself:
git log v0.8.7..v0.8.8