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-filecommand, which maps installed package files to their parent packages. - The
inspectcommand now supports the--checkoption that runs checksum tests while inspecting .stone files. - Better tracing support in various code paths.
- The new
state querycommand. - Parallel
state verifywith rayon iterators. - Transaction cache speedups (faster install and remove actions).
- Improvements to the moss resolver, including better pruning of orphans.
- Improvements to
boot infooutput. - Add
cache prunecommand 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
- @barne856 made their first contribution in #544
- @christian-bendiksen made their first contribution in #634
Full Changelog: v0.25.6...v0.26.1