Sophie

Sophie

distrib > Mageia > 6 > armv5tl > by-pkgid > 821bff9b1c6450f83fd56c64b66aa3f7 > files > 164

buildbot-doc-0.8.12-3.mga6.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    
    <title>Release Notes for Buildbot v0.8.7 &mdash; Buildbot 0.8.12 documentation</title>
    
    <link rel="stylesheet" href="../_static/agogo.css" type="text/css" />
    <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
    
    <script type="text/javascript">
      var DOCUMENTATION_OPTIONS = {
        URL_ROOT:    '../',
        VERSION:     '0.8.12',
        COLLAPSE_INDEX: false,
        FILE_SUFFIX: '.html',
        HAS_SOURCE:  true
      };
    </script>
    <script type="text/javascript" src="../_static/jquery.js"></script>
    <script type="text/javascript" src="../_static/underscore.js"></script>
    <script type="text/javascript" src="../_static/doctools.js"></script>
    <link rel="shortcut icon" href="../_static/buildbot.ico"/>
    <link rel="top" title="Buildbot 0.8.12 documentation" href="../index.html" />
    <link rel="up" title="Release Notes for Buildbot v0.8.8" href="0.8.8.html" />
    <link rel="next" title="Release Notes for Buildbot v0.8.6p1" href="0.8.6.html" />
    <link rel="prev" title="Release Notes for Buildbot v0.8.8" href="0.8.8.html" /> 
  </head>
  <body role="document">
    <div class="header-wrapper" role="banner">
      <div class="header">
          <p class="logo"><a href="../index.html">
            <img class="logo" src="../_static/header-text-transparent.png" alt="Logo"/>
          </a></p>
        <div class="headertitle"><a
          href="../index.html">Buildbot 0.8.12 documentation</a></div>
        <div class="rel" role="navigation" aria-label="related navigation">
          <a href="0.8.8.html" title="Release Notes for Buildbot v0.8.8"
             accesskey="P">previous</a> |
          <a href="0.8.6.html" title="Release Notes for Buildbot v0.8.6p1"
             accesskey="N">next</a> |
          <a href="../py-modindex.html" title="Python Module Index"
             >modules</a> |
          <a href="../genindex.html" title="General Index"
             accesskey="I">index</a>
        </div>
       </div>
    </div>

    <div class="content-wrapper">
      <div class="content">
        <div class="document">
            
      <div class="documentwrapper">
        <div class="bodywrapper">
          <div class="body" role="main">
            
  <div class="section" id="release-notes-for-buildbot-v0-8-7">
