Buildbot 1.7.0

Pierre Tardy
Buildbot
Published in
2 min readDec 21, 2018

I am happy to announce the release of Buildbot 1.7.0

This release contains the usual set of little improvements and bug fixes that we see each month. The release note is available here.

The most exiting part of what happened this month is a new step towards more Python3. We decided to deprecate Python2, so that we can focus the development on new features of python3. The best improvement for us is with python 3.5 and the adding of async/await into the language.

Python2 and Twisted have inlineCallbacks and we have been using them extensively for a while. However these do not come without issues. inlineCallbacks requires a bunch of boilerplate code to run between each function call for its magic to work. This comes with performance impacts, and also with difficulties with maintaining the stack traces. With async/await, all those hacks are unneeded, and we will be able to focus more on the logic.

This is why we are starting the work on Buildbot 2.0, which will add an additional level of cleanups including:

  • removal of deprecated APIs (slaves APIs are the most important ones)
  • removal of support for python 2.7 for the master (worker package will still support python 2.7)

This 2.0 version will not be as painful as the Buildbot nine migration was, as the impacts are much smaller. We plan to release 2.0 as soon as February. Don’t wait to upgrade to python3!

After 2.0 is released we can work on the cleaning of the code (removal of usage of future library, etc).

Then we will think on how we can transition to async/await. This is not as easy as said, as we would like to have this transition be as smooth as possible, and avoid to break API. This means that if a method change to async from inlineCallbacks, callers expecting an inlineCallback should still work, and subclasses overriding this method should also work unchanged.

Thanks to our contributors for this month!

1 % git shortlog --no-merges -ns v1.7.0...v1.6.0
78 Monika Kairaityte
45 Povilas Kanapickas
13 Pierre Tardy
5 Craig Rodrigues
2 Pedro Algarvio

--

--