# 5.110. Release Notes for Buildbot v0.8.6p1

The following are the release notes for Buildbot v0.8.6p1. Buildbot v0.8.6 was released on March 11, 2012. Buildbot v0.8.6p1 was released on March 25, 2012.

## 5.110.1. 0.8.6p1

In addition to what’s listed below, the 0.8.6p1 release adds the following.

- Builders are no longer displayed in the order they were configured. This was never intended behavior, and will become impossible in the distributed architecture planned for Buildbot-0.9.x. As of 0.8.6p1, builders are sorted naturally: lexically, but with numeric segments sorted numerically.

- Slave properties in the configuration are now handled correctly.

- The web interface buttons to cancel individual builds now appear when configured.

- The ForceScheduler’s properties are correctly updated on reconfig - bug #2248.

- If a slave is lost while waiting for locks, it is properly cleaned up - bug #2247.

- Crashes when adding new steps to a factory in a reconfig are fixed - bug #2252.

- MailNotifier AttributeErrors are fixed - bug #2254.

- Cleanup from failed builds is improved - bug #2253.

## 5.110.2. Master

- If you are using the GitHub hook, carefully consider the security implications of allowing un-authenticated change requests, which can potentially build arbitrary code. See bug #2186.

### 5.110.2.1. Deprecations, Removals, and Non-Compatible Changes

- Forced builds now require that a `ForceScheduler` be defined in the Buildbot configuration. For compatible behavior, this should look like:

      from buildbot.schedulers.forcesched import ForceScheduler
      c['schedulers'].append(ForceScheduler(
                              name="force",
                              builderNames=["b1", "b2", ... ]))

  Where all of the builder names in the configuration are listed. See the documentation for the much more flexible configuration options now available.

- This is the last release of Buildbot that will be compatible with Python 2.4. The next version will minimally require Python-2.5. See bug #2157.

- This is the last release of Buildbot that will be compatible with Twisted-8.x.y. The next version will minimally require Twisted-9.0.0. See bug #2182.

- `buildbot start` no longer invokes make if a `Makefile.buildbot` exists. If you are using this functionality, consider invoking make directly.

- The `buildbot sendchange` option `--username` has been removed as promised in bug #1711.

- StatusReceivers’ checkConfig method should now take an additional errors parameter and call its `addError` method to indicate errors.

- The Gerrit status callback now gets an additional parameter (the master status). If you use this callback, you will need to adjust its implementation.

- SQLAlchemy-Migrate version 0.6.0 is no longer supported.

- Older versions of SQLite which could limp along for previous versions of Buildbot are no longer supported. The minimum version is 3.4.0, and 3.7.0 or higher is recommended.

- The master-side Git step now checks out ‘HEAD’ by default, rather than master, which translates to the default branch on the upstream repository. See pull request 301.

- The format of the repository strings created by `hgbuildbot` has changed to contain the entire repository URL, based on the `web.baseurl` value in `hgrc`. To continue the old (incorrect) behavior, set `hgbuildbot.baseurl` to an empty string as suggested in the Buildbot manual.

- Master Side `SVN` Step has been corrected to properly use `--revision` when `alwaysUseLatest` is set to `False` when in the `full` mode. See bug #2194

- Master Side `SVN` Step parameter svnurl has been renamed repourl, to be consistent with other master-side source steps.

- Master Side `Mercurial` step parameter `baseURL` has been merged with `repourl` parameter. The behavior of the step is already controlled by `branchType` parameter, so just use a single argument to specify the repository.

- Passing a `buildbot.process.buildstep.BuildStep` subclass (rather than instance) to `buildbot.process.factory.BuildFactory.addStep` has long been deprecated, and will be removed in version 0.8.7.

- The hgbuildbot tool now defaults to the ‘inrepo’ branch type. Users who do not explicitly set a branch type would previously have seen empty branch strings, and will now see a branch string based on the branch in the repository (e.g., default).

### 5.110.2.2. Changes for Developers

- The interface for runtime access to the master’s configuration has changed considerably. See Configuration for more details.

- The DB connector methods `completeBuildset`, `completeBuildRequest`, and `claimBuildRequest` now take an optional `complete_at` parameter to specify the completion time explicitly.

- Buildbot now sports sourcestamp sets, which collect multiple sourcestamps used to generate a single build, thanks to Harry Borkhuis. See pull request 287.

- Schedulers no longer have a `schedulerid`, but rather an `objectid`. In a related change, the `schedulers` table has been removed, along with the `buildbot.db.schedulers.SchedulersConnectorComponent.getSchedulerId` method.

- The Dependent scheduler tracks its upstream buildsets using `buildbot.db.schedulers.StateConnectorComponent`, so the `scheduler_upstream_buildsets` table has been removed, along with corresponding (undocumented) `buildbot.db.buildsets.BuildsetsConnector` methods.

- Errors during configuration (in particular in `BuildStep` constructors), should be reported by calling `buildbot.config.error`.

### 5.110.2.3. Features

- The IRC status bot now display build status in colors by default. It is controllable and may be disabled with useColors=False in constructor.

- Buildbot can now take advantage of authentication done by a front-end web server - see pull request 266.

- Buildbot supports a simple cookie-based login system, so users no longer need to enter a username and password for every request. See the earlier commits in pull request 278.

- The master-side SVN step now has an export method which is similar to copy, but the build directory does not contain Subversion metadata. (bug #2078)

- `Property` instances will now render any properties in the default value if necessary. This makes possible constructs like

      command=Property('command', default=Property('default-command'))

- Buildbot has a new web hook to handle push notifications from Google Code - see pull request 278.

- Revision links are now generated by a flexible runtime conversion configured by `revlink` - see pull request 280.

- Shell command steps will now “flatten” nested lists in the `command` argument. This allows substitution of multiple command-line arguments using properties. See bug #2150.

- Steps now take an optional `hideStepIf` parameter to suppress the step from the waterfall and build details in the web. (bug #1743)

- `Trigger` steps with `waitForFinish=True` now receive a URL to all the triggered builds. This URL is displayed in the waterfall and build details. See bug #2170.

- The `master/contrib/fakemaster.py` script allows you to run arbitrary commands on a slave by emulating a master. See the file itself for documentation.

- MailNotifier allows multiple notification modes in the same instance. See bug #2205.

- SVNPoller now allows passing extra arguments via argument `extra_args`. See bug #1766

## 5.110.3. Slave

### 5.110.3.1. Deprecations, Removals, and Non-Compatible Changes

- BitKeeper support is in the “Last-Rites” state, and will be removed in the next version unless a maintainer steps forward.

### 5.110.3.2. Features

## 5.110.4. Details

For a more detailed description of the changes made in this version, see the Git log itself:

    git log buildbot-0.8.5..buildbot-0.8.6

## 5.110.5. Older Versions

Release notes for older versions of Buildbot are available in the master/docs/relnotes/ directory of the source tree, or in the archived documentation for those versions at http://buildbot.net/buildbot/docs.