Changelogs » Buildbot

PyUp Safety actively tracks 316,954 Python packages for vulnerabilities and notifies you when to upgrade.

Buildbot

3.2.0

Bug fixes
  ---------
  
  - Fixed occasional ``InvalidSpotInstanceRequestID.NotFound`` errors when using spot instances on EC2.
  This could have lead to Buildbot launching zombie instances and not shutting them down.
  - Improved ``GitPoller`` behavior during reconfiguration to exit at earliest possible opportunity and thus reduce the delay that running ``GitPoller`` incurs for the reconfiguration.
  - The docker container for the master now fully builds the www packages.
  Previously they were downloaded from pypi which resulted in downloading whatever version was newest at the time (4998).
  - Implemented time out for master-side utility processes (e.g. ``git`` or ``hg``) which could break the respective version control poller potentially indefinitely upon hanging.
  - Fixed a regression in the ``reconfig`` script which would time out instead of printing error when configuration update was not successfully applied.
  - Improved buildbot restart behavior to restore the worker paused state (6074)
  - Fixed support for binary patch files in try client (5933)
  - Improved handling of unsubscription errors in WAMP which will no longer crash the unsubscribing component and instead just log an error.
  - Fixed a crash when a worker is disconnected from a running build that uses worker information for some of its properties (5745).
  
  Improved Documentation
  ----------------------
  
  - Added documentation about installation Buildbot worker as Windows service.
  
  Features
  --------
  
  - ``DebPbuilder`` now supports the ``--othermirror`` flag for including additional repositories
  - Implemented support for setting docker container's hostname
  - The libvirt latent worker will now wait for the VM to come online instead of disabling the worker during connection establishment process.
  The VM management connections are now pooled by URI.
  - Buildbot now sends metadata required to establish connection back to master to libvirt worker VMs.
  - ``LibVirtWorker`` will now setup libvirt metadata with details needed by the worker to connect back to master.
  - The docker container for the master has been switched to Debian.
  Additionally, buildbot is installed into a virtualenv there to reduce chances of conflicts with Python packages installed via ``dpkg``.
  - BitbucketStatusPush now has renderable build status key, name, and description.
  - Pausing a worker is a manual operation which the quarantine timer was overwriting. Worker paused state and quarantine state are now independent. (5611)
  - Reduce buildbot_worker wheel package size by 40% by dropping tests from package.

3.1.1

Bug fixes
  ---------
  
  - Fix missing VERSION file in buildbot_worker wheel package (5948, 4464).
  - Fixed error when attempting to specify ``ws_ping_interval`` configuration option (5991).

3.1.0

Bug fixes
  ---------
  
  - Fixed usage of invalid characters in temporary file names by git-related steps (5949)
  - Fixed parsing of URLs of the form https://api.bitbucket.org/2.0/repositories/OWNER/REPONAME in BitbucketStatusPush. These URLs are in the sourcestamps returned by the Bitbucket Cloud hook.
  - Brought back the old (pre v2.9.0) behavior of the ``FileDownload`` step to act more gracefully by returning ``FAILURE`` instead of raising an exception when the file doesn't exist on master. This makes use cases such as ``FileDownload(haltOnFailure=False)`` possible again.
  - Fixed issue with ``getNewestCompleteTime`` which was returning no completed builds, although it could.
  - Fixed the ``Git`` source step causing last active branch to point to wrong commits. This only affected the branch state in the local repository, the checked out code was correct.
  - Improved cleanup of any containers left running by ``OpenstackLatentWorker``.
  - Improved consistency of log messages produced by the reconfig script. Note that this output is not part of public API of Buildbot and may change at any time.
  - Improved error message when try client cannot create a build due to builder being not configured on master side.
  - Fixed exception when submitting builds via try jobdir client when the branch was not explicitly specified.
  - Fixed handling of secrets in nested folders by the vault provider.
  
  Features
  --------
  
  - Implemented report generator for new build requests
  - Allow usage of Basic authentication to access GitHub API when looking for avatars
  - Added support for default Pylint message that was changed in Pylint v2.0.
  - Implemented support for configurable timeout in the reconfig script via new ``progress_timeout`` command-line parameter which determines how long it waits between subsequent progress updates in the logs before declaring a timeout.
  - Implemented ``GitDiffInfo`` step that would extract information about what code has been changed in a pull/merge request.
  - Add support ``--submodule`` option for the ``repo init`` command of the Repo source step.
  
  Deprecations and Removals
  -------------------------
  
  - ``MessageFormatter`` will receive the actual builder name instead of ``whole buildset`` when used from ``BuildSetStatusGenerator``.

3.0.3

Bug fixes
  ---------
  
  - Fixed a race condition in log handling of ``RpmLint`` and ``WarningCountingShellCommand`` steps resulting in steps crashing occasionally.
  - Fixed incorrect state string of a finished buildstep being sent via message queue (5906).
  - Reduced flickering of build summary tooltip during mouseover of build numbers (5930).
  - Fixed missing data in Owners and Worker columns in changes and workers pages (5888, 5887).
  - Fixed excessive debug logging in ``GerritEventLogPoller``.
  - Fixed regression in pending buildrequests UI where owner is not displayed anymore (5940).
  - Re-added support for ``lazylogfiles`` argument of ``ShellCommand`` that was available in old style steps.

3.0.2

