Permalink
Fetching contributors…
Cannot retrieve contributors at this time
1007 lines (810 sloc) 42.4 KB

Release Notes

Buildbot 1.4.0 ( 2018-09-02 )

Bug fixes

  • Fix Build.getUrl() to not ignore virtual builders.
  • Fix git submodule support when using sshPrivateKey and sshHostKey settings by passing ssh data as absolute, not relative paths.
  • Fixed :bb:step:`P4` for change in latest version of p4 login -p.
  • :py:class:`buildbot.reporters.irc.IrcStatusBot` no longer encodes messages before passing them on to methods of its Twisted base class to avoid posting the repr() of a bytes object when running on Python 3.

Features

  • Added new :bb:step:`GitPush` step to perform git push operations.
  • Objects returned by :ref:`renderer` now are able to pass extra arguments to the rendered function via withArgs method.

Test Suite

  • Test suite has been improved for readability by adding a lot of inlineCallbacks
  • Fixed tests which didn't wait for assertFailure's returned deferred.
  • The test suite now runs on Python 3.7 (mostly deprecation warnings from dependencies shut down)

Buildbot 1.3.0 ( 2018-07-13 )

Bug fixes

  • buildbot-worker docker image no longer use pidfile. This allows to auto-restart a docker worker upon crash.
  • GitLab v3 API is deprecated and has been removed from http://gitlab.com, so we now use v4. (:issue:`4143`)

Features

  • -:bb:step:`Git` now supports sshHostKey parameter to specify ssh public host key for fetch operations.
  • -:bb:step:`Git` now supports sshPrivateKey parameter to specify private ssh key for fetch operations.
  • -:bb:chsrc:`GitPoller` now supports sshHostKey parameter to specify ssh public host key for fetch operations. This feature is supported on git 2.3 and newer.
  • -:bb:chsrc:`GitPoller` now supports sshPrivateKey parameter to specify private ssh key for fetch operations. This feature is supported on git 2.3 and newer.
  • Github hook token validation now uses hmac.compare_digest() for better security

Deprecations and Removals

  • Removed support for GitLab v3 API ( GitLab < 9 ).

Buildbot 1.2.0 ( 2018-06-10 )

Bug fixes

  • Don't schedule a build when a GitLab merge request is deleted or edited (:issue:`3635`)
  • Add GitLab source step; using it, we now handle GitLab merge requests from forks properly (:issue:`4107`)
  • Fixed a bug in :py:class:`~buildbot.reporters.mail.MailNotifier`'s createEmail method when called with the default builds value which resulted in mail not being sent.
  • Fixed a Github crash that happened on Pull Requests, triggered by Github Web-hooks. The json sent by the API does not contain a commit message. In github.py this causes a crash, resulting into response 500 sent back to Github and building failure.
  • Speed up generation of api/v2/builders by an order of magnitude. (:issue:`3396`).

Improved Documentation

  • Added examples/gitlab.cfg to demonstrate integrating Buildbot with GitLab.

Features

  • :ref:`ForceScheduler-Parameters` now support an autopopulate parameter.
  • :ref:`ForceScheduler-Parameters` ChoiceParameter now correctly supports the strict parameter, by allowing free text entry if strict is False.
  • Allow the remote ref to be specified in the GitHub hook configuration (:issue:`3998`)
  • Added callable to p4 source that allows client code to resolve the p4 user and workspace into a more complete author. Default behaviour is a lambda that simply returns the original supplied who. This callable happens after the existing regex is performed.

Buildbot 1.1.2 ( 2018-05-15 )

