Skip to content

v0.26.1

Latest

Choose a tag to compare

@ermo ermo released this 21 Jan 17:50
· 78 commits to main since this release
6f9a00d

What's Changed

This release was cut to indicate that we can now begin to make on-disk moss-format changes. This implies that we can begin to add new fields to .stone and stone.index files that correspond to new functionality.

This release also contains a tech preview MVP of our declarative system-model feature for moss, and fixes a long-standing threading-related bug that would cause boulder invocations to fail (mostly visible when called in our infra) with no visible cause.

Boulder changes

Boulder saw a fair few improvements, including:

  • Ease of use changes related to generating new recipe templates via boulder recipe new, including automagic license matching.
  • Improved (and new) boulder macros used for expediency during common packaging operations.
  • Improved output and improved error messages.
  • Improved handling of various kinds of dependencies.
  • A very important change that ensures that all threaded code properly stops its runtimes before we enter the build container.
  • Improved handling of the use of git tags in upstream fields, which auto-converts the git tag to full git hashes.
  • Fixing a long-standing bug re. how we process paths to ELF objects and in turn expose them as providers.
  • Improved handling of various caches, including ccache, sccache, go cache and cargo cache.
  • A few small tweaks to how we handle recipe invariants directly in boulder.

Moss changes

Moss grew quite a few ease-of-use features and contains several performance improvements:

  • The new search-file command, which maps installed package files to their parent packages.
  • The inspect command now supports the --check option that runs checksum tests while inspecting .stone files.
  • Better tracing support in various code paths.
  • The new state query command.
  • Parallel state verify with rayon iterators.
  • Transaction cache speedups (faster install and remove actions).
  • Improvements to the moss resolver, including better pruning of orphans.
  • Improvements to boot info output.
  • Add cache prune command to help reclaim space.
  • swap BTreeSet for HashSet, add a raii guard in UnpackingInProgress code.

General changes

Lastly, there were many improvements across the codebase shared by moss and boulder, including a bunch of code cleanups, some ci release workflow cleanups, dependency cleanups and updates, the use of the snafu error handling library in more places, and updates to our libstone FFI functionality.

New Contributors

Full Changelog: v0.25.6...v0.26.1