The Trigger step uses the provided list of source stamps exactly, if given, instead of adding them to the sourcestamps of the current build.
In 0.8.7, they were combined with the source stamps for the current build.

The Trigger step again completely ignores the source stamp of the current build, if alwaysUseLatest is set.
In 0.8.7, this was mistakenly changed to only ignore the specified revision of the source stamp.

The Triggerable scheduler is again properly passing changes through to the scheduled builds.
See bug #2376.

Web change hooks log errors, allowing debugging.

The base change hook now properly decodes the provided date.

CVSMailDir has been fixed.

Importing buildbot.test no longer causes python to exit, if mock isn’t installed.
The fixes pydoc-k when buildbot is installed.

Mercurial properly updates to the correct branch, when using inrepo branches.

Buildbot now supports building projects composed of multiple codebases. New
schedulers can aggregate changes to multiple codebases into source stamp sets
(with one source stamp for each codebase). Source steps then check out each
codebase as required, and the remainder of the build process proceeds
normally. See the Multiple-Codebase Builds for details.

The format of the got_revision property has changed for multi-codebase builds.
It is now a dictionary keyed by codebase.

Source and ShellCommand steps now have an optional descriptionSuffix, a suffix to the
description/descriptionDone values. For example this can help distinguish between
multiple Compile steps that are applied to different codebases.

The Git step has a new getDescription option, which will run gitdescribe after checkout
normally. See Git for details.

A new interpolation placeholder Interpolate, with more regular syntax, is available.

A new ternary substitution operator :? and :#? is available with the Interpolate class.

The new HTPasswdAprAuth uses libaprutil (through ctypes) to validate
the password against the hash from the .htpasswd file. This adds support for
all hash types htpasswd can generate.

GitPoller has been rewritten.
It now supports multiple branches and can share a directory between multiple pollers.
It is also more resilient to changes in configuration, or in the underlying repository.

Added a new property httpLoginUrl to buildbot.status.web.authz.Authz
to render a nice Login link in WebStatus for unauthenticated users if
useHttpHeader and httpLoginUrl are set.

CodebaseParameter to set the branch/revision/repository/project for a codebase

new HTML/CSS customization points. Each parameter is contained in a row with multiple
‘class’ attributes associated with them (eg, ‘force-string’ and ‘force-nested’) as well as a unique
id to use with Javascript. Explicit line-breaks have been removed from the HTML generator and
are now controlled using CSS.

Passing a BuildStep subclass (rather than instance) to addStep is no longer supported.
The addStep method now takes exactly one argument.

Buildbot master requires python-dateutil version 1.5 to support the
Nightly scheduler.

ForceScheduler has been updated to support multiple codebases.
The branch/revision/repository/project are deprecated; if you have customized these
values, simply provide them as codebases=[CodebaseParameter(name='',...)].

The POST URL names for AnyPropertyParameter fields have changed. For example,
‘property1name’ is now ‘property1_name’, and ‘property1value’ is now ‘property1_value’.
Please update any bookmarked or saved URL’s that used these fields.

forcesched.BaseParameter API has changed quite a bit and is no longer backwards
compatible. Updating guidelines:

get_from_post is renamed to getFromKwargs

update_from_post is renamed to updateFromKwargs. This function’s parameters
are now called via named parameters to allow subclasses to ignore values it doesn’t use.
Subclasses should add **unused for future compatibility. A new parameter
sourcestampset is provided to allow subclasses to modify the sourcestamp set, and
will probably require you to add the **unused field.

The parameters to the callable version of build.workdir have changed.
Instead of a single sourcestamp, a list of sourcestamps is passed. Each
sourcestamp in the list has a different codebase

The undocumented renderable _ComputeRepositoryURL is no longer imported to
buildbot.steps.source. It is still available at
buildbot.steps.source.oldsource.

IProperties.render now returns a deferred, so any code rendering properties
by hand will need to take this into account.

baseURL has been removed in SVN to use just repourl - see
bug #2066. Branch info should be provided with Interpolate.

The P4Sync step, deprecated since 0.8.5, has been removed. The P4 step remains.

The fetch_spec argument to GitPoller is no longer supported.
GitPoller now only downloads branches that it is polling, so specifies a refspec itself.

The format of the changes produced by SVNPoller has changed: directory pathnames end with a forward slash.
This allows the split_file function to distinguish between files and directories.
Customized split functions may need to be adjusted accordingly.

FlattenList has been deprecated in favor of Interpolate.
Interpolate doesn’t handle functions as keyword arguments.
The following code using WithProperties

BuildStep.start can now optionally return a deferred and any errback will
be handled gracefully. If you use inlineCallbacks, this means that unexpected
exceptions and failures raised will be captured and logged and the build shut
down normally.

The helper methods getState and setState from BaseScheduler have
been factored into buildbot.util.state.StateMixin for use elsewhere.