Bug fixes

  • fix several multimaster issues by reverting :issue:`3911`. re-opens :issue:`3783`. (:issue:`4067`, :issue:`4062`, :issue:`4059`)
  • Fix :bb:step:`MultipleFileUpload` to correctly compute path name when worker and master are on different OS (:issue:`4019`)
  • LDAP bytes/unicode handling has been fixed to work with Python 3. This means that LDAP authentication, REMOTE_USER authentication, and LDAP avatars now work on Python 3. In addition, an of bounds access when trying to load the value of an empty LDAP attribute has been fixed.
  • Removing `no-select` rules from places where they would prevent the user from selecting interesting text. (:issue:`3663`)
  • fix `Maximum recursion depth exceeded when lots of worker are trying to connect while master is starting or reconfiguring (:issue:`4042`).

Improved Documentation

  • Document a minimal secure config for the Buildbot web interface. (:issue:`4026`)

Features

  • The Dockerfile for the buildbot master image has been updated to use Alpine Linux 3.7. In addition, the Python requests module has been added to this image. This makes GitHub authentication work out of the box with this image. (:issue:`4039`)
  • New steps for Visual Studio 2017 (VS2017, VC141, and MsBuild141).
  • The smoke tests have been changed to use ES2017 async and await keywords. This requires that the smoke tests run with Node 8 or higher. Use of async and await is recommended by the Protractor team: https://github.com/angular/protractor/blob/master/docs/async-await.md
  • Allow urlText to be set on a url linked to a DirectoryUpload step (:issue:`3983`)

Buildbot 1.1.1 ( 2018-04-06 )

Bug fixes

  • Fix issue which marked all workers dis-configured in the database every 24h (:issue:`3981` :issue:`3956` :issue:`3970`)
  • The :bb:reporter:`MailNotifier` no longer crashes when sending from/to email addresses with "Real Name" parts (e.g., John Doe <john.doe@domain.tld>).
  • Corrected pluralization of text on landing page of the web UI

Improved Documentation

  • Corrected typo in description of libvirt
  • Update sample config to use preferred API

Misc Improvements

  • Home page now contains links to recently active builders

Buildbot 1.1.0 ( 2018-03-10 )

Deprecations and Removals

  • Removed ramlfication as a dependency to build the docs and run the tests.

Bug fixes

  • Fixed buildrequests API doesn't provide properties data (:issue:`3929`)
  • Fix missing owner on builder build table (:issue:`3311`)
  • Include hipchat as reporter.
  • Fix encoding issues of commands with Windows workers (:issue:`3799`).
  • Fixed Relax builder name length restriction (:issue:`3413`).
  • Fix the configuration order so that services can actually use secrets (:issue:`3985`)
  • Partially fix Builder page should show the worker information (:issue:`3546`).

Features

  • Added the defaultProperties parameter to :bb:cfg:`builders`.
  • When a build step has a log called "summary" (case-insensitive), the Build Summary page will sort that log first in the list of logs, and automatically expand it.

Buildbot 1.0.0 ( 2018-02-11 )

Despite the major version bump, Buildbot 1.0.0 does not have major difference with the 0.9 series. 1.0.0 is rather the mark of API stability. Developers do not foresee a major API break in the next few years like we had for 0.8 to 0.9.

Starting with 1.0.0, Buildbot will follow semver versioning methodology.

Bug fixes

  • Cloning :bb:step:`Git` repository with submodules now works with Git < 1.7.6 instead of failing due to the use of the unsupported --force option.
  • :bb:chsrc:`GitHub` hook now properly creates a change in case of new tag or new branch. :bb:chsrc:`GitHub` changes will have the category set to tag when a tag was pushed to easily distinguish from a branch push.
  • Fixed issue with :py:meth:`Master.expireMasters` not always honoring its forceHouseKeeping parameter. (:issue:`3783`)
  • Fixed issue with steps not correctly ending in CANCELLED status when interrupted.
  • Fix maximum recursion limit issue when transferring large files with LocalWorker (issue:3014).
  • Added an argument to P4Source that allows users to provide a callable to convert Perforce branch and revision to a valid revlink URL. Perforce supplies a p4web server for resolving urls into change lists.
  • Fixed issue with buildbot_pkg` not hanging on yarn step on windows (:issue:`3890`).
  • Fix issue with :bb:cfg:`workers` notify_on_missing not able to be configurable as a single string instead of list of string (:issue:`3913`).
  • Fixed Builder page should display worker name instead of id (:issue:`3901`).

Features

Buildbot 0.9.15.post1 ( 2018-01-07 )

Bug fixes

Buildbot 0.9.15 ( 2018-01-02 )

Bug fixes

  • Fix builder page not showing any build (:issue:`3820`)
  • Fix double Workers button in the menu. (:issue:`3818`)
  • Fix bad icons in the worker action dialog.
  • Fix url arguments in Buildbot :ref:`Badges` for python3.
  • Upgrading to guanlecoja-ui version 1.8.0, fixing two issues. Fixed issue where the console view would jump to the top of page when opening the build summary dialog (:issue:`3657`). Also improved sidebar behaviour by remembering previous pinned vs. collapsed state.
  • Fixes issue with Buildbot :bb:worker:`DockerLatentWorker`, where Buildbot can kill running workers by mistake based on the form the worker name (:issue:`3800`).
  • Fixes issue with Buildbot :bb:worker:`DockerLatentWorker` not reaping zombies process within its container environment.
  • Update requirement text to use the modern "docker" module from the older "docker-py" module name
  • When multiple :bb:cfg:`reporter` or :bb:cfg:`services` are configured with the same name, an error is now displayed instead of silently discarding all but the last one :issue:`3813`.
  • Fixed exception when using :py:class:`buildbot.www.auth.CustomAuth`

