Buildbot Changelog

What's new in Buildbot 3.11.2

May 5, 2024
  • Bug fixes:
  • Fixed an error in HgPoller when repository initialization fails (#7488)
  • Updated Makefile to handle Windows paths and Python.
  • Added a web configuration setting to select whether build completion or start times are displayed.
  • Added revision info column in the web frontend.
  • Fixed steps raw log download button.
  • Fixed a regression in React UI that prevented hosting Buildbot at a custom URL prefix. This allows to support multiple Buildbot instances on a single server.
  • Improved Documentation:
  • Documented that ChangeSource does not support secrets (or any other renderables), best practice of not encoding secret values in changes and alternative solutions when secret values in changes are unavoidable. ChangeSource accidentally supported renderable arguments up until Buildbot 3.7, but this was not documented behavior.

New in Buildbot 3.11.1 (Mar 3, 2024)

  • Bug fixes:
  • GitPoller now ensures the SSH Private Key it uses has a trailing newline.
  • Migrated off python-future which prevented installing Buildbot on distributions that do not provide that package.
  • Fix sporadic navigation to builders page when new build is started

New in Buildbot 3.9.0 (Aug 27, 2023)

  • Bug fixes:
  • Fixed missed invocations of methods decorated with util.debounce when debouncer was being stopped under certain conditions. This caused step and build state string updates to be sometimes missed.
  • Improved stale connection handling in GerritChangeSource. GerritChangeSource will instruct the ssh client to send periodic keepalive messages and will reconnect if the server does not reply for 45 seconds (default). GerritChangeSource now has ssh_server_alive_interval_s and ssh_server_alive_count_max options to control this behavior.
  • Fixed unnecessary build started under the following conditions: there is an existing Nightly scheduler, onlyIfChanged is set to true and there is version upgrade from v3.4.0 (#6793).
  • Fixed performance of changes data API queries with custom filters.
  • Prevent possible event loss during reconfig of reporters (#6982).
  • Fixed exception thrown when worker copies directories in Solaris operating system (#6870).
  • Fixed excessive log messages due to JWT token decoding error (#6872).
  • Fixed excessive log messages when otherwise unsupported /auth/login endpoint is accessed when using RemoteUserAuth authentication plugin.
  • Features:
  • Introduce a way to group builders by project. A new projects list is added to the configuration dictionary. Builders can be associated to the entries in that list by the new project argument.
  • Grouping builders by project allows to significantly clean up the UI in larger Buildbot installations that contain hundreds or thousands of builders for a smaller number of unrelated codebases. This is currently implemented only in experimental React UI.
  • Added support specifying the project in GitHubPullrequestPoller. Previously it was forced to be equal to GitHub's repository full name.
  • Reporter BitbucketServerCoreAPIStatusPush now supports BuildRequestGenerator and generates build status for build requests (by default).
  • Buildbot now has copy-db script migrate all data stored in the database from one database to another. This may be used to change database engine types. For example a sqlite database may be migrated to Postgres or MySQL when the load and data size grows.
  • Added cron features like last day of month to Nightly Scheduler.
  • Buildrequests can now have their priority changed, using the /buildrequests API.
  • The force scheduler can now set a build request priority.
  • Added support for specifying builder descriptions in markdown which is later rendered to HTML for presentation in the web frontend.
  • Build requests are now sorted according to their buildrequest. Request time is now used as a secondary sort key.
  • Significantly improved performance of reporters or reporters with slower generators which is important on larger Buildbot installations.
  • Schedulers can now set a default priority for the buildrequests that it creates. It can either be an integer or a function.
  • Implement support for shallow submodule update using git.
  • GerritChangeSource will now log a small number of previous log lines coming from ssh process in case of connection failure.
  • Deprecations and Removals:
  • Deprecated projectName and projectURL configuration dictionary keys.

New in Buildbot 3.6.0 (Aug 26, 2022)

  • Fixed compatibility with Autobahn 22.4.x.
  • Fixed a circular import that causes errors in certain cases.
  • Fixed issue with DockerLatentWorker accumulating connections with the docker server
  • Fixed documentation build for ReadTheDocs: Sphinx and Python have been updated to latest version.
  • Fixed build pending and canceled status reports to GitLab.
  • Fixed compatibility of hvac implementation with Vault 1.10.x
  • Fixed a race condition in PyLint step that may lead to step throwing exceptions.
  • Reporters now always wait for previous report to completing upload before sending another one. This works around a race condition in GitLab build reports ingestion pipeline
  • Fixed “retry fetch” and “clobber on failure” git checkout options.
  • Improved Visual Studio installation path retrieval when using MSBuild and only ‘BuildTools’ are installed.
  • Fixed search for Visual Studio executables by inspecting both C:Program Files and C:Program Files (x86) directories.
  • Fixed Visual Studio based steps causing an exception in getResultSummary when being skipped.
  • Fixed issue where workers would immediately retry login on authentication failure.
  • Fixed sending emails when using Twisted 21.2 or newer

New in Buildbot 3.5.0 (Mar 6, 2022)

  • Bug fixes:
  • Improved handling of "The container operating system does not match the host operating system" error on Docker on Windows to mark the build as erroneous so that it's not retried.
  • Fixed rare AlreadyCalledError exceptions in the logs when worker worker connection is lost at the same time it is delivering final outcome of a command.
  • Fixed errors when accessing non-existing build via REST API when an endpoint matching rule with builder filter was present.
  • Fixed an error in CMake passing options and definitions on the cmake command line.
  • Fixed an error when handling command management errors on the worker side (regression since v3.0.0).
  • Fixed updating build step summary with mock state changes for MockBuildSRPM and MockRebuild.
  • Fixed support for optional builder parameter used in RebuildBuildEndpointMatcher (#6307).
  • Fixed error that caused builds to become stuck in building state until next master restart if builds that were in the process of being interrupted lost connection to the worker.
  • Fixed Gerrit change sources to emit changes with proper branch name instead of one containing refs/heads/ as the prefix.
  • Fixed handling of build_wait_timeout on latent workers which previously could result in latent worker being shut down while a build is running in certain scenarios (#5988).
  • Fixed problem on MySQL when using master names or builder tags that differ only by case.
  • Fixed timed schedulers not scheduling builds the first time they are enabled with onlyIfChanged=True when there are no important changes. In such case the state of the code is not known, so a build must be run to establish the baseline.
  • Switched Bitbucket OAuth client from the deprecated 'teams' APIs to the new 'workspaces' APIs
  • Fixed errors when killing a process on a worker fails due to any reason (e.g. permission error or process being already exited) (#6140).
  • Fixed updates to page title in the web UI. Web UI now shows the configured buildbot title within the page title.
  • Features:
  • The use of Renderables when constructing payload For JSONStringDownload is now allowed.
  • Added alwaysPull support when using dockerfile parameter of DockerLatentWorker.
  • Base Debian image has been upgraded to Debian Bullseye for the Buildbot master.
  • Added rendering support to docker_host and hostconfig parameters of DockerLatentWorker.
  • MailNotifier reporter now sends HTML messages by default.
  • MessageFormatter will now use a default subject value if one is not specified.
  • The default templates used in message formatters have been improved to supply more information. Separate default templates for html messages have been provided.
  • Added buildbot_title, result_names and is_buildset keys to the data passed to MessageFormatter instances for message rendering.
  • Added target support when using dockerfile parameter of DockerLatentWorker.
  • Simplified :bb:cfg:prioritizeBuilders default function to make an example easier to customize.
  • Buildbot now exposes its internal framework for writing tests of custom build steps. Currently the API is experimental and subject to change.
  • Implemented detection of too long step and builder property names to produce errors at config time if possible.
  • Deprecations and Removals:
  • Deprecated subject argument of BuildStatusGenerator and BuildSetStatusGenerator status generators. Use subject argument of corresponding message formatters.

New in Buildbot 3.4.1 (Feb 9, 2022)

  • Bug fixes:
  • Updated Bitbucket API URL for BitbucketPullrequestPoller.
  • Fixed a crash in BitbucketPullrequestPoller
  • Fixed installation of master and worker as Windows service from wheel package (regression since 3.4.0)
  • Fixed occasional exceptions when using Visual Studio steps
  • Fixed rare “Did you maybe forget to yield the method” errors coming from the log subsystem.

New in Buildbot 3.4.0 (Oct 17, 2021)

  • Bug fixes:
  • Database migrations are now handled using Alembic (1.6.0 or newer is required) (#5872).
  • AMI for latent worker is now set before making spot request to enable dynamically setting AMIs for instantiating workers.
  • Fixed GitPoller fetch commands timing out on huge repositories
  • Fixed a bug that caused Gerrit review comments sometimes not to be reported.
  • Fixed a critical bug in the MsBuild141 step (regression since Buildbot v2.8.0) (#6262).
  • Implemented renderable support in secrets list of RemoveWorkerFileSecret.
  • Fixed issues that prevented Buildbot from being used in Setuptools 58 and newer due to dependencies failing to build (#6222).
  • Improved Documentation:
  • Fixed help text for buildbot create-master so it states that --db option is passed verbatim to master.cfg.sample instead of buildbot.tac.
  • Added documentation of properties available in the formatting context that is presented to message formatters.
  • Features:
  • MsBuild steps now handle correctly rebuilding or cleaning a specific project.
  • Previously it could only be done on the entire solution.
  • Implemented support for controlling filter option of git clone.
  • Optimized build property filtering in the database instead of in Python code.
  • Implemented support of SASL PLAIN authentication to IRC reporter.
  • The want_logs (previously wantLogs) argument to message formatters will now imply wantSteps if selected.
  • Added information about log URLs to message formatter context.
  • Implemented a way to ask for only logs metadata (excluding content) in message formatters via want_logs and want_logs_content arguments.
  • Implemented support for specifying pre-processor defines sent to the compiler in the MsBuild steps.
  • Introduced HvacKvSecretProvider to allow working around flaws in HashiCorpVaultSecretProvider (#5903).
  • Implemented support for proxying worker connection through a HTTP proxy.
  • Deprecations and Removals:
  • The wantLogs argument of message formatters has been deprecated.
  • Please replace any uses with both want_logs and want_logs_content set to the same value.
  • The wantProperties and wantSteps arguments of message formatters have been renamed to want_properties and want_steps respectively.
  • Buildbot now requires SQLAlchemy 1.3.0 or newer.

New in Buildbot 3.3.0 (Jul 31, 2021)

  • BUG FIXES:
  • Fixed support of SQLAlchemy v1.4 (issue # 5992).
  • Improved default build request collapsing functionality to take into account properties set by the scheduler and not collapse build requests if they differ (issue # 4686).
  • Fixed a race condition that would result in attempts to complete unclaimed buildrequests (issue # 3762).
  • Fixed a race condition in default buildrequest collapse function which resulted in two concurrently submitted build requests potentially being able to cancel each other (issue # 4642).
  • The comment-added event on Gerrit now produces the same branch as other events such as patchset-created.
  • GerritChangeSource and GerritEventLogPoller will now produce change events with branch attribute that corresponds to the actual git branch on the repository.
  • Fixed handling of GitPoller state to not grow without bounds and eventually exceed the database field size. (issue # 6100)
  • Old browser warning banner is no longer shown for browsers that could not be identified (issue # 5237).
  • Fixed worker lock handling that caused max lock count to be ignored (issue # 6132).
  • FEATURES:
  • Buildbot can now be configured (via FailingBuildsetCanceller) to cancel unfinished builds when a build in a buildset fails.
  • GitHubEventHandler can now configure authentication token via Secrets management for GitHub instances that do not allow anonymous access
  • Buildbot can now be configured (via OldBuildCanceller) to cancel unfinished builds when branches on which they are running receive new commits.
  • Buildbot secret management can now be used to configure worker passwords.
  • Services can now be forced to reload their code via new canReconfigWithSibling API.
  • Deprecations and Removals:
  • changes.base.PollingChangeSource has been fully deprecated as internal uses of it were migrated to replacement APIs.

New in Buildbot 3.2.0 (Jun 17, 2021)

  • 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 (issue # 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 (issue # 6074)
  • Fixed support for binary patch files in try client (issue # 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 (issue # 5745).

New in Buildbot 3.1.1 (Apr 28, 2021)

  • 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).

New in Buildbot 3.1.0 (Apr 5, 2021)

  • Bug fixes:
  • Fixed usage of invalid characters in temporary file names by git-related steps (issue # 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 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.

New in Buildbot 3.0.3 (Apr 5, 2021)

  • Buildbot no longer supports Python 2.7 on the Buildbot master.
  • 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 (issue # 5906).
  • Reduced flickering of build summary tooltip during mouseover of build numbers (issue # 5930).
  • Fixed missing data in Owners and Worker columns in changes and workers pages (issue # 5888, issue # 5887).
  • Fixed excessive debug logging in GerritEventLogPoller.
  • Fixed regression in pending buildrequests UI where owner is not displayed anymore (issue # 5940).
  • Re-added support for lazylogfiles argument of ShellCommand that was available in old style steps.

New in Buildbot 3.0.2 (Mar 16, 2021)

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

New in Buildbot 3.0.1 (Mar 14, 2021)

  • 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 (issue # 5892)
  • Fixed non-default mode support for BuildSetStatusGenerator.

New in Buildbot 3.0.0 (Mar 10, 2021)

  • 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.

New in Buildbot 2.10.1 (Jan 29, 2021)

  • Bug fixes:
  • Fixed reference to tuplematch in the ReporterBase class (issue # 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 (issue # 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 (issue # 5743)
  • Fixed crash in BuildStartEndStatusGenerator when tags filter is setup (issue # 5766).
  • 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:

New in Buildbot 2.10.0 (Jan 3, 2021)

  • 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 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).

New in Buildbot 2.9.4 (Dec 27, 2020)

  • 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.

New in Buildbot 2.9.3 (Dec 15, 2020)

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

New in Buildbot 2.9.2 (Dec 15, 2020)

  • 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 (issue # 5674).

New in Buildbot 2.9.1 (Dec 5, 2020)

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

New in Buildbot 2.9.0 (Dec 4, 2020)

  • Fixed a bug preventing the timeout=None parameter of CopyDirectory step from having effect (issue # 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 (issue # 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 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, issue # 3427
  • Fixed permission denied in rmtree() usage in PrivateTemporaryDirectory on Windows
  • Fixed AssertionError when calling try client with --dryrun option (issue # 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 (issue # 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 (issue # 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

New in Buildbot 2.8.4 (Aug 30, 2020)

  • 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.

New in Buildbot 2.8.3 (Aug 22, 2020)

  • Fix Docker image building for the master which failed due to mismatching versions of Alpine (issue # 5469).

New in Buildbot 2.8.1 (Jun 7, 2020)

  • 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)

New in Buildbot 2.8.0 (May 27, 2020)

  • Bug fixes:
  • Fix GitHubEventHandler to include files in Change that comes from a github PR (issue # 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 (issue # 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 issue # 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. see Renderable Comparison.
  • 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

New in Buildbot 2.7.0 (Feb 28, 2020)

  • 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

New in Buildbot 2.6.0 (Jan 21, 2020)

  • 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 (issue # 5004)
  • Fix hgpoller crash when force pushing a branch (issue # 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 (issue # 3630).
  • The message queues will now wait until the delivered callbacks are fully completed during shutdown.
  • Fix encoding errors during P4Poller ticket parsing issue # 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 issue # 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 issue # 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.
  • bb:cfg: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.

New in Buildbot 2.5.1 (Nov 25, 2019)

  • 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 (issue # 5079)
  • Fix issue with custom_templates loading path (issue # 5035)
  • Fix url display when step do not contain any logs (issue # 5047)

New in Buildbot 2.5.0 (Oct 17, 2019)

  • 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)

New in Buildbot 2.4.1 (Sep 12, 2019)

  • 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.

New in Buildbot 2.4.0 (Aug 18, 2019)

  • 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.
  • GitStepMixin: Prevent builders from corrupting temporary ssh data path by using builder name as part of the path
  • GitTag: Allow tagName to be a renderable.
  • Fix Github error reporting to handle exceptions that happen before the HTTP request is sent.
  • GitPoller: Trigger on pushes with no commits when the new revision is not the tip of another branch.
  • 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).
  • DockerLatentWorker: Added support for docker build contexts, buildargs, and specifying controlling context.
  • The GerritChangeFilter and 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.
  • 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.

New in Buildbot 2.3.1 (May 23, 2019)

  • 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.

New in Buildbot 2.3.0 (May 6, 2019)

  • Highlights:
  • Support for older browsers has been hopefully temporarily broken due to frontend changes in progress. Notably, Internet Explorer 11 is not supported in this release. 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.
  • Bug fixes:
  • Fixed :bb:step:Git to clean the repository after the checkout when submodules are enabled. Previously this action could lead to untracked module directories after changing branches.
  • Latent workers with negative build_wait_timeout will be shutdown on master shutdown.
  • Latent worker will now wait until start_instance() before starting stop_instance() or vice-versa. Master will wait for these functions to finish during shutdown.
  • Latent worker will now correctly handle synchronous exception from the backend worker driver.
  • Fixed a potential error during database migration when upgrading to versions >=2.0 (:issue:4711).
  • Deprecations and Removals:
  • The implementation language of the Buildbot web frontend has been changed from CoffeeScript to JavaScript. The documentation has not been updated yet, as we plan to transition to TypeScript. In the transitory period support for some browsers, notably IE 11 has been dropped. We hope to bring support for older browsers back once the transitory period is over.
  • The support for building Buildbot using npm as package manager has been removed. Please use yarn as a replacement that is used by Buildbot developers.

New in Buildbot 2.0.0 (Feb 7, 2019)

  • Removed support for Python 2.7 in the buildbot master code. Buildbot worker remains compatible with python2.7, and interoperability tests are run continuously.
  • APIs that are not documented in the official Buildbot documentation have been made private. Users of these undocumented APIs are encouraged to file bugs to get them exposed.
  • Removed support of old slave APIs from pre-0.9 days. Using old APIs may fail silently. To avoid weird errors when upgrading a Buildbot installation that may use old APIs, first upgrade to to 1.8.0 and make sure there are no deprecated API warnings.
  • Remove deprecated default value handling of the keypair_name and security_name attributes of EC2LatentWorker.
  • Support for Hyper.sh containers cloud provider has been removed as this service has shutdown.
  • Bug fixes:
  • Fix CRLF injection vulnerability with validating user provided redirect parameters (https://github.com/buildbot/buildbot/wiki/CRLF-injection-in-Buildbot-login-and-logout-redirect-code) Thanks to mik317 and mariadb for reporting it.
  • Fix lockup during master shutdown when there’s a build with unanswered ping from the worker and the TCP connection to worker is severed (issue:4575).
  • Fix RemoteUserAuth.maybeAutLogin consumes bytes object as str leading to TypeError during JSON serialization. (issue # 4402)
  • Various database integrity problems were fixed. Most notably, it is now possible to delete old changes without wiping all “child” changes in cascade (issue # 4539, pull request 4536).
  • The GitLab change hook secret is now rendered correctly. (issue # 4118).

New in Buildbot 1.7.0 (Dec 24, 2018)

  • Fixed JSON decoding error when sending build properties to www change hooks on Python 3.
  • Buildbot no longer attempts to start builds that it can prove will have unsatisfied locks.
  • Don’t run builds that request images or sizes on instances started with different images or sizes.

New in Buildbot 1.6.0 (Nov 17, 2018)

  • Fixed missing buildrequest owners in the builder page (issue # 4207, issue # 3904)
  • Fixed display of the buildrequest number badge text in the builder page when on hover.
  • Fix usage of master paths when doing Git operations on worker (issue # 4268)

New in Buildbot 1.4.0 (Sep 3, 2018)

  • 4.1.1. 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 P4 for change in latest version of p4 login -p.
  • 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.
  • 4.1.2. Features:
  • Added new GitPush step to perform git push operations.
  • Objects returned by Renderer now are able to pass extra arguments to the rendered function via withArgs method.
  • 4.1.3. 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)

New in Buildbot 1.3.0 (Jul 14, 2018)

  • 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:
  • Git now supports sshHostKey parameter to specify ssh public host key for fetch operations.
  • Git now supports sshPrivateKey parameter to specify private ssh key for fetch operations.
  • GitPoller now supports sshHostKey parameter to specify ssh public host key for fetch operations. This feature is supported on git 2.3 and newer.
  • 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 ).

New in Buildbot 1.2.0 (Jun 11, 2018)

  • 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 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:
  • ForceScheduler Parameters now support an autopopulate parameter.
  • 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.

New in Buildbot 1.1.2 (May 15, 2018)

  • Bug fixes:
  • fix several multimaster issues by reverting issue # 3911. re-opens issue # 3783. (issue # 4067, issue # 4062, issue # 4059)
  • Fix 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)

New in Buildbot 1.1.1 (Apr 6, 2018)

  • 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 <[email protected]>).
  • 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

New in Buildbot 1.0.0 (Mar 2, 2018)

  • 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 Git repository with submodules now works with Git < 1.7.6 instead of failing due to the use of the unsupported --force option.
  • GitHub hook now properly creates a change in case of new tag or new branch. GitHub changes will have the category set to tag when a tag was pushed to easily distinguish from a branch push.
  • Fixed issue with 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 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:
  • Add capability to override the default UI settings (issue # 3908)
  • All Reporters have been adapted to be able to use Secret. SVNPoller has been adapted to be able to use Secret.
  • Implement support for Bitbucket Cloud webhook plugin in BitbucketCloudEventHandler
  • The owners property now includes people associated with the changes of the build (issue # 3904).
  • The repo source step now syncs with the --force-sync flag which allows the sync to proceed when a source repo in the manifest has changed.
  • Add support for compressing the repo source step cache tarball with pigz, a parallel gzip compressor.

New in Buildbot 0.9.15 (Jan 3, 2018)

  • 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 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 DockerLatentWorker, where Buildbot can kill running workers by mistake based on the form the worker name (issue # 3800).
  • Fixes issue with Buildbot 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 reporter or 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 buildbot.www.auth.CustomAuth

New in Buildbot 0.9.14 (Dec 11, 2017)

  • Compile step now properly takes the decodeRC parameter in account (issue # 3774)
  • Fix duplicate build requests results in BuildRequestsConnectorComponent when querying the database (issue # 3712).
  • 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)

New in Buildbot 0.9.13 (Nov 8, 2017)

  • Make parameters for WarningCountingShellCommand renderable. These are suppressionList, warningPattern, directoryEnterPattern, directoryLeavePattern and maxWarnCount.
  • GitHubEventHandler now supports authentication for GitHub instances that do not allow anonymous access
  • Added support for renderable builder locks. Previously only steps could have renderable locks.
  • Added flag to Docker Latent Worker to always pull images

New in Buildbot 0.9.12 (Oct 31, 2017)

  • 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 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).

New in Buildbot 0.9.6 (Apr 21, 2017)

  • Core Bug Fixes:
  • buildbot.www.authz.endpointmatchers.AnyControlEndpointMatcher now actually doesn't match GET requests. Before it would act like an AnyEndpointMatcher since the GET had a different case.
  • Passing unicode builderNames to ForceScheduler no longer causes an error.
  • Fix issue with :bb:sched::Nightly change classification raising foreign key exceptions
  • Fixes an exception found buildbot_net_usage_data._sendWithUrlib when running through the tutorial using Python 3.
  • usePTY configuration of the ShellCommand now works as expected with recent version of buildbot-worker.
  • Components Bug fixes:
  • pollAtLaunch of the GitHubPullrequestPoller now works as expected. Also the author email won't be displayed as None
  • GerritChangeSource and GerritStatusPush now use the master's environment including PATH variable to find the ssh binary.
  • SlaveDirectoryUploadCommand no longer throws exceptions because the file "is used by another process" under Windows
  • 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.
  • Core Features:
  • new Virtual Builders concept for better integration of frameworks which store the build config along side the source code.
  • Components Features:
  • BitBucket now sets the event property on each change to what the X-Event-Key header contains.
  • GitHubPullrequestPoller now adds additional information about the pull request to properties. The property argument is removed and is populated with the repository full name.
  • GitHub now sets the event property on each change to what the X-GitHub-Event header contains.
  • Changed GitHubAuth now supports GitHub Enterprise when setting new serverURL argument.
  • GitLab now sets the event property on each change to what the X-Gitlab-Event header contains.
  • GitHub now process git tag push events
  • GitHub now adds more information about the pull request to the properties. This syncs features with GitHubPullrequestPoller
  • GitLab now process git tag push events
  • GitLab now supports authentication with the secret token
  • UI Features:
  • Reworked Console View and Waterfall View for better usability and better integration with virtual builders
  • Javascript Data Module collections now have a $resolved attribute which allows dashboard to know when the data is loaded.