| ================= |
| 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 |