Features

  • New Buildbot SVG icons for web UI. The web UI now uses a colored favicon according to build results (:issue:`3785`).
  • paused and graceful :ref:`Worker-states` are now stored in the database.
  • :ref:`Worker-states` are now displayed in the web UI.
  • Quarantine timers is now using the paused worker state.
  • Quarantine timer is now enabled when a build finish on EXCEPTION state.
  • Standalone binaries for buildbot-worker package are now published for windows and linux (amd64). This allows to run a buildbot-worker without having a python environment.
  • New buildbot-worker create-worker --maxretries for :ref:`Latent-Workers` to quit if the master is or becomes unreachable.
  • Badges can now display running as status.
  • The database schema now supports cascade deletes for all objects instead of raising an error when deleting a record which has other records pointing to it via foreign keys.
  • Buildbot can properly find its version if installed from a git archive tarball generated from a tag.
  • Enhanced the test suite to add worker/master protocol interoperability tests between python3 and python2.

Deprecations and Removals

  • buildbot.util.ascii2unicode() is removed. buildbot.util.bytes2unicode() should be used instead.

Buildbot 0.9.14 ( 2017-12-08 )

Bug fixes

  • Compile step now properly takes the decodeRC parameter in account (:issue:`3774`)
  • Fix duplicate build requests results in :py:class:`~buildbot.db.buildrequests.BuildRequestsConnectorComponent` when querying the database (:issue:`3712`).
  • :py:class:`~buildbot.changes.gitpoller.GitPoller` now accepts git branch names with UTF-8 characters (:issue:`3769`).
  • Fixed inconsistent use of pointer style mouse cursor by removing it from the .label css rule and instead creating a new .clickable css rule which is used only in places which are clickable and would not otherwise automatically get the pointer icon, for example it is not needed for hyper-links. (:issue:`3795`).
  • Rebuilding with the same revision now takes new change properties into account instead of re-using the original build change properties (:issue:`3701`).
  • Worker authentication is now delayed via a DeferredLock until Buildbot configuration is finished. This fixes UnauthorizedLogin errors during buildbot restart (:issue:`3462`).
  • Fixes python3 encoding issues with Windows Service (:issue:`3796`)

Features

  • new :ref`badges` plugin which reimplement the buildbot eight png badge system.
  • In progress worker control API. Worker can now be stopped and paused using the UI. Note that there is no UI yet to look the status of those actions (:issue:`3429`).
  • Make maximum number of builds fetched on the builders page configurable.
  • Include context in the log message for GitHubStatusPush
  • On 'Builders' page reload builds when tags change.
  • Give reporters access to master single in renderables. This allows access to build logs amongst other things
  • Added possibility to check www user credentials with a custom class.

Buildbot 0.9.13 ( 2017-11-07 )

Deprecations and Removals

Following will help Buildbot to leverage new feature of twisted to implement important features like worker protocol encryption.

  • The buildbot and buildbot-worker packages now requires Python 2.7 or Python 3.4+ -- Python 2.6 is no longer supported.
  • buildbot and buildbot-worker packages now required Twisted versions >= 16.1.0. Earlier versions of Twisted are not supported.

Bug fixes

  • Fix Console View forced builds stacking at top (issue:3461)
  • Improve buildrequest distributor to ensure all builders are processed. With previous version, builder list could be re-prioritized, while running the distributor, meaning some builders would never be run in case of master high load. (:issue:`3661`)
  • Improve getOldestRequestTime function of buildrequest distributor to do sorting and paging in the database layer (:issue:`3661`).
  • Arguments passed to GitLab push notifications now work with Python 3 (:issue:`3720`).
  • Web hooks change sources which use twisted.web.http.Request have been fixed to use bytes, not native strings. This ensures web hooks work on Python 3. Please report any issues on web hooks in python3, as it is hard for us to test end to end.
  • Fixed null value of steps and logs in reporter HttpStatusPush api. Fixes (:issue:`3180`)
  • EC2LatentBuilder now correctly sets tags on spot instances (:issue:`3739`).
  • Fixed operation of the Try scheduler for a code checked out from Subversion.
  • Fix buildbot worker startup when running as a windows service

Features

Buildbot 0.9.12.post1 ( 2017-10-10 )

This is a release which only exists for the buildbot_grid_view package.

Bug fixes

Buildbot 0.9.12 ( 2017-10-05 )

