5.108. 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

5.108.1. Master

5.108.1.1. Features

  • The MasterShellCommand step 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 request 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 canStartBuild builder configuration option which can be used to prevent a build request being assigned to a slave.

  • buildbot stop and buildbot restart now accept --clean to stop or restart the master cleanly (allowing all running builds to complete first).

  • The 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.

  • CopyDirectory has been added.

  • BuildslaveChoiceParameter has 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 request 646.

  • The treeStableTimer for AnyBranchScheduler now maintains separate timers for separate branches, codebases, projects, and repositories.

  • SVN has a new option preferLastChangedRev=True to use the last changed revision for got_revision

  • The build request DB connector method getBuildRequests can now filter by branch and repository.

  • A new SetProperty step has been added in buildbot.steps.master which can set a property directly without accessing the slave.

  • The new 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.

  • The Git step has a new config option, which accepts a dict of git configuration options to pass to the low-level git commands. See Git for details.

  • In 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 request 666.

  • Master-side support for P4 is available, and provides a great deal more flexibility than the old slave-side step. See pull request 596.

  • Master-side support for Repo is available. The step parameters changed to camelCase. repo_downloads, and manifest_override_url properties are no longer hardcoded, but instead consult as default values via renderables. Renderable are used in favor of callables for syncAllBranches and updateTarball.

  • 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 (bug #2402)

  • The pubDate in RSS feeds is now rendered correctly (bug #2530)

5.108.1.2. Deprecations, Removals, and Non-Compatible Changes

  • The split_file function for SVNPoller may now return a dictionary instead of a tuple. This allows it to add extra information about a change (such as project or repository).

  • The workdir build property has been renamed to builddir. This change accurately reflects its content; the term “workdir” means something different. workdir is currently still supported for backwards compatibility, but will be removed eventually.

  • The Blocker step has been removed.

  • Several polling ChangeSources are now documented to take a pollInterval argument, 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 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.

  • The SetProperty step in buildbot.steps.shell has been renamed to SetPropertyFromCommand.

  • The EC2 and libvirt latent slaves have been moved to buildbot.buildslave.ec2 and buildbot.buildslave.libirt respectively.

  • 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.

5.108.1.3. Changes for Developers

  • Added an optional build start callback to buildbot.status.status_gerrit.GerritStatusPush This release includes the fix for bug #2536.

  • An optional startCB callback to 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 getChoices that can be used to generate content dynamically for Force scheduler forms.

5.108.2. Slave

5.108.2.1. Features

  • 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 bug #1958).

  • The --nodaemon option to buildslave start now correctly prevents the slave from forking before running.

5.108.2.2. Deprecations, Removals, and Non-Compatible Changes

5.108.3. Details

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