Skip to content

v0.3.0

Compare
Choose a tag to compare
@aaronmondal aaronmondal released this 10 Apr 17:43
· 401 commits to main since this release
v0.3.0
aab867a

NativeLink v0.3.0

This is a fairly large release with various new features and stability improvements.

Installation

🦀 Cargo

cargo install --git https://github.com/TraceMachina/nativelink --tag v0.3.0

❄️ Nix

nix run github:TraceMachina/nativelink/v0.3.0

🐋 Docker

docker run ghcr.io/tracemachina/nativelink:v0.3.0

# For the nativelink-worker-lre-cc worker remote execution container
# for Bazel with an LLVM 17 C++ toolchain:
docker run ghcr.io/tracemachina/nativelink-worker-lre-cc:v0.3.0

📜 Changelog

❌️ Breaking changes

  • Removed completeness checking logic in CacheLookupScheduler (#826). To migrate, remove the "cas_store" field in CacheLookupScheduler configurations and use the CompletenessCheckingStore wrapper.
  • Generalized LRE to arbitrary toolchains and refactored image publishing worflows (#728). NativeLink containers no longer ship with cacerts. Instead, an external CA needs to be mounted into the image explicitly. See deployment-examples/kubernetes for updated deployment instructions.
  • The /status endpoint now returns a JSON status object (#636).
  • The GRPCScheduler and GRPCStore no longer take a string as endpoint but a new GRPCEndpointConfig object which bundles the endpoint string and TLS configuration and has an optional field for concurrency limits (#627).
  • Unknown fields during configuration initialization will now raise errors (#693). This breaks configurations which were already faulty but would previously be accepted silently.

✨ Major changes

  • NativeLink now supports mTLS (#470)
  • The VerifyStore now supports blake3 (#575)
  • Documentation is now generated via Docusaurus (#586)
  • S3Store may now disable http2 (#604)
  • Bazel builds now use Bzlmod (#626)
  • CompressionStore and ExistenceCacheStore now support metrics (#647)
  • NativeLink Production deployments are now built against musl libc (#583) and use mimalloc (#749) as memory allocator.
  • Action directories during remote execution now run under a configurable root directory (#752)
  • Added a chromium/Reclient example (#786)
  • A new nativelink-worker-lre-cc image for C++ remote execution is now published from main (#794)
  • A new nativelink-debug target has been added to the nix flake to aid debugging concurrency issues (#811)

See CHANGELOG.md for the full list of changes.

❤️ Thanks to our Contributors

This release contains contributions from @blizzardc0der, @chrisstaite-menlo, @DolceTriade, @steed924 and various contributors at @TraceMachina.