Bug fixes
  ---------
  
  - Updated Buildbot requirements to specify sqlalchemy 1.4 and newer as not supported yet.

3.0.1

Bug fixes
  ---------
  
  - Fixed special character handling in avatar email URLs.
  - Fixed errors when an email address matches GitHub commits but the user is unknown to it.
  - Added missing report generators to the Buildbot plugin database (5892)
  - Fixed non-default mode support for ``BuildSetStatusGenerator``.

3.0.0

Bug fixes
  ---------
  
  - Avatar caching is now working properly and size argument is now handled correctly.
  - Removed display of hidden steps in the build summary tooltip.
  - ``GitHubPullrequestPoller`` now supports secrets in its ``token`` argument (4921)
  - Plugin database will no longer issue warnings on load, but only when a particular entry is accessed.
  - SSH connections are now run with ``-o BatchMode=yes`` to prevent interactive prompts which may tie up a step, reporter or change source until it times out.
  
  Features
  --------
  
  - ``BitbucketPullrequestPoller``, ``BitbucketCloudEventHandler``, ``BitbucketServerEventHandler`` were enhanced to save PR entries matching provided masks as build properties.
  - ``BitbucketPullrequestPoller`` has been enhanced to optionally authorize Bitbucket API.
  - Added `pullrequesturl` property to the following pollers and change hooks: ``BitbucketPullrequestPoller``, ``GitHubPullrequestPoller``, ``GitHubEventHandler``.
  This unifies all Bitbucket and GitHub pollers with the shared property interface.
  - AvatarGitHub class has been enhanced to handle avatar based on email requests and take size argument into account
  - Added support for Fossil user objects for use by the buildbot-fossil plugin.
  - A new ``www.ws_ping_interval`` configuration option was added to avoid websocket timeouts when using reverse proxies and CDNs (4078)
  
  Deprecations and Removals
  -------------------------
  
  - Removed deprecated ``encoding`` argument to ``BitbucketPullrequestPoller``.
  - Removed deprecated support for constructing build steps from class and arguments in ``BuildFactory.addStep()``.
  - Removed support for deprecated ``db_poll_interval`` configuration setting.
  - Removed support for deprecated ``logHorizon``, ``eventHorizon`` and ``buildHorizon`` configuration settings.
  - Removed support for deprecated ``nextWorker`` function signature that accepts two parameters instead of three.
  - Removed deprecated ``status`` configuration setting.
  - ``LoggingBuildStep`` has been removed.
  - ``GET``, ``PUT``, ``POST``, ``DELETE``, ``HEAD``, ``OPTIONS`` steps now use new-style step implementation.
  - ``MasterShellCommand`` step now uses new-style step implementation.
  - ``Configure``, ``Compile``, ``ShellCommand``, ``SetPropertyFromCommand``, ``WarningCountingShellCommand``, ``Test`` steps now use new-style step implementation.
  - Removed support for old-style steps.
  - Python 3.5 is no longer supported for running Buildbot master.
  - The deprecated ``HipChatStatusPush`` reporter has been removed.
  - Removed support for the following deprecated parameters of ``HttpStatusPush`` reporter: ``format_fn``, ``builders``, ``wantProperties``, ``wantSteps``, ``wantPreviousBuild``, ``wantLogs``, ``user``, ``password``.
  - Removed support for the following deprecated parameters of ``BitbucketStatusPush`` reporter: ``builders``, ``wantProperties``, ``wantSteps``, ``wantPreviousBuild``, ``wantLogs``.
  - Removed support for the following deprecated parameters of ``BitbucketServerStatusPush``, ``BitbucketServerCoreAPIStatusPush``, ``GerritVerifyStatusPush``, ``GitHubStatusPush``, ``GitHubCommentPush`` and ``GitLabStatusPush`` reporters: ``startDescription``, ``endDescription``, ``builders``, ``wantProperties``, ``wantSteps``, ``wantPreviousBuild``, ``wantLogs``.
  - Removed support for the following deprecated parameters of ``BitbucketServerPRCommentPush``, ``MailNotifier``, ``PushjetNotifier`` and ``PushoverNotifier`` reporters: ``subject``, ``mode``, ``builders``, ``tags``, ``schedulers``, ``branches``, ``buildSetSummary``, ``messageFormatter``, ``watchedWorkers``, ``messageFormatterMissingWorker``.
  - Removed support for the following deprecated parameters of ``MessageFormatter`` report formatter: ``template_name``.
  - The deprecated ``send()`` function that can be overridden by custom reporters has been removed.
  - Removed deprecated support for ``template_filename``, ``template_dir`` and ``subject_filename`` configuration parameters of message formatters.
  - The deprecated ``buildbot.status`` module has been removed.
  - The deprecated ``MTR`` step has been removed.
  Contributors are welcome to step in, migrate this step to newer APIs and add a proper test suite to restore this step in Buildbot.
  - Removed deprecated ``buildbot.test.fake.httpclientservice.HttpClientService.getFakeService()`` function.
  - Removed deprecated support for ``block_device_map`` argument of EC2LatentWorker being not a list.
  - Removed support for deprecated builder categories which have been replaced by tags.

2.10.5

