Releases: buildbot/buildbot
Releases · buildbot/buildbot
v2.1.0
Highlights
- Worker to Master protocol can now be encrypted via TLS.
Bug fixes
- To avoid database corruption, the
upgrade-master
command now ignores all
signals exceptSIGKILL
. It cannot be interrupted withctrl-c
(:issue:4600
). - Fixed incorrect tracking of latent worker states that could sometimes result
in duplicatestop_instance
calls and so on. - Fixed a race condition that could manifest in cancelled substantiations if
builds were created during insubstantiation of a latent worker. - Perforce CLI Rev. 2018.2/1751184 (2019/01/21) is now supported
(:issue:4574
). - Fix encoding issues with Forcescheduler parameters error management code.
Improved Documentation
- fix grammar mistakes and use Uppercase B for Buildbot
Features
- :py:class:
~buildbot-worker.buildbot_worker.bot.Worker
now have
connection_string
kw-argument which can be used to connect to a master
over TLS. - Adding 'expand_logs' option for LogPreview related settings.
- Force schedulers buttons are now sorted by their name. (:issue:
4619
) - :bb:cfg:
workers
now have a newdefaultProperties
parameter.
v2.0.1
v2.0.0
Deprecations and Removals
- 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 ofEC2LatentWorker
. - 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 tomik317
andmariadb
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:4536
). -
The GitLab change hook secret is now rendered correctly. (:issue:
4118
).
Features
- Identifiers can now contain UTF-8 characters which are not ASCII. This
includes worker names, builder names, and step names.
v1.8.1
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 tomik317
andmariadb
for reporting it.
v1.8.0
Bug fixes
- Fix a regression present in v1.7.0 which caused buildrequests waiting for a
lock that got released by an unrelated build not be scheduled (:issue:4491
) - Don't run builds that request an instance with incompatible properties on
Docker, Marathon and OpenStack latent workers. - Gitpoller now fetches only branches that are known to exist on remote.
Non-existing branches are quietly ignored. - The demo repo in sample configuration files and the tutorial is now fetched
viahttps:
instead ofgit:
to make life easier for those behind
firewalls and/or using proxies. buildbot sendchange
has been fixed on Python 3 (:issue:4138
)
Features
- Add a :py:class:
~buildbot.worker.kubernetes.KubeLatentWorker
to launch
workers into a kubernetes cluster - Simplify/automate configuration of worker as Windows service - eliminate
manual configuration of Log on as a service
Deprecations and Removals
- The deprecated
BuildMaster.addBuildset
method has been removed. Use
BuildMaster.data.updates.addBuildset
instead. - The deprecated
BuildMaster.addChange
method has been removed. Use
BuildMaster.data.updates.addChange
instead. buildbot
package now requires Twisted versions >= 17.9.0. This is
required for Python 3 support. Earlier versions of Twisted are not supported.
v1.7.0
Buildbot 1.7.0
( 2018-12-21
)
Bug fixes
- 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.
Features
- The Buildbot master Docker image at https://hub.docker.com/r/buildbot/ has
been upgraded to use Python 3.7 by default. - Builder page has been improved with a smoothed build times plot, and a new
success rate plot. - Allow the Buildbot master initial start timeout to be configurable.
- An API to check whether an already started instance of a latent worker is
compatible with what's required by a build that is about to be started. - Add support for v2 of the Vault key-value secret engine in the
SecretInVault
secret provider.
Deprecations and Removals
- Build.canStartWithWorkerForBuilder static method has been made private and
renamed to _canAcquireLocks. - The Buildbot master Docker image based on Python 2.7 has been removed in
favor of a Python 3.7 based image. - Builder.canStartWithWorkerForBuilder method has been removed. Use
Builder.canStartBuild.
v1.6.0
Bug fixes
- Fixed missing buildrequest owners in the builder page (#4207,
#3904) - Fixed display of the buildrequest number badge text in the builder page when
on hover. - Improved FileUpload efficiency (#3709)
- Fix usage of master paths when doing Git operations on worker (#4268)
Improved Documentation
- Misc improvement in Git source build step documentation.
- Improve documentation of AbstractLatentWorker.
- Improve the documentation of the Buildbot concepts by removing unneeded
details to other pages.
Features
- Added a page that lists all pending buildrequests (#4239)
- Builder page now has a plot displaying the evolution of build times over time
- Add method
getResponsibleUsersForBuild
in
:py:class:~buildbot.notifier.NotifierBase
so that users can override
recipients, for example to skip authors of changes. - Added SSL proxy capability to base web application's developer test setup
(gulp dev proxy --host the-buildbot-host --secure
). - The Material design Web UI has been removed as unmaintained. It may be
brought back if a maintainer steps up. - Add define parameter to RpmBuild to specify additional --define parameters.
v1.5.0
Bug fixes
- Fix the umask parameter example to make it work with both Python 2.x and 3.x.
- Fix build-change association for multi-codebase builds in the console view..
- Fixed builders page doesn't list workers in multi-master configuration
(#4326) - Restricted groups added by :py:class:
~buildbot.www.oauth2.GitHubAuth
's
getTeamsMembership
option to only those teams to which the user belongs.
Previously, groups were added for all teams for all organizations to which
the user belongs. - Fix 'Show old workers' combo behavior.
Features
- GitHub teams added to a user's
groups
by
:py:class:~buildbot.www.oauth2.GitHubAuth
'sgetTeamsMembership
option
are now added by slug as well as by name. This means a team named "Bot
Builders" in the organization "buildbot" will be added as bothbuildbot/Bot Builders
andbuildbot/bot-builders
. - Make
urlText
renderable for the
:py:class:~buildbot.steps.transfer.FileUpload
build step. - Added
noticeOnChannel
option to :bb:reporter:IRC
to send notices
instead of messages to channels. This was an option in v0.8.x and removed in
v0.9.0, which defaulted to sending notices. The v0.8.x default of sending
messages is now restored.
Reverts
- Reverted: Fix git submodule support when using
sshPrivateKey
andsshHostKey
because it broke other use cases (#4316)
In order to have this feature to work, you need to keep your master in 1.4.0, and make sure your workerbuildbot.tac
are installed in the same path as your master.
v1.4.0
Bug fixes
- Fix
Build.getUrl()
to not ignore virtual builders. - Fix git submodule support when using
sshPrivateKey
andsshHostKey
settings by passing ssh data as absolute, not relative paths. - Fixed :bb:step:
P4
for change in latest version ofp4 login -p
. - :py:class:
buildbot.reporters.irc.IrcStatusBot
no longer encodes messages
before passing them on to methods of its Twisted base class to avoid posting
therepr()
of a bytes object when running on Python 3.
Features
- Added new :bb:step:
GitPush
step to perform git push operations. - Objects returned by :ref:
renderer
now are able to pass extra arguments to
the rendered function viawithArgs
method.
Test Suite
- Test suite has been improved for readability by adding a lot of
inlineCallbacks
- Fixed tests which didn't wait for
assertFailure
's returned deferred. - The test suite now runs on Python 3.7 (mostly deprecation warnings from dependencies shut down)
v1.3.0
Buildbot 1.3.0
( 2018-07-13
)
Bug fixes
- buildbot-worker docker image no longer use pidfile. This allows to
auto-restart a docker worker upon crash. - GitLab v3 API is deprecated and has been removed from http://gitlab.com, so
we now use v4. (:issue:4143
)
Features
- -:bb:step:
Git
now supportssshHostKey
parameter to specify ssh public
host key for fetch operations. - -:bb:step:
Git
now supportssshPrivateKey
parameter to specify private ssh
key for fetch operations. - -:bb:chsrc:
GitPoller
now supportssshHostKey
parameter to specify ssh
public host key for fetch operations. This feature is supported on git 2.3
and newer. - -:bb:chsrc:
GitPoller
now supportssshPrivateKey
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 ).