Bug fixes

  • Fixed many issues related to connecting masters and workers with different major version of Python (:issue:`3416`).
  • Fixed KeyError in the log when two buildrequests of the same buildset are finished at the same time (:issue:`3472`, :issue:`3591`)
  • Fix for SVN.purge fails when modified files contain non-ascii characters (:issue:`3576`)
  • Fix the GitHub change hook on Python 3 (:issue:`3452`).
  • Fix :class:`reporters.gitlab` to use correct commit status codes (:issue:`3641`).
  • Fixed deadlock issue, when locks are taken at least 3 times by the 3 Buildstep with same configuration (:issue:`3650`)
  • Fix the Gerrit source step in the presence of multiple Gerrit repos (:issue:`3460`).
  • Add empty pidfile option to master and worker start script when --nodaemon option is on. (:issue:`3012`).

Features

Deprecations and Removals

  • buildbot.util.encodeString() has been removed. buildbot.util.unicode2bytes() should be used instead.

Buildbot 0.9.11 ( 2017-09-08 )

Incompatible Changes

  • Buildbot is not compatible with python3-ldap anymore. It now requires ldap3 package for its ldap operations (:issue:`3530`)

Bug fixes

  • Fix issue with logviewer scrolling up indefinitely when loading logs (:issue:`3154`).
  • Do not add the url if it already exists in the step. (:issue:`3554`)
  • Fix filtering for REST resource attributes when SQL is involved in the backend (eq, ne, and contains operations, when there are several filters) (:issue:`3526`).
  • The git source step now uses git checkout -B rather than git branch -M to create local branches (:issue:`3537`)
  • Fixed :ref:`Grid View <GridView>` settings. It is now possible to configure "false" values.
  • Fix performance issue when remote command does not send any line boundary (:issue:`3517`)
  • Fix regression in GithHub oauth2 v3 api, when using enterprise edition.
  • Fix the Perforce build step on Python 3 (:issue:`3493`)
  • Make REST API's filter __contains use OR connector rather than AND according to what the documentation suggests.
  • Fixed secret plugins registration, so that they are correctly available in import buildbot.plugins.secrets. changes to all secrets plugin to be imported and used.
  • Fix secrets downloaded to worker with too wide permissions.
  • Fix issue with stop build during latent worker substantiating, the build result was retried instead of cancelled.
  • pip install 'buildbot[bundle]' now installs grid_view plugin. This fixes issues with the tutorial where grid_view is enabled by default.

Improved Documentation

  • Fixed documentation regarding log obfuscation for passwords.
  • Improve documentation of REST API's __contains filter.

Features

Buildbot 0.9.10 ( 2017-08-03 )

Bug fixes

Features

  • added support for builder names in REST API. Note that those endpoints are not (yet) available from the UI, as the events are not sent to the endpoints with builder names.
  • Implemented new ability to set from by email domain. Implemented :py:class:`~buildbot.www.authz.RolesFromDomain`. (:issue:`3422`)

Buildbot 0.9.9.post2 ( 2017-07-06 )

Bug fixes

  • Fix tried to complete 100 buildrequests, but only completed 25 issue in buildrequest collapser (:issue:`3406`)
  • Fixed issue when several mail notifiers are used with same parameters, but different modes (:issue:`3398`).
  • Fixed release scripts for postN releases

Buildbot 0.9.9.post1 ( 2017-07-01 )

Bug fixes

Buildbot 0.9.9 ( 2017-06-29 )

Bug fixes

  • Fixed a regression inn UserPasswordAuth where a list would create an error.
  • Fix non ascii payload handling in base web hook (:issue:`3321`).
  • Fixed default buildrequest collapsing (:issue:`3151`)
  • _wait_for_request() would fail to format a log statement due to an invalid type being passed to log.msg (resulting in a broken build)
  • Fix Windows compatibility with frontend development tool gulp dev proxy (:issue:`3359`)

Features

Buildbot 0.9.8 ( 2017-06-14 )

Core Bug fixes

  • Fix incompatibility issue of UserPasswordAuth with python 3.
  • Fix issue with oauth sequence not working with Firefox (:issue:`3306`)
  • Update old addChange method to accept the new chdict names if only the new name is present. Fixes :issue:`3191`.
  • fix bytes vs string issue on python3 with authorization of rest endpoints.

Core Features

  • doStepIf is now renderable.
  • Source step codebase is now renderable.
  • Step names are now renderable.
  • Added :py:func:`giturlparse` utility function to help buildbot components like reporters to parse git url from change sources.
  • Factorized the mail reporter to be able to write new message based reporters, for other backend than SMTP.
  • The class :py:class:`~buildbot.process.properties.Property` now allows being used with Python built in comparators. It will return a Renderable which executes the comparison.