Bug fixes
  ---------
  
  - Fixed a race condition in log handling of ``RpmLint`` and ``WarningCountingShellCommand`` steps resulting in steps crashing occasionally.
  - Fixed incorrect state string of a finished buildstep being sent via message queue (5906).
  - Reduced flickering of build summary tooltip during mouseover of build numbers (5930).
  - Fixed missing data in Owners and Worker columns in changes and workers pages (5888, 5887).
  - Fixed excessive debug logging in ``GerritEventLogPoller``.
  - Fixed regression in pending buildrequests UI where owner is not displayed anymore (5940).
  - Re-added support for ``lazylogfiles`` argument of ``ShellCommand`` that was available in old style steps.

2.10.4

Bug fixes
  ---------
  
  - Updated Buildbot requirements to specify sqlalchemy 1.4 and newer as not supported yet.

2.10.3

Bug fixes
  ---------
  
  - Fixed special character handling in avatar email URLs.
  - Added missing report generators to the Buildbot plugin database (5892).
  - Fixed non-default mode support in ``BuildSetStatusGenerator``.

2.10.2

Bug fixes
  ---------
  
  - Optimized builder reconfiguration when configuration does not change. This leads to up to 6 times faster reconfiguration in Buildbot instances with many builders.
  - Fixed build steps continuing running commands even if when they have been cancelled.
  - Worked around failure to build recent enough cryptography module in the docker image due to too old rust being available.
  - Fixed a regression in ``GitHubEventHandler`` since v2.9.0 in that it would require a GitHub token for public repositories (5760).
  - Fixed a regression in ``GerritChangeSource`` since v2.6.0 that caused only the first event related to a Gerrit change to be reporter as a change to Buildbot (5596). Now such deduplication will be applied only to ``patchset-created`` and ``ref-updated`` events.
  - Reconfiguration reliability has been improved by not reconfiguring WAMP router if settings have not changed.
  - Fixed unauthorized login errors when latent worker with automatic password is reconfigured during substantiation.
  - Don't deactivate master as seen by the data API before builds are stopped.
  - Fixed a race condition that may result in a crash when build request distributor stops when its activity loop is running.
  - Fixed a crash when a manual step interruption is happening during master shutdown which tries to stop builds itself.
  - Fixed a race condition that may result in a deadlock if master is stopped at the same time a build is started.
  - Improved ``buildbot.util.poll.method`` to react faster to a request to stop.
  New pending calls are no longer executed.
  Calls whose interval but not random delay has already expired are no longer executed.
  - Fixed a crash when a trigger step is used in a build with patch body data passed via the try scheduler (5165).
  - Fixed secret replacement for an empty string or whitespace which may have many matches and generally will not need to be redacted.
  - Fixed exceptions when using LdapUserInfo as avatar provider
  - Fixed exceptions when LDAP filter string contains characters that needs to be escaped.

2.10.1

Bug fixes
  ---------
  
  - Fixed reference to ``tuplematch`` in the ``ReporterBase`` class (5764).
  - For build summary tooltip, truncate very long step names or build status strings, enable auto positioning of tooltip, and improve text alignment. Also, add build summary tooltip to masters page and builds tables.
  - Fixed crash when using renderable locks with latent workers that may have incompatible builds (5757).
  - Improved REST API to use username or full name of a logged in user when email is empty.
  - Worked around a bug in Python's urllib which caused Python clients not to accept basic authentication headers (5743)
  - Fixed crash in ``BuildStartEndStatusGenerator`` when tags filter is setup (5766).
  - Added missing ``MessageFormatterEmpty``, ``MessageFormatterFunction``, ``MessageFormatterMissingWorker``, and ``MessageFormatterRenderable`` to ``buildbot.reporters`` namespace.
  
  
  Improved Documentation
  ----------------------
  
  - Fix services config for IRC in tour.
  
  Deprecations and Removals
  -------------------------
  
  - Added deprecation messages to the following members of ``buildbot.process.buildstep`` module that have been deprecated in Buildbot 0.8.9:
  
  - ``RemoteCommand``
  - ``LoggedRemoteCommand``
  - ``RemoteShellCommand``
  - ``LogObserver``
  - ``LogLineObserver``
  - ``OutputProgressObserver``

2.10.0

