Skip to content

v0.5.4

Latest
Compare
Choose a tag to compare
@aaronmondal aaronmondal released this 30 Jan 03:02
· 8 commits to main since this release
v0.5.4
dcba3f5

NativeLink v0.5.4

This release focuses on stability, implements various quality-of-life improvements, and adds experimental support for high-availability deployments.

Important

While this release doesn't contain breaking changes, the config schema changed to use arrays of named specs for stores and schedulers. This release supports both schemas, but the next release will remove support for the old one in a breaking change.

// Old:
"stores": {
 "SOMESTORE": {
    "memory": {}
  }
},
"schedulers": {
  "SOMESCHEDULER": {
    "simple": {}
  }
 }

// New:
"stores": [
  {
    "name": "SOMESTORE",
    "memory": {}
  }
],
"schedulers": [
  {
    "name": "SOMESCHEDULER",
    "simple": {}
  }
]

🐋 Images

docker pull ghcr.io/tracemachina/nativelink:v0.5.4

# This image copies nativelink to a specified location such as a mounted
# volume. You can then re-mount that volume into your worker container.
docker pull ghcr.io/tracemachina/nativelink-worker-init:v0.5.4

# The nativelink-worker-lre-cc remote execution container for Bazel with a
# Clang/LLVM 19 C++ toolchain:
docker pull ghcr.io/tracemachina/nativelink-worker-lre-cc:v0.5.4

See the contribution docs for instructions on how to build from source with Bazel, Cargo, and Nix.

📜 Changelog

✨ Major changes

  • Schedulers can now have a Redis backend. This lets you deploy NativeLink in a high-availability mode—that is, without a single point of failure (#1343).
  • Changed the config schema as outlined above (#1496).
  • Implemented Local Remote Execution for Rust (#1510).
  • Added a new OriginEvent API which lets you trace data as it flows through NativeLink (#875).
  • Introduced new documentation and examples to aid with testing remote execution (#1498).

🩹 Notable fixes

  • Fixed an interaction between S3Store and VerifyStore that could lead to cache poisoning (#1383).
  • Fixed an issue where configurations using raw FilesystemStores required an explicit --digest_function flag in Bazel and which could lead to nonfunctional deployments in Reclient. If you used the --digest_function flag before to work around missing digest issues, you can remove this now (#1489).

See CHANGELOG.md for the full list of changes.

❤️ Thanks to our Contributors

This release contains contributions from @SchahinRohani, @aleksdmladenovic, @amonshiz, @blakehatch, @caass, @jaroeichler, @KGrewal1, @swarren12, @WillDoItMyself and various contributors at @TraceMachina.