Components Bug fixes

  • GitLab reporter now correctly sets the status to running instead of pending when a build starts.
  • GitLab reporter now correctly works when there are multiple codebase, and when the projects names contain url reserved characters.
  • GitLab reporter now correctly reports the status even if there are several sourcestamps. Better parsing of change repository in GitLab reporter so that it understands ssh urls and https url. GitLab reporter do not use the project field anymore to know the repository to push to.

Components Features

Buildbot 0.9.7 ( 2017-05-09 )

Core Bug fixes

Components Bug fixes

Core Features

Components Features

Buildbot 0.9.6 ( 2017-04-19 )

Core Bug fixes

Components Bug fixes

UI Bug fixes

  • Fix waterfall scrolling and zooming in current browsers
  • console_view now properly uses revlink metadata to link to changes.
  • Fixed Console View infinite loading spinner when no change have been recorded yet (:issue:`3060`).

Core Features

  • new :ref:`Virtual-Builders` concept for better integration of frameworks which store the build config along side the source code.

Components Features

UI Features

Buildbot 0.9.5 ( 2017-03-18 )

Bug fixes

Core Features

Components Features

Deprecations and Removals

Buildbot 0.9.4 ( 2017-02-08 )

Database upgrade

A database upgrade is necessary for this release (see :bb:cmdline:`upgrade-master`).

Bug fixes

  • Like for buildbot start, buildbot upgrade-master will now erase an old pidfile if the process is not live anymore instead of just failing.
  • Change properties 'value' changed from String(1024) to Text. Requires upgrade master. (🐛`3197`)
  • When using REST API, it is now possible to filter and sort in descending order at the same time.
  • Fix issue with :bb:reporter:`HttpStatusPush` raising datetime is not JSON serializable error.
  • Fix issue with log viewer not properly rendering color codes.
  • Fixed log viewer selection and copy-paste for Firefox (🐛`3662`).
  • Fix issue with DelayedCalled already called, and worker missing notification email never received.
  • :bb:cfg:`schedulers` and :bb:cfg:`change_source` are now properly taking configuration change in account with buildbot reconfig.
  • setuptools is now explicitly marked as required. The dependency was previously implicit.
  • :bb:cfg:`buildbotNetUsageData` now uses requests if available and will default to HTTP if a bogus SSL implementation is found. It will also correctly send information about the platform type.

Features

  • Buildbot now uses JWT to store its web UI Sessions. Sessions now persist upon buildbot restart. Sessions are shared between masters. Session expiration time is configurable with c['www']['cookie_expiration_time'] see :bb:cfg:`www`.

  • Builders page has been optimized and can now be displayed with 4 http requests whatever is the builder count (previously, there was one http request per builder).

  • Builder and Worker page build list now have the numbuilds= option which allows to show more builds.

  • Masters page now shows more information about a master (workers, builds, activity timer)

  • Workers page improvements:

    • Shows which master the worker is connected to.
    • Shows correctly the list of builders that this master is configured on (not the list of buildermaster which nobody cares about).
    • Shows list of builds per worker similar to the builders page.
    • New worker details page displays the list of builds built by this worker using database optimized query.

Deprecations and Removals

Buildbot 0.9.3 ( 2017-01-11 )

Bug fixes

Features

  • Optimize the memory consumption of the log compression process. Buildbot do not load the whole log into memory anymore. This should improve a lot buildbot memory footprint.
  • Changed the build page so that the preview of the logs are shown in live. It is a preview means the last lines of log. How many lines is configurable per user in the user settings page.
  • Log viewer line numbers are no longer selectable, so that it is easier to copy paste.
  • :py:class:`~buildbot.plugins.worker.DockerLatentWorker` accepts now renderable Dockerfile
  • :ref:`Renderer` function can now return :class:`~buildbot.interfaces.IRenderable` objects.
  • new :bb:step:`SetProperties` which allows to generate and transform properties separately.
  • Handle new workers in windows_service.py script.
  • Sort the builders in the waterfall view by name instead of ID.

Buildbot 0.9.2 ( 2016-12-13 )

Bug fixes

Features

Older Release Notes

.. toctree::
    :maxdepth: 1

    0.9.1
    0.9.0
    0.9.0rc4
    0.9.0rc3
    0.9.0rc2
    0.9.0rc1
    0.9.0b9
    0.9.0b8
    0.9.0b7
    0.9.0b6
    0.9.0b5
    0.9.0b4
    0.9.0b3
    0.9.0b2
    0.9.0b1
    0.8.12
    0.8.10
    0.8.9
    0.8.8
    0.8.7
    0.8.6

Note that Buildbot-0.8.11 was never released.