<h1>Release Notes for Buildbot v0.8.7<a class="headerlink" href="#release-notes-for-buildbot-v0-8-7" title="Permalink to this headline">¶</a></h1>
<p>The following are the release notes for Buildbot v0.8.7.
Buildbot v0.8.7 was released on September 22, 2012.
Buildbot 0.8.7p1 was released on November 21, 2012.</p>
<div class="section" id="p1">
<h2>0.8.7p1<a class="headerlink" href="#p1" title="Permalink to this headline">¶</a></h2>
<p>In addition to what's listed below, the 0.8.7p1 release adds the following.</p>
<ul class="simple">
<li>The <code class="docutils literal"><span class="pre">SetPropertiesFromEnv</span></code> step now correctly gets environment variables from the slave, rather than those set on the master.
Also, it logs the changes made to properties.</li>
<li>The master-side <code class="docutils literal"><span class="pre">Git</span></code> source step now doesn't try to clone a branch called <code class="docutils literal"><span class="pre">HEAD</span></code>.
This is what <code class="docutils literal"><span class="pre">git</span></code> does by default, and specifying it explicitly doesn't work as expected.</li>
<li>The <code class="docutils literal"><span class="pre">Git</span></code> step properly deals with the case when there is a file called <code class="docutils literal"><span class="pre">FETCH_HEAD</span></code>
in the checkout.</li>
<li>Buildbot no longer forks when told not to daemonize.</li>
<li>Buildbot's startup is now more robust. See <a class="reference external" href="http://trac.buildbot.net/ticket/1992" title="bug #1992">bug #1992</a>.</li>
<li>The <code class="docutils literal"><span class="pre">Trigger</span></code> 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.</li>
<li>The <code class="docutils literal"><span class="pre">Trigger</span></code> step again completely ignores the source stamp of the current build, if <code class="docutils literal"><span class="pre">alwaysUseLatest</span></code> is set.
In 0.8.7, this was mistakenly changed to only ignore the specified revision of the source stamp.</li>
<li>The <code class="docutils literal"><span class="pre">Triggerable</span></code> scheduler is again properly passing changes through to the scheduled builds.
See <a class="reference external" href="http://trac.buildbot.net/ticket/2376" title="bug #2376">bug #2376</a>.</li>
<li>Web change hooks log errors, allowing debugging.</li>
<li>The <code class="docutils literal"><span class="pre">base</span></code> change hook now properly decodes the provided date.</li>
<li><code class="docutils literal"><span class="pre">CVSMailDir</span></code> has been fixed.</li>
<li>Importing <code class="docutils literal"><span class="pre">buildbot.test</span></code> no longer causes python to exit, if <code class="docutils literal"><span class="pre">mock</span></code> insn't installed.
The fixes <code class="docutils literal"><span class="pre">pydoc</span> <span class="pre">-k</span></code> when buildbot is installed.</li>
<li><code class="docutils literal"><span class="pre">Mercurial</span></code> properly updates to the correct branch, when using <code class="docutils literal"><span class="pre">inrepo</span></code> branches.</li>
<li>Buildbot now doesn't fail on invalid UTF-8 in a number of places.</li>
<li>Many documenation updates and fixes.</li>
</ul>
</div>
<div class="section" id="master">
<h2>Master<a class="headerlink" href="#master" title="Permalink to this headline">¶</a></h2>
<div class="section" id="features">
<h3>Features<a class="headerlink" href="#features" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li>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 <a class="reference internal" href="../manual/concepts.html#multiple-codebase-builds"><span class="std std-ref">Multiple-Codebase Builds</span></a> for details.<ul>
<li>The format of the <code class="docutils literal"><span class="pre">got_revision</span></code> property has changed for multi-codebase builds.
It is now a dictionary keyed by codebase.</li>
</ul>
</li>
<li><code class="docutils literal"><span class="pre">Source</span></code> and <code class="docutils literal"><span class="pre">ShellCommand</span></code> steps now have an optional <code class="docutils literal"><span class="pre">descriptionSuffix</span></code>, a suffix to the
<code class="docutils literal"><span class="pre">description</span></code>/<code class="docutils literal"><span class="pre">descriptionDone</span></code> values. For example this can help distinguish between
multiple <code class="docutils literal"><span class="pre">Compile</span></code> steps that are applied to different codebases.</li>
<li>The <code class="docutils literal"><span class="pre">Git</span></code> step has a new <code class="docutils literal"><span class="pre">getDescription</span></code> option, which will run <code class="docutils literal"><span class="pre">git</span> <span class="pre">describe</span></code> after checkout
normally.  See <a class="reference internal" href="../manual/cfg-buildsteps.html#step-Git" title="Git"><code class="xref bb bb-step docutils literal"><span class="pre">Git</span></code></a> for details.</li>
<li>A new interpolation placeholder <a class="reference internal" href="../manual/cfg-properties.html#interpolate"><span class="std std-ref">Interpolate</span></a>, with more regular syntax, is available.</li>
<li>A new ternary substitution operator <code class="docutils literal"><span class="pre">:?</span></code> and <code class="docutils literal"><span class="pre">:#?</span></code> is available with the <code class="docutils literal"><span class="pre">Interpolate</span></code> class.</li>
<li><code class="docutils literal"><span class="pre">IRenderable.getRenderingFor</span></code> can now return a deferred.</li>
<li>The Mercurial hook now supports multiple masters.  See <a class="reference external" href="https://github.com/buildbot/buildbot/pull/436" title="pull request 436">pull request 436</a>.</li>
<li>There's a new poller for Mercurial: <a class="reference internal" href="../manual/cfg-changesources.html#chsrc-HgPoller" title="HgPoller"><code class="xref bb bb-chsrc docutils literal"><span class="pre">HgPoller</span></code></a>.</li>
<li>The new <code class="docutils literal"><span class="pre">HTPasswdAprAuth</span></code> 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.</li>
<li><code class="docutils literal"><span class="pre">GitPoller</span></code> 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.</li>
<li>Added a new property <code class="docutils literal"><span class="pre">httpLoginUrl</span></code> to <code class="docutils literal"><span class="pre">buildbot.status.web.authz.Authz</span></code>
to render a nice Login link in WebStatus for unauthenticated users if
<code class="docutils literal"><span class="pre">useHttpHeader</span></code> and <code class="docutils literal"><span class="pre">httpLoginUrl</span></code> are set.</li>
<li><code class="docutils literal"><span class="pre">ForceScheduler</span></code> has been updated:<ul>
<li>support for multiple <a class="reference internal" href="../manual/concepts.html#attr-codebase"><span class="std std-ref">codebases</span></a> via the <code class="docutils literal"><span class="pre">codebases</span></code> parameter</li>
<li><code class="docutils literal"><span class="pre">NestedParameter</span></code> to provide a logical grouping of parameters.</li>
<li><code class="docutils literal"><span class="pre">CodebaseParameter</span></code> to set the branch/revision/repository/project for a codebase</li>
<li>new HTML/CSS customization points. Each parameter is contained in a <code class="docutils literal"><span class="pre">row</span></code> 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.</li>
</ul>
</li>
<li>The <a class="reference internal" href="../manual/cfg-changesources.html#chsrc-SVNPoller" title="SVNPoller"><code class="xref bb bb-chsrc docutils literal"><span class="pre">SVNPoller</span></code></a> now supports multiple projects and codebases.
See <a class="reference external" href="https://github.com/buildbot/buildbot/pull/443" title="pull request 443">pull request 443</a>.</li>
<li>The <a class="reference internal" href="../manual/cfg-statustargets.html#status-MailNotifier" title="MailNotifier"><code class="xref bb bb-status docutils literal"><span class="pre">MailNotifier</span></code></a> now takes a callable to calculate the &quot;previous&quot; build for purposes of determining status changes.
See <a class="reference external" href="https://github.com/buildbot/buildbot/pull/489" title="pull request 489">pull request 489</a>.</li>
<li>The <code class="docutils literal"><span class="pre">copy_properties</span></code> parameter, given a list of properties to copy into the new build request, has been deprecated in favor of explicit use of <code class="docutils literal"><span class="pre">set_properties</span></code>.</li>
</ul>
</div>
<div class="section" id="deprecations-removals-and-non-compatible-changes">
<h3>Deprecations, Removals, and Non-Compatible Changes<a class="headerlink" href="#deprecations-removals-and-non-compatible-changes" title="Permalink to this headline">¶</a></h3>
<ul>
<li><p class="first">Buildbot master now requires at least Python-2.5 and Twisted-9.0.0.</p>
</li>
<li><p class="first">Passing a <a class="reference internal" href="../developer/cls-buildsteps.html#buildbot.process.buildstep.BuildStep" title="buildbot.process.buildstep.BuildStep"><code class="xref py py-class docutils literal"><span class="pre">BuildStep</span></code></a> subclass (rather than instance) to <code class="xref py py-meth docutils literal"><span class="pre">addStep</span></code> is no longer supported.
The <code class="docutils literal"><span class="pre">addStep</span></code> method now takes exactly one argument.</p>
</li>
<li><p class="first">Buildbot master requires <code class="docutils literal"><span class="pre">python-dateutil</span></code> version 1.5 to support the
Nightly scheduler.</p>
</li>
<li><p class="first"><code class="docutils literal"><span class="pre">ForceScheduler</span></code> has been updated to support multiple <a class="reference internal" href="../manual/concepts.html#attr-codebase"><span class="std std-ref">codebases</span></a>.
The branch/revision/repository/project are deprecated; if you have customized these
values, simply provide them as <code class="docutils literal"><span class="pre">codebases=[CodebaseParameter(name='',</span> <span class="pre">...)]</span></code>.</p>
<blockquote>
<div><ul class="simple">
<li>The POST URL names for <code class="docutils literal"><span class="pre">AnyPropertyParameter</span></code> 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.</li>
<li><code class="docutils literal"><span class="pre">forcesched.BaseParameter</span></code> API has changed quite a bit and is no longer backwards
compatible. Updating guidelines:<ul>
<li><code class="docutils literal"><span class="pre">get_from_post</span></code> is renamed to <code class="docutils literal"><span class="pre">getFromKwargs</span></code></li>
<li><code class="docutils literal"><span class="pre">update_from_post</span></code> is renamed to <code class="docutils literal"><span class="pre">updateFromKwargs</span></code>. This function's parameters
are now called via named parameters to allow subclasses to ignore values it doesnt use.
Subclasses should add <code class="docutils literal"><span class="pre">**unused</span></code> for future compatibility. A new parameter
<code class="docutils literal"><span class="pre">sourcestampset</span></code> is provided to allow subclasses to modify the sourcestamp set, and
will probably require you to add the <code class="docutils literal"><span class="pre">**unused</span></code> field.</li>
</ul>
</li>
</ul>
</div></blockquote>
</li>
<li><p class="first">The parameters to the callable version of <code class="docutils literal"><span class="pre">build.workdir</span></code> have changed.
Instead of a single sourcestamp, a list of sourcestamps is passed. Each
sourcestamp in the list has a different <a class="reference internal" href="../manual/concepts.html#attr-codebase"><span class="std std-ref">codebase</span></a></p>
</li>
<li><p class="first">The undocumented renderable <code class="docutils literal"><span class="pre">_ComputeRepositoryURL</span></code> is no longer imported to
<a class="reference internal" href="../manual/cfg-buildsteps.html#module-buildbot.steps.source" title="buildbot.steps.source"><code class="xref py py-mod docutils literal"><span class="pre">buildbot.steps.source</span></code></a>. It is still available at
<code class="xref py py-mod docutils literal"><span class="pre">buildbot.steps.source.oldsource</span></code>.</p>
</li>
<li><p class="first"><code class="docutils literal"><span class="pre">IProperties.render</span></code> now returns a deferred, so any code rendering properties
by hand will need to take this into account.</p>
</li>
<li><p class="first"><code class="docutils literal"><span class="pre">baseURL</span></code> has been removed in <a class="reference internal" href="../manual/cfg-buildsteps.html#step-SVN" title="SVN"><code class="xref bb bb-step docutils literal"><span class="pre">SVN</span></code></a> to use just <code class="docutils literal"><span class="pre">repourl</span></code> - see
<a class="reference external" href="http://trac.buildbot.net/ticket/2066" title="bug #2066">bug #2066</a>. Branch info should be provided with <code class="docutils literal"><span class="pre">Interpolate</span></code>.</p>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">buildbot.steps.source.svn</span> <span class="k">import</span> <span class="n">SVN</span>
<span class="n">factory</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">SVN</span><span class="p">(</span><span class="n">baseURL</span><span class="o">=</span><span class="s2">&quot;svn://svn.example.org/svn/&quot;</span><span class="p">))</span>
</pre></div>
</div>
<p>can be replaced with</p>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">buildbot.process.properties</span> <span class="k">import</span> <span class="n">Interpolate</span>
<span class="kn">from</span> <span class="nn">buildbot.steps.source.svn</span> <span class="k">import</span> <span class="n">SVN</span>
<span class="n">factory</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">SVN</span><span class="p">(</span><span class="n">repourl</span><span class="o">=</span><span class="n">Interpolate</span><span class="p">(</span><span class="s2">&quot;svn://svn.example.org/svn/%(src::branch)s&quot;</span><span class="p">)))</span>
</pre></div>
</div>
<p>and</p>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">buildbot.steps.source.svn</span> <span class="k">import</span> <span class="n">SVN</span>
<span class="n">factory</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">SVN</span><span class="p">(</span><span class="n">baseURL</span><span class="o">=</span><span class="s2">&quot;svn://svn.example.org/svn/</span><span class="si">%%</span><span class="s2">BRANCH</span><span class="si">%%</span><span class="s2">/project&quot;</span><span class="p">))</span>
</pre></div>
</div>
<p>can be replaced with</p>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">buildbot.process.properties</span> <span class="k">import</span> <span class="n">Interpolate</span>
<span class="kn">from</span> <span class="nn">buildbot.steps.source.svn</span> <span class="k">import</span> <span class="n">SVN</span>
<span class="n">factory</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">SVN</span><span class="p">(</span><span class="n">repourl</span><span class="o">=</span><span class="n">Interpolate</span><span class="p">(</span><span class="s2">&quot;svn://svn.example.org/svn/%(src::branch)s/project&quot;</span><span class="p">)))</span>
</pre></div>
</div>
<p>and</p>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">buildbot.steps.source.svn</span> <span class="k">import</span> <span class="n">SVN</span>
<span class="n">factory</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">SVN</span><span class="p">(</span><span class="n">baseURL</span><span class="o">=</span><span class="s2">&quot;svn://svn.example.org/svn/&quot;</span><span class="p">,</span> <span class="n">defaultBranch</span><span class="o">=</span><span class="s2">&quot;branches/test&quot;</span><span class="p">))</span>
</pre></div>
</div>
<p>can be replaced with</p>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">buildbot.process.properties</span> <span class="k">import</span> <span class="n">Interpolate</span>
<span class="kn">from</span> <span class="nn">buildbot.steps.source.svn</span> <span class="k">import</span> <span class="n">SVN</span>
<span class="n">factory</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">SVN</span><span class="p">(</span><span class="n">repourl</span><span class="o">=</span><span class="n">Interpolate</span><span class="p">(</span><span class="s2">&quot;svn://svn.example.org/svn/%(src::branch:-branches/test)s&quot;</span><span class="p">)))</span>
</pre></div>
</div>
</li>
<li><p class="first">The <code class="docutils literal"><span class="pre">P4Sync</span></code> step, deprecated since 0.8.5, has been removed.  The <code class="docutils literal"><span class="pre">P4</span></code> step remains.</p>
</li>
<li><p class="first">The <code class="docutils literal"><span class="pre">fetch_spec</span></code> argument to <code class="docutils literal"><span class="pre">GitPoller</span></code> is no longer supported.
<code class="docutils literal"><span class="pre">GitPoller</span></code> now only downloads branches that it is polling, so specifies a refspec itself.</p>
</li>
<li><p class="first">The format of the changes produced by <a class="reference internal" href="../manual/cfg-changesources.html#chsrc-SVNPoller" title="SVNPoller"><code class="xref bb bb-chsrc docutils literal"><span class="pre">SVNPoller</span></code></a> has changed: directory pathnames end with a forward slash.
This allows the <code class="docutils literal"><span class="pre">split_file</span></code> function to distinguish between files and directories.
Customized split functions may need to be adjusted accordingly.</p>
</li>
<li><p class="first"><a class="reference internal" href="../manual/cfg-properties.html#withproperties"><span class="std std-ref">FlattenList</span></a> has been deprecated in favor of <a class="reference internal" href="../manual/cfg-properties.html#interpolate"><span class="std std-ref">Interpolate</span></a>.
<cite>Interpolate</cite> doesn't handle functions as keyword arguments.
The following code using <code class="docutils literal"><span class="pre">WithProperties</span></code></p>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">buildbot.process.properties</span> <span class="k">import</span> <span class="n">WithProperties</span>
<span class="k">def</span> <span class="nf">determine_foo</span><span class="p">(</span><span class="n">props</span><span class="p">):</span>
    <span class="k">if</span> <span class="n">props</span><span class="o">.</span><span class="n">hasProperty</span><span class="p">(</span><span class="s1">&#39;bar&#39;</span><span class="p">):</span>
        <span class="k">return</span> <span class="n">props</span><span class="p">[</span><span class="s1">&#39;bar&#39;</span><span class="p">]</span>
    <span class="k">elif</span> <span class="n">props</span><span class="o">.</span><span class="n">hasProperty</span><span class="p">(</span><span class="s1">&#39;baz&#39;</span><span class="p">):</span>
        <span class="k">return</span> <span class="n">props</span><span class="p">[</span><span class="s1">&#39;baz&#39;</span><span class="p">]</span>
    <span class="k">return</span> <span class="s1">&#39;qux&#39;</span>
<span class="n">WithProperties</span><span class="p">(</span><span class="s1">&#39;</span><span class="si">%(foo)s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="n">foo</span><span class="o">=</span><span class="n">determine_foo</span><span class="p">)</span>
</pre></div>
</div>
<p>can be replaced with</p>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">zope.interface</span> <span class="k">import</span> <span class="n">implementer</span>
<span class="kn">from</span> <span class="nn">buildbot.interfaces</span> <span class="k">import</span> <span class="n">IRenderable</span>
<span class="kn">from</span> <span class="nn">buildbot.process.properties</span> <span class="k">import</span> <span class="n">Interpolate</span>
<span class="nd">@implementer</span><span class="p">(</span><span class="n">IRenderable</span><span class="p">)</span>
<span class="k">class</span> <span class="nc">determineFoo</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
    <span class="k">def</span> <span class="nf">getRenderingFor</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">props</span><span class="p">):</span>
        <span class="k">if</span> <span class="n">props</span><span class="o">.</span><span class="n">hasProperty</span><span class="p">(</span><span class="s1">&#39;bar&#39;</span><span class="p">):</span>
            <span class="k">return</span> <span class="n">props</span><span class="p">[</span><span class="s1">&#39;bar&#39;</span><span class="p">]</span>
        <span class="k">elif</span> <span class="n">props</span><span class="o">.</span><span class="n">hasProperty</span><span class="p">(</span><span class="s1">&#39;baz&#39;</span><span class="p">):</span>
            <span class="k">return</span> <span class="n">props</span><span class="p">[</span><span class="s1">&#39;baz&#39;</span><span class="p">]</span>
        <span class="k">return</span> <span class="s1">&#39;qux&#39;</span>
<span class="n">Interpolate</span><span class="p">(</span><span class="s1">&#39;</span><span class="si">%s</span><span class="s1">(kw:foo)s&#39;</span><span class="p">,</span> <span class="n">foo</span><span class="o">=</span><span class="n">determineFoo</span><span class="p">())</span>
</pre></div>
</div>
</li>
</ul>
</div>
<div class="section" id="changes-for-developers">
<h3>Changes for Developers<a class="headerlink" href="#changes-for-developers" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><code class="docutils literal"><span class="pre">BuildStep.start</span></code> can now optionally return a deferred and any errback will
be handled gracefully. If you use <code class="docutils literal"><span class="pre">inlineCallbacks</span></code>, this means that unexpected
exceptions and failures raised will be captured and logged and the build shut
down normally.</li>
<li>The helper methods <code class="docutils literal"><span class="pre">getState</span></code> and <code class="docutils literal"><span class="pre">setState</span></code> from <code class="docutils literal"><span class="pre">BaseScheduler</span></code> have
been factored into <code class="docutils literal"><span class="pre">buildbot.util.state.StateMixin</span></code> for use elsewhere.</li>
</ul>
</div>
</div>
<div class="section" id="slave">
<h2>Slave<a class="headerlink" href="#slave" title="Permalink to this headline">¶</a></h2>
<div class="section" id="id1">
<h3>Features<a class="headerlink" href="#id1" title="Permalink to this headline">¶</a></h3>
</div>
<div class="section" id="id2">
<h3>Deprecations, Removals, and Non-Compatible Changes<a class="headerlink" href="#id2" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li>The <code class="docutils literal"><span class="pre">P4Sync</span></code> step, deprecated since 0.8.5, has been removed.  The <code class="docutils literal"><span class="pre">P4</span></code> step remains.</li>
</ul>
</div>
</div>
<div class="section" id="details">
<h2>Details<a class="headerlink" href="#details" title="Permalink to this headline">¶</a></h2>
<p>For a more detailed description of the changes made in this version, see the
Git log itself:</p>
<div class="highlight-bash"><div class="highlight"><pre><span></span>git log v0.8.6..v0.8.7
</pre></div>
</div>
</div>
<div class="section" id="older-versions">
<h2>Older Versions<a class="headerlink" href="#older-versions" title="Permalink to this headline">¶</a></h2>
<p>Release notes for older versions of Buildbot are available in the <a class="reference external" href="https://github.com/buildbot/buildbot/blob/master/master/docs/relnotes/" title="master/docs/relnotes/"><code class="docutils literal"><span class="pre">master/docs/relnotes/</span></code></a> directory of the source tree.
Starting with version 0.8.6, they are also available under the appropriate version at <a class="reference external" href="http://buildbot.net/buildbot/docs">http://buildbot.net/buildbot/docs</a>.</p>
</div>
</div>


          </div>
        </div>
      </div>
        </div>
        <div class="sidebar">
<h3>Table Of Contents</h3>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../tutorial/index.html">Buildbot Tutorial</a></li>
<li class="toctree-l1"><a class="reference internal" href="../manual/index.html">Buildbot Manual</a></li>
<li class="toctree-l1"><a class="reference internal" href="../developer/index.html">Buildbot Development</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="index.html">Release Notes for Buildbot 0.8.12</a><ul class="current">
<li class="toctree-l2 current"><a class="reference internal" href="0.8.10.html">Release Notes for Buildbot 0.8.10</a><ul class="current">
<li class="toctree-l3 current"><a class="reference internal" href="0.8.9.html">Release Notes for Buildbot 0.8.9</a><ul class="current">
<li class="toctree-l4 current"><a class="reference internal" href="0.8.8.html">Release Notes for Buildbot v0.8.8</a><ul class="current">
<li class="toctree-l5 current"><a class="current reference internal" href="#">Release Notes for Buildbot v0.8.7</a><ul class="simple">
</ul>
</li>
<li class="toctree-l5"><a class="reference internal" href="0.8.6.html">Release Notes for Buildbot v0.8.6p1</a></li>
</ul>
</li>
<li class="toctree-l4 current"><a class="current reference internal" href="#">Release Notes for Buildbot v0.8.7</a><ul class="simple">
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="0.8.6.html">Release Notes for Buildbot v0.8.6p1</a></li>
</ul>
</li>
<li class="toctree-l3 current"><a class="reference internal" href="0.8.8.html">Release Notes for Buildbot v0.8.8</a><ul class="current">
<li class="toctree-l4 current"><a class="current reference internal" href="#">Release Notes for Buildbot v0.8.7</a><ul class="simple">
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="0.8.6.html">Release Notes for Buildbot v0.8.6p1</a></li>
</ul>
</li>
<li class="toctree-l3 current"><a class="current reference internal" href="#">Release Notes for Buildbot v0.8.7</a><ul class="simple">
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="0.8.6.html">Release Notes for Buildbot v0.8.6p1</a></li>
</ul>
</li>
<li class="toctree-l2 current"><a class="reference internal" href="0.8.9.html">Release Notes for Buildbot 0.8.9</a><ul class="current">
<li class="toctree-l3 current"><a class="reference internal" href="0.8.8.html">Release Notes for Buildbot v0.8.8</a><ul class="current">
<li class="toctree-l4 current"><a class="current reference internal" href="#">Release Notes for Buildbot v0.8.7</a><ul class="simple">
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="0.8.6.html">Release Notes for Buildbot v0.8.6p1</a></li>
</ul>
</li>
<li class="toctree-l3 current"><a class="current reference internal" href="#">Release Notes for Buildbot v0.8.7</a><ul class="simple">
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="0.8.6.html">Release Notes for Buildbot v0.8.6p1</a></li>
</ul>
</li>
<li class="toctree-l2 current"><a class="reference internal" href="0.8.8.html">Release Notes for Buildbot v0.8.8</a><ul class="current">
<li class="toctree-l3 current"><a class="current reference internal" href="#">Release Notes for Buildbot v0.8.7</a><ul class="simple">
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="0.8.6.html">Release Notes for Buildbot v0.8.6p1</a></li>
</ul>
</li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">Release Notes for Buildbot v0.8.7</a><ul class="simple">
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="0.8.6.html">Release Notes for Buildbot v0.8.6p1</a></li>
</ul>
</li>
</ul>

          <div role="search">
            <h3 style="margin-top: 1.5em;">Search</h3>
            <form class="search" action="../search.html" method="get">
                <input type="text" name="q" />
                <input type="submit" value="Go" />
                <input type="hidden" name="check_keywords" value="yes" />
                <input type="hidden" name="area" value="default" />
            </form>
          </div>
        </div>
        <div class="clearer"></div>
      </div>
    </div>

    <div class="footer-wrapper">
      <div class="footer">
        <div class="left">
          <div role="navigation" aria-label="related navigaton">
            <a href="0.8.8.html" title="Release Notes for Buildbot v0.8.8"
              >previous</a> |
            <a href="0.8.6.html" title="Release Notes for Buildbot v0.8.6p1"
              >next</a> |
            <a href="../py-modindex.html" title="Python Module Index"
              >modules</a> |
            <a href="../genindex.html" title="General Index"
              >index</a>
          </div>
          <div role="note" aria-label="source link">
              <br/>
              <a href="../_sources/relnotes/0.8.7.txt"
                rel="nofollow">Show Source</a>
          </div>
        </div>

        <div class="right">
          
    <div class="footer" role="contentinfo">
        &copy; Copyright Buildbot Team Members.
      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.4.1.
    </div>
        </div>
        <div class="clearer"></div>
      </div>
    </div>

  </body>
</html>