| ================= |
| buildstream 1.5.1 |
| ================= |
| |
| o Support `buildstream1.conf` as well as `buildstream.conf` for |
| parallel installations. |
| |
| o Lazy resolution of variables, this allows junctions to use variables |
| without requiring the project to have fully resolved variables, while |
| still reporting the right error messages if a junction uses unresolved |
| variables. |
| |
| o Fix an issue where conditional statements were being lost instead of |
| processed at include time, only when the include happens in project.conf |
| |
| o Backport some artifact cache related structural changes, and allow |
| BuildStream 1 clients to interface with BuildStream 2 remote asset |
| caches, while still allowing BuildStream 1 to interface with its own |
| bst-artifact-server implementation. |
| |
| o Added sandbox configuration for `os` and `architecture` to mirror |
| the added options in BuildStream 2, fixing issue #523. |
| |
| ================= |
| buildstream 1.5.0 |
| ================= |
| |
| o Process options in included files in the context of the project they |
| were included from. |
| |
| This is technically a breaking change, however it is highly unlikely |
| that this will break projects. In some cases projects were working around |
| the broken behavior by ensuring matching project option names in junctioned |
| projects, and in other cases simply avoiding including files which have |
| project option conditional statements. |
| |
| o Added errors when trying to load BuildStream 2 projects, recommending to |
| install the appropriate BuildStream version for the project. |
| |
| o Added errors when loading BuildStream 2 plugins in a BuildStream 1 |
| project, recommending to use BuildStream 1 plugins with BuildStream 1 projects. |
| |
| ================= |
| buildstream 1.4.3 |
| ================= |
| |
| o Fix support for conditional list append/prepend in project.conf, |
| Merge request !1857 |
| |
| o Fix internal imports to import from "collections" instead |
| of "collections.abc", this improves support for Python 3.8, |
| see issue #831 |
| |
| o Fix some downloads from gitlab.com by setting custom user agent, |
| fixes issue #1285 |
| |
| o Work around python API break from ostree's repo.remote_gpg_import(), |
| this was changed in ostree commit v2019.2-10-gaa5df899, and we now |
| have a fallback to support both versions of the API, see merge request !1917. |
| |
| ================= |
| buildstream 1.4.2 |
| ================= |
| |
| o Support for python 3.8 |
| |
| o Fix a stacktrace with a hang we can experience when we CTRL-C a job twice. |
| |
| o Workaround some servers which do not honor the 'If-None-Match' HTTP header |
| and avoid downloading files redundantly in these cases. |
| |
| o Allow specifying absolute paths in overlap-whitelist (issue #721) |
| |
| o Support systems with fuse3 (avoid passing unsupported argument |
| to fusermount3) |
| |
| ================= |
| buildstream 1.4.1 |
| ================= |
| |
| o Depend on a newer version of ruamel.yaml (>= 0.16). |
| |
| ================= |
| buildstream 1.4.0 |
| ================= |
| |
| o Elements may now specify 'build-depends' and 'runtime-depends' fields |
| to avoid having to specify the dependency type for every entry in |
| 'depends'. |
| |
| o Elements may now specify cross-junction dependencies as simple strings |
| using the format '{junction-name}:{element-name}'. |
| |
| o New `fatal-warnings` has been added to the project.conf format, allowing |
| projects to specify which warnings they want to consider as fatal. |
| |
| Support for the following warnings is included: |
| |
| o overlaps: When staged artifact files overlap |
| (deprecates: 'fail-on-overlap') |
| |
| o ref-not-in-track: When the source implementation finds that |
| the ref is out of bounds for the tracking config |
| |
| o git:inconsistent-submodule: A .gitmodules file is present but the |
| submodule was never added to the repo. |
| |
| o git:unlisted-submodule: A submodule exists but is not specified |
| in the YAML declaration. |
| |
| o git:invalid-submodule: A submodule is specified in the YAML |
| declaration but does not exist at the |
| given ref in the git repository. |
| |
| o BuildStream now depends on python3 ujson (for some internal serializations) |
| |
| o Workspaces can now be opened as relative paths. |
| |
| Existing open workspaces will not be converted to relative paths, |
| (they need to be closed and opened again to get the new behavior). |
| |
| o Dependencies can now be specified as strict to force rebuild in |
| non-strict mode. This is useful for statically linked dependencies |
| (#254). |
| |
| o Git source plugins can optionally track human readable refs using |
| the output of `git describe`. |
| |
| ================= |
| buildstream 1.3.1 |
| ================= |
| |
| o The `max-jobs` variable is now controllable in user configuration |
| and on the command line. |
| |
| o Source plugins may now request access access to previous during track and |
| fetch by setting `BST_REQUIRES_PREVIOUS_SOURCES_TRACK` and/or |
| `BST_REQUIRES_PREVIOUS_SOURCES_FETCH` attributes. |
| |
| o Add new `pip` source plugin for downloading python packages using pip, |
| based on requirements files from previous sources. |
| |
| ================= |
| buildstream 1.2.8 |
| ================= |
| |
| o Fixed issues with workspaced junctions which need fetches (#1030) |
| |
| o Bail out with informative error if stdout/stderr are O_NONBLOCK (#929) |
| |
| ================= |
| buildstream 1.2.7 |
| ================= |
| |
| o Improved messaging around unknown artifact cache keys (#981) |
| |
| o Fixed crash which occurs when deleting artifact cache with |
| open workspaces (#1017) |
| |
| o Fixed `bst --no-strict build --track-all ...` which sometimes |
| exited successfully without building anything (#1014) |
| |
| o Fixed incorrect error message with malformed YAML in project.conf (#1019) |
| |
| ================= |
| buildstream 1.2.6 |
| ================= |
| |
| o Fix 'quit' option when interrupting a build (#525) |
| |
| o Only queue one cache size calculation job at a time |
| |
| o Fix stack traces on forceful termination |
| |
| o Fix scheduler processing order regression (#712) |
| |
| o Fix race condition in bzr source plugin |
| |
| o Better error messages for insufficient disk space |
| |
| o UI/Logging improvements regarding cache quota usage |
| |
| o Fix `bst push` in non-strict mode (#990) |
| |
| o Fix crash (regression) when tracking a single element (#1012) |
| |
| ================= |
| buildstream 1.2.5 |
| ================= |
| |
| o Fixed failure to process some elements when workspaces are open (#919) |
| |
| o Better error reporting when files are missing, or when encountering |
| errors in sub projects (#947) |
| |
| o Do not require exact versions of dependencies for running tests (#916) |
| |
| o Fail on overlap policy no longer inherited from subprojects (#926) |
| |
| ================= |
| buildstream 1.2.4 |
| ================= |
| |
| o Migration of scripts to use tox |
| |
| o Force updating tags when fetching from git repos (#812) |
| |
| o Avoid downloading unused submodules (#804) |
| |
| o Fixed cleanup of cache server with disk is full (#609) |
| |
| o Fixed possible artifact cache corruption (#749) |
| |
| o Fixed `bst checkout --deps none` behavior (#670) |
| |
| ================= |
| buildstream 1.2.3 |
| ================= |
| |
| o Fixed an unhandled exception when cleaning up a build sandbox (#153) |
| |
| o Fixed race condition when calculating cache size and commiting artifacts |
| |
| o Fixed regression where terminating with `^C` results in a double user interrogation (#693) |
| |
| o Fixed regression in summary when builds are terminated (#479) |
| |
| o Fixed regression where irrelevant status messages appear from git sources |
| |
| o Improve performance of artifact uploads by batching file transfers (#676/#677) |
| |
| o Fixed performance of artifact downloads by batching file transfers (#554) |
| |
| o Fixed checks for paths which escape the project directory (#673) |
| |
| ================= |
| buildstream 1.2.2 |
| ================= |
| |
| * Fixed incomplete removal of blessings dependency |
| |
| ================= |
| buildstream 1.2.1 |
| ================= |
| |
| o Fixed corruption of artifact cache at cache cleanup time (#623) |
| |
| o Fixed accidental deletion of artifacts when tracking is enabled |
| |
| o Error out when protected variables are set by project authors (#287) |
| |
| o Fixed option resolution in project wide element & source configurations (#658) |
| |
| o Error out gracefully when push remote is mal-specified (#625) |
| |
| o Improved logging regarding skipped push / pull jobs (#515) |
| |
| o Fixed crash in `bst fetch` when project.refs and source mirroring are in use (#666) |
| |
| o Removed blessings dependency |
| |
| o Support for batch file downloads on the artifact cache server |
| |
| ================= |
| buildstream 1.2.0 |
| ================= |
| |
| o Various last minute bug fixes |
| |
| o Final update to the SourceFetcher related mirroring APIs |
| |
| ================= |
| buildstream 1.1.7 |
| ================= |
| |
| o Fix CAS resource_name format |
| |
| Artifact servers need to be updated. |
| |
| o Improved startup performance and performance of |
| calculating artifact cache size |
| |
| o Various other bug fixes |
| |
| |
| ================= |
| buildstream 1.1.6 |
| ================= |
| |
| o A lot of bug fixes |
| |
| |
| ================= |
| buildstream 1.1.5 |
| ================= |
| |
| o Add a `--tar` option to `bst checkout` which allows a tarball to be |
| created from the artifact contents. |
| |
| o Fetching and tracking will consult mirrors defined in project config, |
| and the preferred mirror to fetch from can be defined in the command |
| line or user config. |
| |
| o Added new `remote` source plugin for downloading file blobs |
| |
| o Add support for the new include '(@)' directive in project.conf and .bst files |
| |
| ================= |
| buildstream 1.1.4 |
| ================= |
| |
| o `bst workspace` commands and `bst track` will substitute their |
| source elements when performing those operations, e.g. performing |
| `bst track` on a filter element will track the sources on the |
| element that it depends on (if it has sources). |
| |
| o Added new simple `make` element |
| |
| o Switch to Remote Execution CAS-based artifact cache on all platforms. |
| |
| Artifact servers need to be migrated. |
| |
| o BuildStream now requires python version >= 3.5 |
| |
| o BuildStream will now automatically clean up old artifacts when it |
| runs out of space. The exact behavior is configurable in the user's |
| buildstream.conf. |
| |
| |
| ================= |
| buildstream 1.1.3 |
| ================= |
| |
| o Added new `bst init` command to initialize a new project. |
| |
| o Cross junction tracking is now disabled by default for projects |
| which can support this by using project.refs ref-storage |
| |
| New options have been added to explicitly enable cross-junction |
| tracking. |
| |
| o Failed jobs are now summarised at the end of a build. |
| |
| Use `--verbose` and `--no-verbose` to adjust the amount of detail given. |
| |
| o BuildElements' `configure-commands` are only run once for |
| workspaces now, which allows for incremental builds. |
| |
| Appropriate API for plugins is also exposed through |
| `Element.prepare`. |
| |
| o The `cmake` plugin now supports building with ninja with the |
| newly added `generator` configuration option. |
| |
| o `bst workspace close` and `bst workspace reset` now support multiple |
| elements. All elements can be specified using `--all`. |
| |
| o The elements whose cache keys had to be determined during the build |
| are summarised at the end of the build. |
| |
| o Fixed versioning introspection to be dynamic, many users use |
| a developer install mode so they can update with git, now the |
| version information is always up to date in logs. |
| |
| This causes a minor API break: The --version output now only |
| outputs the version. |
| |
| |
| ================= |
| buildstream 1.1.2 |
| ================= |
| |
| o New ref-storage option allows one to store source refs, such |
| as git shas, in one central project.refs file instead of inline |
| with the source declarations. |
| |
| o Deprecated `--track-save` optionality in `bst build`, this |
| does not make sense to support now that we have project.refs. |
| |
| o Added the `sandbox` configuration option which can be used in |
| `project.conf` and elements, to control the user ID and group ID |
| used in build sandboxes. |
| |
| o Added new `deb` source implementation, for staging of downloaded |
| deb package files. |
| |
| |
| ================= |
| buildstream 1.1.1 |
| ================= |
| |
| o New project configuration controlling how the sandbox behaves |
| when `bst shell` is used; allowing projects to provide a more |
| functional shell environment. |
| |
| o The `bst shell` command now has a `--mount` option allowing |
| users to mount files and directories into the sandbox for |
| testing purposes. |
| |
| o Log lines are now configurable with the new "message-format" |
| user configuration, allowing one to express optional fields |
| such as microsecond precision and wallclock time. |
| |
| o Newly added filter element |
| |
| o Git source plugin now allows disabling of submodule checkouts |
| |
| o In the same way we allow overriding element configurations |
| by their 'kind' in project.conf, we now support the same |
| for source plugin configurations. |
| |
| o Tar and zip sources now automatically recall an `etag` |
| from the http headers, optimizing tracking of tarballs |
| significantly (issue #62) |
| |
| |
| ================= |
| buildstream 1.1.0 |
| ================= |
| |
| o Multiple artifact caches are now supported in project and |
| user configuration with a priority order (issue #85) |
| o Add junction support for subprojects |
| o Changes towards incremental builds in workspaces |
| o `bst shell --build` now creates true build sandbox |
| o Many bug fixes |
| |
| |
| ================= |
| buildstream 1.0.0 |
| ================= |
| First stable release of BuildStream |
| |
| BuildStream 1.0.0 is all about API stability - for the past months we |
| have been reviewing our various API surfaces, implementing strategies |
| for revisioning of our interfaces and cleaning up. Long term stability |
| is very important for build reproducibility over time, and this release |
| is the first promise we are making on any API surfaces. |
| |
| Stable API surfaces include: |
| o The command line interface |
| o The YAML user configuration file format |
| o The YAML project `.bst` file format |
| o The core Python module imported by external plugins |