Highlights
  ----------
  
  This is the last release in 2.x series. Only 2.10.y bugfix releases will follow. Upgrading existing Buildbot instances to 3.x will require an upgrade to 2.10.y first and resolving all deprecation warnings. Please see [the documentation on upgrading to 3.0](https://buildbot.readthedocs.io/en/v2.10.0/manual/upgrading/3.0-upgrade.html) for more information.
  
  Please submit bug reports for any issues found in new functionality that replaces deprecated functionality to be removed in Buildbot 3.0. These bugs will be fixed with extra priority in 2.10.y bugfix releases.
  
  Bug fixes
  ---------
  
  - Fixed a bug that caused builds running on latent workers to become unstoppable when an attempt was made to stop them while the latent worker was being substantiated (5136).
  - Fixed a bug that caused the buildmaster to be unable to restart if a latent worker was previously reconfigured during its substantiation.
  - Fixed handling of very long lines in the logs during Buildbot startup (5706).
  - Fixed a bug which prevented polling change sources derived from `ReconfigurablePollingChangeSource` from working correctly with `/change_hook/poller` (5727)
  
  Improved Documentation
  ----------------------
  
  - Corrected the formatting for the code sample in the Docker Tutorial's Multi-master section.
  - Improved the readability of the documentation by conserving horizontal space.
  - Improved the introduction and concepts parts of the documentation.
  
  Features
  --------
  
  - Added build summary tooltip for build bubbles in grid and console views (4733).
  - Added support for custom HTTP headers to `HttpStatusPush` reporter (5398).
  - Implemented `MessageFormatterFunction` that creates build report text or json by processing full build dictionary.
  - Implemented `MessageFormatterRenderable` that creates build report text by rendering build properties onto a renderable.
  - Implemented `BuildStartEndStatusGenerator` which ensures that a report is generated for either both build start and end events or neither of them.
  - The `BitbucketServerCoreAPIStatusPush`, `BitbucketServerStatusPush`, `BitbucketStatusPush`, `GerritVerifyStatusPush`, `GitHubStatusPush`, `GitHubCommentPush`, `GitLabStatusPush` and `HttpStatusPush` reporters now support report generators via the `generators` argument.
  - Implemented support for remote submodules when cloning a Git repository.
  
  Deprecations and Removals
  -------------------------
  
  - The following arguments of `BitbucketServerCoreAPIStatusPush`, `BitbucketServerStatusPush`, `GerritVerifyStatusPush`, `GitHubStatusPush`, `GitHubCommentPush` and `GitLabStatusPush` reporters have been deprecated in favor of the list of report generators provided via the `generators` argument: `startDescription`, `endDescription`, `builders`.
  - The following arguments of `BitbucketStatusPush` reporter have been deprecated in favor of the list of report generators provided via the `generators` argument: `builders`.
  - The following arguments of `HttpStatusPush` reporter have been deprecated in favor of the list of report generators provided via the `generators` argument: `format_fn`, `builders`, `wantProperties`, `wantSteps`, `wantPreviousBuild`, `wantLogs`.
  - `HipChatStatusPush` has been deprecated because the public version of hipchat has been shut down. This reporter will be removed in Buildbot 3.0 unless there is someone who will upgrade the reporter to the new internal APIs present in Buildbot 3.0.
  - Support for passing paths to template files for rendering in message formatters has been deprecated.
  - Buildbot now requires at least the version 0.13 of sqlalchemy-migrate (5669).
  - The `logfile` argument of `ShellArg` has been deprecated (3771).

2.9.4

Bug fixes
  ---------
  
  - Fixed spam messages to stdout when renderable operators were being used.
  - Fixed handling of very long lines in the logs during Buildbot startup (5706).
  - Fixed logging of error message to `twistd.log` in case of old git and `progress` option being enabled.
  
  Deprecations and Removals
  -------------------------
  
  - Removed setup of unused ``webstatus`` feature of autobahn.

2.9.3

Bug fixes
  ---------
  
  - Fixed extraneous warnings due to deprecation of `buildbot.status` module even when it's not used (5693).
  - The topbar zoom buttons are now cleared when leaving waterfall view.
  - The waterfall is now re-rendered upon change to masters.

2.9.2

Bug fixes
  ---------
  
  - Fixed the profile menu wrapping because the avatar shows more often and hiding the profile name was not kept in sync.
  - Reverted too early deprecation of the ``format_fn``, ``builders``, ``wantProperties``, ``wantSteps``, ``wantPreviousBuild``, ``wantLogs`` arguments of ``HttpStatusPush``.
  - Reverted accidental too early migration of ``MasterShellCommand`` and HTTP steps to new style (5674).

2.9.1

Bug fixes
  ---------
  
  - Fixed `checkConfig` failures in `GitHubStatusPush` and `GitLabStatusPush` (5664).
  - Fixed incorrect deprecation notice for the `builders` argument of `GitLabStatusPush`.

2.9.0

Bug fixes
  ---------
  
  - Fixed a bug preventing the `timeout=None` parameter of CopyDirectory step from having effect (3032).
  - Fixed a bug in `GitHubStatusPush` that would cause silent failures for builders that specified multiple codebases.
  - Fixed display refresh of breadcrumb and topbar contextual action buttons (5549)
  - Throwing an exception out of a log observer while processing logs will now correctly fail the step in the case of new style steps.
  - Fixed an issue where `git fetch` would break on tag changes by adding the `-f` option. This could previously be handled by manually specifying `clobberOnFailure`, but as that is rather heavy handed and off by default, this new default functionality will keep Buildbot in sync with the repository it is fetching from.
  - Fixed `GitHubStatusPush` logging an error when triggered by the NightlyScheduler
  - Fixed GitHub webhook event handler when no token has been set
  - Fixed `HashiCorpVaultSecretProvider` reading secrets attributes, when they are not named `value`
  - Fixed `buildbot.changes.HgPoller` misuse of `hg heads -r <branch>` to `hg heads <branch>` because `-r` option shows heads that may not be on the wanted branch.
  - Fixed inconsistent REST api, buildid vs build_number, 3427
  - Fixed permission denied in `rmtree()` usage in `PrivateTemporaryDirectory` on Windows
  - Fixed AssertionError when calling try client with `--dryrun` option (5618).
  - Fixed issue with known hosts not working when using git with a version less than 2.3.0
  - `ForceScheduler` now gets Responsible Users from owner property (3476)
  - Added support for `refs/pull//head` ref for fetching the issue ID in the GitHub reporter instead of always expecting `refs/pull//merge`.
  - Fixed Github v4 API URL
  - Fixed `show_old_builders` to have expected effects in the waterfall view.
  - Latent workers no longer reuse the started worker when it's incompatible with the requested build.
  - Fixed handling of submission of non-decoded `bytes` logs in new style steps.
  - Removed usage of `distutils.LooseVersion` is favor of `packaging.version`
  - Updated `OpenstackLatentWorker` to use checkConfig/reconfigService structure.
  - Fixed `OpenstackLatentWorker` to use correct method when listing images.
  Updated `OpenstackLatentWorker` to support renderable `flavor`, `nova_args` and `meta`.
  - Fixed support of renderables for `p4base` and `p4branch` arguments of the P4 step.
  - Buildbot now uses pypugjs library instead of pyjade to render pug templates.
  - Step summary is now updated after the last point where the step status is changed.
  Previously exceptions in log finish methods would be ignored.
  - Transfer steps now return `CANCELLED` instead of `SUCCESS` when interrupted.
  - Fixed bytes-related master crash when calling buildbot try (4488)
  - The waterfall modal is now closed upon clicking build summary link
  - The worker will now report low level cause of errors during the command startup.
  
  Improved Documentation
  ----------------------
  
  - Added documentation of how to log to stdout instead of twistd.log.
  - Added documentation of how to use pdb in a buildbot application.
  - Fixed import path for plugins
  - Added documentation about vault secrets handling.
  
  Features
  --------
  
  - Added UpCloud latent worker `buildbot.worker.upcloud.UpCloudLatentWorker`
  - The init flag is now allowed to be set to false in the host config for `buildbot.plugins.worker.DockerLatentWorker`
  - Added ability for the browser to auto-complete force dialog form fields.
  - AvatarGitHub class has been implemented, which lets us display the user's GitHub avatar.
  - New reporter has been implemented `buildbot.reporters.bitbucketserver.BitbucketServerCoreAPIStatusPush`.
  Reporting build status has been integrated into [BitbucketServer Core REST API](https://docs.atlassian.com/bitbucket-server/rest/7.4.0/bitbucket-rest.html#idp219) in [Bitbucket Server 7.4](https://confluence.atlassian.com/bitbucketserver/bitbucket-server-7-4-release-notes-1013849643.html#BitbucketServer7.4releasenotes-cicdStreamlineyourworkflowwithIntegratedCI/CD).
  Old [BitbucketServer Build REST API](https://docs.atlassian.com/bitbucket-server/rest/7.4.0/bitbucket-build-rest.html#idp7) is still working, but does not provide the new and improved functionality.
  - A per-build key-value store and related APIs have been created for transient and potentially large per-build data.
  - Buildbot worker docker image has been upgraded to `python3`.
  - Added the ability to copy build properties to the clipboard.
  - The `urlText` parameter to the `DirectoryUpload` step is now renderable.
  - Added the option to hide sensitive HTTP header values from the log in `buildbot.steps.http.HTTPStep`.
  - It is now possible to set `urlText` on a url linked to a `MultipleFileUpload` step.
  - Use `os_auth_args` to pass in authentication for `OpenstackLatentWorker`.
  - `DebPbuilder`, `DebCowbuilder`, `UbuPbuilder` and `UbuCowbuilder` now support renderables for the step parameters.
  - A new report generator API has been implemented to abstract generation of various reports that are then sent via the reporters.
  The `BitbucketServerPRCommentPush`, `MailNotifier`, `PushjetNotifier` and `PushoverNotifier` support this new API via their new `generators` parameter.
  - Added rules for Bitbucket to default revlink helpers.
  - Added counts of the statuses of the triggered builds to the summary of trigger steps
  - The worker preparation step now shows the worker name.
  
  Deprecations and Removals
  -------------------------
  
  - `buildbot.test.fake.httpclientservice.HttpClientService.getFakeService()` has been deprecated. Use `getService` method of the same class.
  - The `MTR` step has been deprecated due to migration to new style steps and the build result APIs. The lack of proper unit tests made it too time-consuming to migrate this step along with other steps. Contributors are welcome to step in, migrate this step and add a proper test suite so that this situation never happens again.
  - Many steps have been migrated to new style from old style.
  
  This only affects users who use steps as base classes for their own steps. New style steps provide a completely different set of functions that may be overridden. Direct instantiation of step classes is not affected. Old and new style steps work exactly the same in that case and users don't need to do anything.
  
  The old-style steps have been deprecated since Buildbot v0.9.0 released in October 2016. The support for old-style steps will be removed entirely Buildbot v3.0.0 which will be released in near future. Users are advised to upgrade their custom steps to new-style steps as soon as possible.
  
  A gradual migration path is provided for steps that are likely to be used as base classes. Users need to inherit from `<StepName>NewStyle` class and convert all overridden APIs to use new-style step APIs. The old-style `<StepName>` classes will be provided until Buildbot v3.0.0 release. In Buildbot v3.0.0 `<StepName>` will refer to new-style steps and will be equivalent to `<StepName>NewStyle`. `<StepName>NewStyle` aliases will be removed in Buildbot v3.2.0.
  
  The list of old-style steps that have new-style equivalents for gradual migration is as follows:
  
  - `Configure` (new-style equivalent is `ConfigureNewStyle`)
  - `Compile` (new-style equivalent is `CompileNewStyle`)
  - `HTTPStep` (new-style equivalent is `HTTPStepNewStyle`)
  - `GET`, `PUT`, `POST`, `DELETE`, `HEAD`, `OPTIONS` (new-style equivalent is `GETNewStyle`, `PUTNewStyle`, `POSTNewStyle`, `DELETENewStyle`, `HEADNewStyle`, `OPTIONSNewStyle`)
  - `MasterShellCommand` (new-style equivalent is `MasterShellCommandNewStyle`)
  - `ShellCommand` (new-style equivalent is `ShellCommandNewStyle`)
  - `SetPropertyFromCommand` (new-style equivalent is `SetPropertyFromCommandNewStyle`)
  - `WarningCountingShellCommand` (new-style equivalent is `WarningCountingShellCommandNewStyle`)
  - `Test` (new-style equivalent is `TestNewStyle`)
  
  The list of old-style steps that have been converted to new style without a gradual migration path is as follows:
  
  - `BuildEPYDoc`
  - `CopyDirectory`
  - `DebLintian`
  - `DebPbuilder`
  - `DirectoryUpload`
  - `FileDownload`
  - `FileExists`
  - `FileUpload`
  - `HLint`
  - `JsonPropertiesDownload`
  - `JsonStringDownload`
  - `LogRenderable`
  - `MakeDirectory`
  - `MaxQ`
  - `Mock`
  - `MockBuildSRPM`
  - `MsBuild`, `MsBuild4`, `MsBuild12`, `MsBuild14`, `MsBuild141`
  - `MultipleFileUpload`
  - `PerlModuleTest`
  - `PyFlakes`
  - `PyLint`
  - `RemoveDirectory`
  - `RemovePYCs`
  - `RpmLint`
  - `RpmBuild`
  - `SetPropertiesFromEnv`
  - `Sphinx`
  - `StringDownload`
  - `TreeSize`
  - `Trial`
  - `VC6`, `VC7`, `VC8`, `VC9`, `VC10`, `VC11`, `VC12`, `VC14`, `VC141`
  - `VS2003`, `VS2005`, `VS2008`, `VS2010`, `VS2012`, `VS2013`, `VS2015`, `VS2017`
  
  Additionally, all source steps have been migrated to new style without a gradual migration path. Ability to be used as base classes was not documented and thus is considered unsupported. Please submit any custom steps to Buildbot for inclusion into the main tree to reduce maintenance burden. Additionally, bugs can be submitted to expose needed APIs publicly for which a migration path will be provided in the future.
  
  The list of old-style source steps that have been converted to new style is as follows:
  
  - `Bzr`
  - `CVS`
  - `Darcs`
  - `Gerrit`
  - `Git`
  - `GitCommit`
  - `GitLab`
  - `GitPush`
  - `GitTag`
  - `Monotone`
  - `Mercurial`
  - `P4`
  - `Repo`
  - `Source`
  - `SVN`
  - The undocumented and broken RpmSpec step has been removed.
  - The usage of certain parameters have been deprecated in `BitbucketServerPRCommentPush`, `MailNotifier`, `PushjetNotifier` and `PushoverNotifier` reporters. They have been replaced by the `generators` parameter. The support for the deprecated parameters will be removed in Buildbot v3.0.
  
  The list of deprecated parameters is as follows:
  
  - `mode`
  - `tags`
  - `builders`
  - `buildSetSummary`
  - `messageFormatter`
  - `subject`
  - `addLogs`
  - `addPatch`
  - `schedulers`
  - `branches`
  - `watchedWorkers`
  - `messageFormatterMissingWorker`
  
  - The undocumented `NotifierBase` class has been renamed to `ReporterBase`.
  
  - The undocumented `HttpStatusPushBase` class has been deprecated. Please use `ReporterBase` directly.
  
  - The `send` method of the reporters based on `HttpStatusPushBase` has been deprecated. This affects only users who implemented custom reporters that directly or indirectly derive `HttpStatusPushBase`.  Please use `sendMessage` as the replacement.
  
  The following reporters have been affected:
  
  - `HttpStatusPush`
  - `BitbucketStatusPush`
  - `BitbucketServerStatusPush`
  - `BitbucketServerCoreAPIStatusPush`
  - `GerritVerifyStatusPush`
  - `GitHubStatusPush`
  - `GitLabStatusPush`
  - `HipChatStatusPush`
  - `ZulipStatusPush`
  - BuildBot now requires SQLAlchemy 1.2.0 or newer.
  - Deprecation warnings have been added to the `buildbot.status` module. It has been deprecated in documentation since v0.9.0.
  - `buildbot.interfaces.WorkerTooOldError` is deprecated in favour of `buildbot.interfaces.WorkerSetupError`
  - The `worker_transition` module has been removed.

2.8.4

Bug fixes
  ---------
  
  - Fix 100% CPU on large installations when using the changes API (5504)
  - Work around incomplete support for codebases in `GerritChangeSource` (5190). This avoids an internal assertion when the configuration file does not specify any codebases.
  - Add missing VS2017 entry points.

2.8.3

Bug fixes
  ---------
  
  - Fix Docker image building for the master which failed due to mismatching versions of Alpine (5469).

2.8.2

Bug fixes
  ---------
  
  - Fix crash in Buildbot Windows service startup code (5344)

2.8.1

Bug fixes
  ---------
  
  - Fix source distribution missing required buildbot.test.fakedb module for unit tests.
  - Fix crash in trigger step when renderables are used for scheduler names (5312)

2.8.0

Bug fixes
  ---------
  
  - Fix `GitHubEventHandler` to include files in `Change` that comes from a github PR (5294).
  - Updated the `Docker` container `buildbot-master` to `Alpine 3.11` to fix.
  segmentation faults caused by an old version of `musl`.
  - Base64 encoding logs and attachments sent via email so emails conform to RFC 5322 2.1.1.
  - Handling the case where the BitbucketStatusPush return code is not 200.
  - When cancelling a buildrequest, the reason field is now correctly transmitted all the way to the cancelled step.
  - Fix Cache-control header to be compliant with RFC 7234 (5220).
  - Fix `GerritEventLogPoller` class to be declared as entry_point (can be used in master.cfg file).
  - Git poller: add `--ignore-missing` argument to `git log` call to avoid `fatal: bad object` errors.
  - Log watcher looks for the "tail" utility in the right location on Haiku OS.
  - Add limit and filtering support for the changes data API as described in 5207.
  
  Improved Documentation
  ----------------------
  
  - Make docs build with the latest sphinx and improve rendering of the example HTML file for custom dashboard.
  - Make docs build with Sphinx 3 and fix some typos and incorrect Python module declarations.
  
  Features
  --------
  
  - `Property` and `Interpolate` objects can now be compared. This will generate a renderable that will be evaluated at runtime.
  - Added argument `count` to lock access to allow a lock to consume a variable amount of units.
  - Added arguments `pollRandomDelayMin` and `pollRandomDelayMax` to `HgPoller`, `GitPoller`, `P4Poller`, `SvnPoller` to spread the polling load
  
  Deprecations and Removals
  -------------------------
  
  - Removed `_skipChecks` from `LockAccess` as it's obsolete

2.7.0

Bug fixes
  ---------
  
  - Command `buildbot-worker create-worker` now supports ipv6 address for buildmaster connection.
  - Fix crash in latent worker stopService() when the worker is insubstantiating (4935).
  - Fix race condition between latent worker's stopService() and substantiate().
  - :class:`GitHubAuth` is now using `Authorization` headers instead of `access_token` query parameter, as the latter was deprecated by Github. (5188)
  - ``jQuery`` and ``$`` are available again as a global variable for UI plugins (5161).
  - Latent workers will no longer wait for builds to finish when worker is reconfigured.
  The builds will still be retried on other workers and the operators will not need to potentially wait multiple hours for builds to finish.
  - p4poller will no longer override Perforce login ticket handling behavior which fixes random crashes (5042).
  
  Improved Documentation
  ----------------------
  
  - The procedures of upgrading to Buildbot 1.x and 2.x have been clarified in separate documents.
  - The layout of the specification of the REST API has been improved.
  - Updated newsfragments README.txt to no longer refer to renamed class `buildbot.reporters.http.HttpStatusBase`
  - The documentation now uses the read-the-docs theme which is more readable.
  
  Features
  --------
  
  - A new www badges style was added: ``badgeio``
  - `buildbot.reporters.http.HttpStatusPushBase` now allows you to skip unicode to bytes encoding while pushing data to server
  - New ``buildbot-worker create-worker --delete-leftover-dirs`` option to automatically remove obsolete builder directories

2.6.0

Bug fixes
  ---------
  
  - Fix a potential deadlock when interrupting a step that is waiting for a lock to become available.
  - Prepare unique hgpoller name when using multiple hgpoller for multiple branches (5004)
  - Fix hgpoller crash when force pushing a branch (4876)
  - Fix mail recipient formatting to make sure address comments are separately escaped instead of escaping the whole To: or CC: header, which is not RFC compliant.
  - Master side keep-alive requests are now repeated instead of being single-shot (3630).
  - The message queues will now wait until the delivered callbacks are fully completed during shutdown.
  - Fix encoding errors during `P4Poller` ticket parsing 5148.
  - Remove server header from HTTP response served by the web component.
  - Fix multiple race conditions in Telegram reporter that were visible in tests.
  - The Telegram reporter will now wait until in-progress polls finish during shutdown.
  - Improve reliability of timed scheduler.
  - transfer steps now correctly report errors from workers 5058.
  - Warn if Buildbot title in the configuration is too long and will be ignored.
  - Worker will now wait for any pending keep-alive requests to finish leaving them in indeterminate state during shutdown.
  
  Improved Documentation
  ----------------------
  
  - Mention that `QueueRef.stopConsuming()` may return a Deferred.
  
  Features
  --------
  
  - Add the parameter --use-tls to `buildbot-worker create-worker` to automatically enable TLS in the connection string
  - Gerrit reporter now passes a tag for versions that support it.
  This enables filtering out buildbot's messages.
  - `GerritEventLogPoller` and `GerritChangeSource` coordinate so as not to generate duplicate changes, resolves 4786.
  - Web front end now allows you to configure the default landing page with `c['www']['default_page'] = 'name-of-page'`.
  - The new option `dumpMailsToLog` of `MailNotifier` allows to dump formatted mails to the log before sending.
  - Workers will now attempt to read `/etc/os-release` and stores them into worker info as `os_<field>` items.
  Add new interpolation `worker` that can be used for accessing worker info items.

2.5.1

Bug fixes
  ---------
  
  - Updates supported browser list so that Ubuntu Chromium will not always be flagged as out of date.
  - Fixed IRC notification color of cancelled builds.
  - Updated url in description of worker service for Windows (no functionality impact).
  - Updated templates of www-badges to support additional padding configuration (5079)
  - Fix issue with custom_templates loading path (5035)
  - Fix url display when step do not contain any logs (5047)

2.5.0

Bug fixes
  ---------
  
  - Fix crash when reconfiguring changed workers that have new builders assigned to them (:issue:`4757`, :issue:`5027`).
  - DockerLatentWorker: Allow to bind the same volume twice into a worker's container, Buildbot now requires 'docker-py' (nowadays 'docker') version 1.2.3+ from 2015.
  - IRC bot can have authz configured to create or stop builds (:issue:`2957`).
  - Fix javascript exception with grid view tag filtering (:issue:`4801`)
  
  Improved Documentation
  ----------------------
  
  - Changed PluginList link from trac wiki directly to the GitHub wiki.
  
  Features
  --------
  
  - Created a `TelegramBot` for notification and control through Telegram messaging app.
  - Added support for environment variable P4CONFIG to class ``P4Source``
  - Allow to define behavior for GitCommit when there is nothing to commit.
  - Add support for revision links to Mercurial poller
  - Support recursive matching ('**') in MultipleFileUpload when `glob=True` (requires python3.5+ on the worker)

2.4.1

Bug fixes
  ---------
  
  - allow committer of a change to be null for new setups (:issue:`4987`)
  - custom_templates are now working again.
  - Locks will no longer allow being acquired more times than the `maxCount` parameter if this parameter is changed during master reconfiguration.
  
  Features
  --------
  
  - Improve log cleaning performance by using delete with join on supported databases.
  - Hiding/showing of inactive builders is now possible in Waterfall view.

2.4.0

Highlights
  ----------
  
  Database upgrade may take a while on larger instances on this release due to newly added index.
  
  Bug fixes
  ---------
  
  - Add an index to `steps.started_at` to boost expensive SQL queries.
  - Fix handling of the `refs_changed` event in the BitBucket Server web hook.
  - Fix errors when disconnecting a libvirt worker (issue 4844).
  - Fix Bitbucket Cloud hook crash due to changes in their API (issue 4873).
  - Fix `GerritEventLogPoller` was using the wrong date format.
  - Fix janitor Exception when there is no logchunk to delete.
  - Reduced the number of SQL queries triggered by `getPrevSuccessfulBuild()` by up to 100.
  - `buildbot.util.git.GitStepMixin`: Prevent builders from corrupting temporary ssh data path by using builder name as part of the path
  - `buildbot.util.git.GitTag`: Allow `tagName` to be a renderable.
  - Fix Github error reporting to handle exceptions that happen before the HTTP request is sent.
  - `buildbot.changes.gitpoller.GitPoller`: Trigger on pushes with no commits when the new revision is not the tip of another branch.
  - `buildbot.steps.source.git.Git`: Fix the invocation of `git submodule foreach` on cleaning.
  - Fix StatsService not correctly clearing old consumers on reconfig.
  - Fix various errors in try client with Python 3 (issue 4765).
  - Prevent accidental start of multiple force builds in web UI (issue 4823).
  - The support for proxying Buildbot frontend to another Buildbot instance during development has been fixed.
  This feature has been broken since v2.3.0, and is now completely re-implemented for best performance, ease of use and maintainability.
  
  Improved Documentation
  ----------------------
  
  - Document why some listed icons may not work out-of-the-box when building a custom dashboard (issue 4939).
  - Improve Vault secrets management documentation and examples.
  - Link the documentation of `www.port` to the capabilities of `twisted.application.strports`.
  - Move the documentation on how to submit PRs out of the trac wiki to the documentation shipped with Buildbot, update and enhance it.
  
  Features
  --------
  
  - Update buildbot worker image to Ubuntu 18.04 (issue 4928).
  - `buildbot.worker.docker.DockerLatentWorker`: Added support for docker build contexts, `buildargs`, and specifying controlling context.
  - The `buildbot.changes.gerritchangesource.GerritChangeFilter` and `buildbot.changes.gerritchangesource.GerritEventLogPoller` now populate the `files` attribute of emitted changes when the `get_files` argument is true. Enabling this feature triggers an additional HTTP request or SSH command to the Gerrit server for every emitted change.
  - Buildbot now warns users who connect using unsupported browsers.
  - Boost janitor speed by using more efficient SQL queries.
  - Scheduler properties are now renderable.
  - `buildbot.steps.python.Sphinx`: Added `strict_warnings` option to fail on warnings.
  - UI now shows a paginated view for trigger step sub builds.
  
  Deprecations and Removals
  -------------------------
  
  - Support for older browsers that were not working since 2.3.0 has been removed due to technical limitations.
  Notably, Internet Explorer 11 is no longer supported.
  Currently supported browsers are Chrome 56, Firefox 52, Edge 13 and Safari 10, newer versions of these browsers and their compatible derivatives.
  This set of browsers covers 98% of users of buildbot.net.

2.3.1

Bug fixes
  ---------
  
  - Fix vulnerability in OAuth where user-submitted authorization token was used for authentication
  (https://github.com/buildbot/buildbot/wiki/OAuth-vulnerability-in-using-submitted-authorization-token-for-authentication). Thanks to Phillip Kuhrt for reporting it.