5.21. 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.21.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.21.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.21.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 aMakefile.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. See Buildmaster Requirements.
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 theweb.baseurl
value inhgrc
. To continue the old (incorrect) behavior, sethgbuildbot.baseurl
to an empty string as suggested in the Buildbot manual.Master Side
SVN
Step has been corrected to properly use--revision
whenalwaysUseLatest
is set toFalse
when in thefull
mode. See bug #2194Master Side
SVN
Step parameter svnurl has been renamed repourl, to be consistent with other master-side source steps.Master Side
Mercurial
step parameterbaseURL
has been merged withrepourl
parameter. The behavior of the step is already controlled bybranchType
parameter, so just use a single argument to specify the repository.Passing a
buildbot.process.buildstep.BuildStep
subclass (rather than instance) tobuildbot.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.21.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
, andclaimBuildRequest
now take an optionalcomplete_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 anobjectid
. In a related change, theschedulers
table has been removed, along with thebuildbot.db.schedulers.SchedulersConnectorComponent.getSchedulerId
method. - The Dependent scheduler tracks its upstream buildsets using
buildbot.db.schedulers.StateConnectorComponent
, so thescheduler_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 callingbuildbot.config.error
.
5.21.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 likecommand=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 withwaitForFinish=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.21.3. Slave¶
5.21.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.21.3.2. Features¶
5.21.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.21.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.