Buildstream

Latest version: v2.4.0

Safety actively analyzes 714792 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 4 of 6

1.93.3

==================

o BREAKING CHANGE: Removed BST_REQUIRED_VERSION_[MAJOR/MINOR] from plugin base class,
this is now replaced with BST_MIN_VERSION which is now a hard requirement.

o BREAKING CHANGE: Removed BST_FORMAT_VERSION from plugin base class, this is no
longer supported.

o buildbox-run is now the default sandbox backend on all platforms


==================

1.93.2

==================

Core
----

o BuildStream now requires Python >= 3.6.

o BREAKING CHANGE: Conditional directives `(?)` from files included
through junctions are evaluated with the options defined in the
sub project the file comes from.

o BREAKING CHANGE: "format-version" is removed and replaced with "min-version",
which is now required to be specified in project.conf.

o Incremental workspace builds are supported again.

CLI
---

o BREAKING CHANGE: `bst shell --sysroot` has been removed. This is no longer
needed now that we support caching buildtrees in CAS.

API
---

o The `Directory` API has been extended to cover the use cases of more
element plugins.


==================

1.93.1

==================

API
---

o `ErrorDomain` and `LoadErrorReason` are now available in the public
`buildstream.exceptions` module for use in test suites of external plugins.

Plugins
-------

o The 'git' source will now only fetch a single revision when its ref is set
to an exact tag in git-describe format (...-0-g...).

o When a 'git' source has a ref in git-describe format, only the commit
ID is used when calculating the element's cache key. This means you can
change between ref formats without having to rebuild the element.


==================

1.93.0

==================

CLI
---

o BREAKING CHANGE: `bst show` will now output `junction` instead
of `buildable` for the state of junction elements, as they can't
be built.

API
---

o BREAKING CHANGE: The entry point groups used for element and source plugins
are now separate. Elements must be defined in `buildstream.plugins.elements`
group, and sources in `buildstream.plugins.sources`.

o External plugins can now register a `buildstream.tests.source_plugins` entrypoint.
The entry point can have an arbitrary name, but its value should point to a module
containing a `register_sources()` method.
This method should call `register_repo_kind` for all sources you want to have
tested in BuildStream.
Plugins authors that do this and believe BuildStream should be testing that
part of their plugins should open an issue on BuildStream.

o BREAKING CHANGE: `Consistency` has been removed and
`Source.get_consistency()` has been replaced by `Source.is_resolved()`
and `Source.is_cached()`.

`Source.is_resolved()` has a default of `self.get_ref() is not None`,
so if the only thing your plugin requires for being resolved is to
have a valid ref, you don't need to do anything there.

`Source.is_cached()` is there to replace a `Consistency.CACHED`
implementation and will need to be implemented by plugin authors.

Core
----

o BREAKING CHANGE: Once a source has been put in the internal BuildStream
cache, its content will not get checked for validity unless a workspace
is opened on it. If you see a warning that was not fatal as you fetch
your source and want to re-test it to make sure it's gone without changing
its ref (most plugins would handle that correctly), you will need to delete
the internal source cache first.

Plugins
-------

o BREAKING CHANGE: deb plugin have been moved to the bst-plugins-experimental
repository.

Miscellaneous
-------------

o By default the update rate of builstream console output
(e.g. messages & status updates) when executing a scheduler driven task is
restricted to once per second, known as the tick, with messages being batched
in the intervening periods if necessary. This restriction can be lifted with
`throttle-ui-updates: False` in user configuration. Logging behaviour remains
unaffected by this configuration.


==================

1.91.3

==================

CLI
---

o BREAKING CHANGE: Commands no longer accept any options related to
tracking. Please use `bst source track` separately prior to
running commands, if you need similar functionality. The full list
of removed options is as follows:

* `bst build --track`
* `bst build --track-all`
* `bst build --track-except`
* `bst build --track-cross-junctions` / `bst build -J`
* `bst build --track-save`
* `bst source fetch --track`
* `bst source fetch --track-cross-junctions` / `bst source fetch -J`
* `bst workspace open --track`
* `bst workspace reset --track`

Plugins
-------

o The 'git' source will now fetch submodules recursively when
its 'checkout-submodules' option is enabled.

API
---

o Sources may force early staging to cache by advertising
`BST_KEY_REQUIRES_STAGE`. Sources setting this are staged to the cache to
generate unique keys. `WorkspaceSource` and `LocalSource` set this.

Core
----

o BuildStream now supports Python 3.8. Note that due to a bug in the 3.8.0
series, BuildStream requires Python >= 3.8.1 when running on Python 3.8.

o BuildStream now also supports the following machine architectures:

* powerpc
* powerpc64
* powerpc64le
* sun4v


==================

1.91.2

==================

o Various bug fixes.


==================

Page 4 of 6

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.