4. Release Notes

4.1. Buildbot 4.0.3 ( 2024-09-27 )

4.1.1. Bug fixes

  • Fixed function signature for CustomAuth.check_credentials.

  • Fixed ReactUI authentication when Buildbot is hosted behind a reverse proxy not at url’s root. (issue #7814)

  • Made Tags column in Builders page take less space when there are no tags

  • Fixed cropped change author avatar image in web UI.

  • Fixed pluralization of build count in build summaries in the web UI.

  • The change details page no longer requires an additional mouse click to show the change details.

  • Fixed showing misleading “Loading” spinner when a change has no builds.

  • Fixed too small spacing in change header text in web UI.

  • Fixed showing erroneous zero changes count in the web UI when loading changes.

  • Cleaned up build and worker tabs in builders view in web UI.

  • Fixed links to external URLs in the about pages.

  • Fixed missing warnings on old browsers.

  • Builds in the home page are now sorted to show the latest one first.

  • Fixed loading of plugins settings (e.g. from master’s ui_default_config)

  • Improved visual separation between pending build count and build status in trigger build steps in web UI.

4.1.2. Changes

  • Buildbot has migrated to quay.io container registry for storing released container images. In order to migrate to the new registry container image name in FROM instruction in Dockerfiles needs to be adjusted to quay.io/buildbot/buildbot-master or quay.io/buildbot/buildbot-worker.

  • GitHubStatusPush will now render github tokens right before the request. This allow to update the token in the configuration file without restarting the server, which is useful for Github App installations where tokens are rotated every hour.

  • The list of supported browsers has been updated to Chrome >=80, Firefox >= 80, Edge >=80, Safari >= 14, Opera >=67.

4.1.3. Features

  • The text displayed in build links is now configurable and can use any build property. It was showing build number or branch and build number before.

  • Changes and builds tables in various places in the web UI now have a button to load more items.

4.2. Buildbot 4.0.2 ( 2024-08-01 )

4.2.1. Bug fixes

  • Fixed GitPoller when repourl has the port specified (issue #7822)

  • Fixed ChoiceStringParameter fields with multiple would not store the selected values

  • Fixed unnecessary trimming of spaces in logs showed in the web UI (issue #7774)

  • Fixed favicon colors on build views in the web UI

  • Fixed the icon on the about page in the web UI

  • Fixed a regression where builds in waterfall view were no longer linking to the build page.

4.2.2. Changes

  • Buildbot will now error when configured with multiple services of the same type are configured with the same name (issue #6987)

4.3. Buildbot 4.0.1 ( 2024-07-12 )

4.3.1. Bug fixes

  • Transfer build steps (FileUpload, DirectoryUpload, MultipleFileUpload, FileDownload, and StringDownload) now correctly remove destination on failure, no longer leaving partial content (issue #2860)

  • Fixed ReactUI when Buildbot is hosted behind a reverse proxy not at url’s root (issue #7260, issue #7746)

  • Fixed results color shown on builder’s header in waterfall view

  • Fixed cases where waterfall view could be squashed to a pixel high

  • Improved flexibility of scaling_waterfall setting to support floating-point values for more condensed view.

  • Fixed broken theming in web frontend when not using it via base_react plugin name.

  • Fixed /builders/n:builderid/builds/n:build_number/properties endpoint returning results for wrong builds.

  • Fixed useless logged fatal Exception on DB: log with slug ... already exists in this step errors.

4.4. Buildbot 4.0.0 ( 2024-06-24 )

4.4.1. Bug fixes

  • BitbucketServerCoreAPIStatusPush now handles epoch time format in events as well as datetime.datetime.

  • Fixed buildrequest cancel requests being ignored under certain infrequent conditions.

  • Fixed an issue in lock handling which caused step locks to be acquired in excess of their configured capacity under certain conditions (issue #5655, issue #5987).

  • OldBuildCanceller will now cancel builds only if a superseding buildrequest is actually created. Previously it was enough to observe a superseding change even if it did not result in actually running builds.

  • Fixed OldBuildCanceller crashes when sourcestamp with no branch was ingested.

  • Fixed ChoiceStringParameter fields being not present in ForceBuild Form.

  • Fixed initialization of default web setting values from config.

  • Fixed loading of user saved settings in React web frontend.

4.4.2. Changes

  • Added optional locks_acquired_at argument to master.data.updates.set_step_locks_acquired_at().

  • Master and Worker packages have stopped using the deprecated distutils package and rely on setuptools. Worker installation now requires setuptools.

  • Events between GerritChangeSource and GerritEventLogPoller are no longer deduplicated. Use GerritChangeSource with both SSH and HTTP API configured as a replacement.

  • GitPoller no longer track the master branch when neither branch nor branches arguments are provided. It now track the remote’s default branch.

  • Improved performance of OpenstackWorker startup when there are large number of images on the server.

  • buildbot.www.plugin.Application no longer accepts module name as the first parameter. It requires the name of package. In most cases where __name__ was being passed, __package__ is now required.

  • Padding of the UI elements in the web UI has been reduced to increase density of presented data.

  • Buildbot now requires SQLAlchemy 1.4.0 or newer.

  • Old importlib_resources is no longer used.

4.4.3. Features

  • Added rebuilt_buildid key-value pair to buildsets to be able to keep track on which build is being rebuild.

  • Buildbot now tracks total time that has been spent waiting for locks in a build.

  • Added projectid and projectname properties to Build

  • The worker_preparation dummy step that tracks various build startup overhead has been split into two steps to track worker startup and locks wait times separately.

  • Builds now have builderid property.

  • Build request cancellation has been exposed to the Data API.

  • Added optional started_at and locks_acquired arguments to master.data.updates.startStep().

  • buildbot.test.fake.httpclientservice.HTTPClientService now can simulate network and processing delays via processing_delay_s option to expect() method.

  • Added ability to poll HTTP event API of Gerrit server to GerritChangeSource. This has the following advantages compared to simply pointing GerritChangeSource and GerritEventLogPoller at the same Gerrit server:

    • All events are properly deduplicated

    • SSH connection is restarted in case of silent hangs of underlying SSH connection (this may happen even when ServerAliveInterval is used)

  • Added select_next_worker global configuration key which sets default nextWorker customization hook on all builders.

  • Added support for connecting Kubernetes workers to multiple Kubernetes clusters.

  • Raw logs downloaded from the web UI now include full identifying information in the filename.

  • Raw text logs downloaded from the web UI now include a small header with identifying information.

  • The Rebuild button on a Build’s view now redirect to the Buildrequest corresponding to the latest rebuild.

  • Add a “Workers” tab to the Builder view listing workers that are assigned to this builder (issue #7162)

  • Added check for correct argument types to BuildStep and ShellCommand build steps and all steps deriving from ShellMixin. This will avoid wrong arguments causing confusing errors in unrelated parts of the codebase.

  • Implemented a check for step attempting to acquire the same lock as its build.

  • Implement support for customizing affinity and nodeSelector fields in Kubernetes pod spec for Kubernetes worker.

  • The debug tab in build page now shows previous build that has been built on the same worker for the same builder. This helps debugging any build directory cleanup problems in custom Buildbot setups.

  • Add support for case insensitive search within the logs.

  • Add support for regex search within the logs.

4.4.4. Deprecations and Removals

  • buildbot.process.factory.Distutils factory has been deprecated.

  • HashiCorpVaultSecretProvider has been removed.

  • GerritStatusPush no longer accepts deprecated arguments: reviewCB, startCB, reviewArg, startArg, summaryCB, summaryArg, builders, wantSteps, wantLogs.

  • Deprecated module-level attributes have been deleted.

  • GerritStatusPush callback functions now can only return dictionary type.

  • AngularJS web frontend has been removed.

  • Deprecated LineBoundaryFinder callback argument has been removed.

  • Removed Python 2.7 support on the worker. This does not affect compatibility of connecting workers running old versions of Buildbot to masters running new versions of Buildbot.

This release includes all changes up to Buildbot 3.11.5.

5. Older Release Notes

Note that Buildbot-0.8.11 was never released.