Releases: TraceMachina/nativelink
Release list
v1.6.4
This release adds opt-in zstd wire compression for GrpcStore transfers, fixes S3 credential discovery over HTTP, and makes Redis more resilient.
Adds scheduler stability fixes, resolving a deadlock caused by a worker resource-tracking leak, duplicate executions of the same action that desynced scheduler state, and workers aborting when a disconnect caught an action in transit. Also refreshes configuration reference docs and new GitHub issue templates to make bug reports more approachable.
1.6.4 - 2026-08-04
⛰️ Features
- Add issue templating for more approachable reports by @matdexir in (#2471) - (4eb80ad)
- Add opt-in zstd wire compression to GrpcStore transfers by @erneestoc in (#2596) - (64ca974)
🐛 Bug Fixes
- Fix deadlock due to worker resource-tracking leak in scheduler [1.6-patch-1] by @cormacrelf in (#2642) - (7ddf1bd)
- Fix duplicate executions of the same action that caused scheduler state to get out of sync [1.6-patch-6] by @cormacrelf in (#2648) - (4278d4b)
- Fix S3 credential discovery over HTTP by @pvd-dot in (#2651) - (58dd792)
- (redis) skip FT.AGGREGATE rows for docs that expired mid-query by @amankrx in (#2656) - (f784549)
- (error) classify transient Redis failures as retryable by @A(#2657) - ([56aa6f7](56aa6f705cb53ebdc7eea2dc5aefc4d5a18e- (worker) don't abort the worker wn action in transit by @amankrx in(#2658ceMachina/nativelink/commit/bafafc78f45a35))
📚 Documentation
- (config-reference) regenerate forions[bot] in(#2652ceMachina/nativelink/commit/4649c5034c5c69))
- Zstd transfers consistency by @MarcusSorealheis in (#2660) - ([46a3202](46a32026f2a1a572834f18c8c32108d7dc34- Add GTM to the docs site to improveheyitsalec in(#2661ceMachina/nativelink/commit/af1bd740f6b844))
- remove NativeLink Cloud product listings and links by @HeyItsA(#2637) - ([d16a1d7](d16a1d7
🧪 Testing & CI
⚙️ Miscellaneous
v1.6.3
Focuses on filesystem and directory-cache performance, more resilient GCS and Redis storage paths, and more accurate execution metrics. It also brings expanded documentation, new marketing and careers pages, and a range of CI and dependency updates. All users benefit from the storage and stability improvements.
1.6.3
⛰️ Features
- Add Google Tag Manager to the marketing site by @heyitsalec in (#2610) - (94f312a)
- Add the Leadfeeder tracker to the marketing site by @heyitsalec in (#2606) - (9700a4a)
- Prefetch directory-cache tree protos with one GetTree stream by @erneestoc in (#2546) - (2cbf21e)
🐛 Bug Fixes
- Fix #2564, .exec cleanup and count F_FULLFSYNC operations by @MarcusSorealheis in (#2602) - (b44f31d)
- Fix custom-image workflow: grant pull-requests: write and fix command parsing by @amankrx in (#2600) - (63567c8)
- Let GCS get_part defer NotFound to the retrier by @j-j-m in (#2584) - (3947c71)
- Fix skopeo login on ubuntu-24.04 for all image workflows by @amankrx in (#2577) - (9717f2f)
- Log client server mismatch by @MarcusSorealheis in (#2633) - (691eb92)
📚 Documentation
- (config-reference) regenerate for NativeLink v1.6.2 by @github-actions[bot] in (#2576) - (9daa989)
- Move the FAQ into per-page FAQ sections by @heyitsalec in (#2590) - (82a036c)
- Extend the docs FAQ to cover every documentation area by @heyitsalec in (#2581) - (217276c)
- Redis eviction events support by @palfrey in (#2521) - (45a5652)
🧪 Testing & CI
- Skip empty chunks in GCS get_part read stream by @j-j-m in (#2620) - (41be332)
- Add trace logging for bytestream read by @palfrey in (#2482) - (4e2f554)
- Bootstrap CI on NativeLink Cloud staging (remote cache + BES, dark) by @MarcusSorealheis in (#2579) - (eed5b31)
- Revert prepare-nix to the Determinate Nix installer by @amankrx in (#2635) - (46c3d0f)
⚙️ Miscellaneous
- Web/compliance and careers by @amankrx in (#2624) - (97916b2)
- Replace determinate with nix-quick-install-action by @palfrey in (#2618) - (bf908e5)
- Add security and trust responsibilities to careers job description by @corcillo in (#2622) - (3d40c91)
- Upgrade to rules_rs 0.0.96 by @palfrey in (#2615) - (0e7580f)
- Increase timeout on trivy by @palfrey in (#2613) - (fbf49d6)
- Record the execution metrics that were declared but never emitted by @amankrx in (#2599) - (7bb62d7)
- Make filesystem store posix_fadvise(DONTNEED) opt-in by @amankrx in (#2608) - (d15b2a9)
- Commit public read-only cache defaults so fork PRs actually receive them by @MarcusSorealheis in (#2604) - (9fe34de)
- Skip pre_exec hook when namespaces are disabled to allow posix_spawn by @amankrx in (#2597) - (02e3e76)
- Coalesce FilesystemStore durability flushes on macOS by @erneestoc in (#2539) - (97b961a)
- cmake links; rust headers; sandboxing by @palfrey in (#2586) - (ddcb47e)
- Exclude the aggregate total runner entry from the canary hit-rate math by @MarcusSorealheis in (#2589) - (3b1e179)
- Give fork PRs read-only remote cache via a public key variable by @MarcusSorealheis in (#2587) - (43c0658)
- cargo-llvm-cov gets flagged, but doesn't have actual vulnerabilities by @palfrey in (#2585) - (d59e50f)
- Cache cargo runs under nix by @palfrey in (#2570) - (5ee0afc)
⬆️ Bumps & Version Updates
- Fix compliance claims, normalize contact emails, add careers pages by @amankrx in (#2621) - (b3659b7)
- Add change history to Terms & Privacy page by @heyitsalec in (#2619) - (c3ffa86)
- anyhow to 1.0.104 by @palfrey in (#2580) - (d1e49ac)
- Update Rust crate syn to v3 by @renovate[bot] in (#2578) - (abd0258)
New Contributors
Full Changelog: v1.6.2...v1.6.3
v1.6.2
Introduced several performance optimizations for MacOS, resilience to the simple scheduler, and stability to the newly added compression features. All users will benefit from the improvements.
1.6.2
⛰️ Features
- Add fallback match interval to simple scheduler by @MarcusSorealheis in (#2557) - (7a4279b)
- Add opt-in small-blob read coalescing to GrpcStore by @erneestoc in (#2540) - (4be35e6)
🐛 Bug Fixes
- Remove quoting around NetApp by @palfrey in (#2556) - (65e2ec2)
- Fix skopeo login issues on image publish by @palfrey in (#2549) - (e72490c)
- Handle zero digests in CompressionStore by @aetosdios27 in (#2548) - (b08995d)
📚 Documentation
- (config-reference) regenerate for NativeLink v1.6.0 by @github-actions[bot] in (#2553) - (f871377)
- Adds weekly and "everything" docs regen by @palfrey in (#2551) - (2a061ba)
- Remove StoreSpec docs by @palfrey in (#2545) - (fb37e86)
- Add opt-in subtree-keyed caching to the worker DirectoryCache by @erneestoc in (#2541) - (9f9451e)
🧪 Testing & CI
- Fix AsyncFixedBuffer with zstd compression, remove unused BufChannelReader adapter by @walter-zeromatter @MarcusSorealheis in (#2574) - (b01cb0d)
- Reject duplicate store names in StoreManager by @heyitsalec in (#2533) - (2106b1a)
- Add free-disk to Redis store tester by @palfrey in (#2543) - (4b1de2c)
- Fix flakey MongoDB test by @MarcusSorealheis in (#2535) - (b8e8171)
- Fix skopeo login on ubuntu-24.04 for all image workflows by @amankrx in (#2577) -(13879c6)
⚙️ Miscellaneous
- Remove more unused items by @palfrey in (#2561) - (8a8be18)
- Don't update config reference without changes by @palfrey in (#2562) - (48d9b96)
- Tag config regen builds to our bot account by @palfrey in (#2554) - (5003676)
- Enforce Vale settings for config as well as markdown by @palfrey in (#2552) - (27fb8ad)
- curl 8.5.0-2ubuntu10.11 security update by @palfrey in (#2544) - (a8e383a)
⬆️ Bumps & Version Updates
- Upgrade anyhow to 1.0.103 for RUSTSEC-2026-0190 by @MarcusSorealheis in (#2569) - (6675acb)
- Upgrade quick-xml to 0.41 for RUSTSEC-2026-0194 by @MarcusSorealheis in (#2566) - (b173e4b)
- Upgrade serde_with to 3.21 for GHSA-7gcf-g7xr-8hxj by @palfrey in (#2559) - (b18311f)
- Update nixpkgs so we can drop our patched renovate by @palfrey in (#2537) - (ad0d83d)
New Contributors
- @heyitsalec made their first contribution in #2533
- @aetosdios27 made their first contribution in #2548
Full Changelog: v1.6.1...v1.6.2
v1.6.1
1.6.1
⛰️ Features
- Materialize directory-cache nodes concurrently on cold misses by @erneestoc in (#2526) - (065be46)
- Marcussorealheis extend zstd by @MarcusSorealheis, @walter-zeromatter, @palfrey in (#2527) - (e4b6ca6)
- Adds timer to hyper by @palfrey in (#2523) - (63f3454)
- Add REAPI content-defined chunking (SplitBlob/SpliceBlob) support by @erneestoc in (#2497) - (9d86aaf)
🐛 Bug Fixes
📚 Documentation
🧪 Testing & CI
- Increase the attic retry time by @palfrey in (#2524) - (21dadec)
- Disable Bazel lockfile in 8.7 compatibility lane by @MarcusSorealheis in (#2517) - (8162a93)
- Drop expect for single_use_lifetimes by @palfrey in (#2538 - (23e960d)
⚙️ Miscellaneous
- (release) cross-compile the aarch64 Linux binary on x86 by @amankrx in (#2529) - (32e4952)
- add MCP AI widget, MDX support, and design updates by @amankrx in (#2488) - (7909e32)
- Attach the tag to images pushed on a tag build by @amankrx in (#2515) - (05c5fac)
⬆️ Bumps & Version Updates
- Upgrade crossbeam-epoch and serial_test by @palfrey in (#2519) - (0ac1434)
- Upgrade to Bazel 9.1.1 and 8.7.0 by @MarcusSorealheis in (#2514) - (1f94866)
- Release NativeLink v1.6.1 by @MarcusSorealheis in (#2532 - (f4679b3)
New Contributors
Full Changelog: v1.6.0...v1.6.1
v1.6.0
1.6.0
Description
NativeLink 1.6.0 introduces a new Oracle Cloud Infrastructure (OCI) Store, improved OCI image upload reliability, multi-architecture container image support, and signed release artifacts with SLSA provenance. This release also includes improvements to Azure Blob Storage through migration to the Azure SDK v1.0, enhanced logging, documentation updates, security improvements, and various fixes across the project.
⚠️ Breaking Change (Azure Blob Storage)
NativeLink has migrated to the Azure Storage SDK v1.0. As part of this migration, authentication using AZURE_STORAGE_KEY is no longer supported. Azure Blob Storage users must migrate to either:
- Shared Access Signature (SAS) URLs (recommended for access-key based deployments), or
- Azure Workload Identity for Kubernetes and cloud-native deployments.
Please update your deployment configuration before upgrading to v1.6.0.
⛰️ Features
- Add troubleshooting tips for macOS Nix setup by @CoderOMaster in (#2505) - (5e72a32)
- Regenerate Changelog on New Release by @MarcusSorealheis in (#2500) - (503056f)
- Add Oracle store by @MarcusSorealheis in (#2492) - (8b74394)
- Improve logging for detect_duplicate_upload and fake redis sync by @palfrey in (#2481) - (66f7159)
- Add multi-arch images for worker-init by @palfrey in (#2459) - (a5b6f65)
📚 Documentation
- (config-reference) regenerate for NativeLink v1.5.2 by @amankrx in (#2447) - (9ec713c)
- Update the OCI store with the tests and docs by @amankrx in (#2506) - (d624f6a)
- [web] restore blog posts deleted by the site redesign by @corcillo in (#2501) - (6dca947)
- Update LRE/store docs to fix #2406 by @MarcusSorealheis in (#2498) - (5516d8b)
- Make cleanup wait timeout configurable in LocalWorkerConfig by @matdexir in (#2456) - (f25f68d)
- Improve other build systems docs by @MarcusSorealheis in (#2448) - (bc1a294)
🧪 Testing & CI
- Fix custom image building by @palfrey in (#2477) - (452a720)
- skip writes larger than max_bytes instead of buffering them by @corcillo in (#2473) - (1a10e3f)
- Fix various OCI image upload issues by @palfrey in (#2457) - (5f6be36)
- Improve security scorecard by @MarcusSorealheis in (#2452) - (babdfd9)
⚙️ Miscellaneous
- (release) build aarch64 Linux binary on a native arm64 runner by @amankrx in (#2483) - (d55e0e5)
- (release) pin cosign to v2.5.3 for legacy .sig/.pem output by @amankrx in (#2480) - (1829fa4)
- (release) keep legacy cosign signature/cert outputs by @amankrx in (#2478) - (2cd0507)
- (release) add signed release artifacts with SLSA provenance by @amankrx in (#2470) - (c72bce8)
- Migrate Azure Blob store to use the Azure v1.0 crates by @amankrx in (#2472) - (884ffde)
- Remove reclient in favor of Siso by @MarcusSorealheis in (#2510) - (d9325f8)
- Strip stray item from changelog by @palfrey in (#2507) - (87d16c6)
- evict .exec variant when its digest is evicted by @MarcusSorealheis in (#2474) (#2503) - (6a162e3)
- Default --fallback for nix rather than having to set it everywhere by @palfrey in (#2475) - (f170cdf)
- Rename time-based config values to have appropriate postfixes by @palfrey in (#2462) - (ccc01eb)
- Disable various things we don't want renovate to upgrade by @palfrey in (#2469) - (414246b)
- == not != for multi-arch upload by @palfrey in (#2455) - (d74ba31)
- Multi arch image publish with date-versioning by @palfrey in (#2454) - (65d43ed)
- ref_store now resolves on boot, not first query by @palfrey in (#2451) - (0952bb6)
⬆️ Bumps & Version Updates
- (web) Replace hero visual with YouTube video embed by @modernmedici in (#2443) - (d1863ca)
- Update dependency marked to v18 by @renovate[bot] in (#2502) - (0d516b9)
- Update Rust crate anyhow to v1.0.103 [SECURITY] by @renovate[bot] in (#2494) - (d459bd9)
- Update Rust crate opentelemetry_sdk to 0.32.0 [SECURITY] by @renovate[bot] in (#2487) - (ce3a919)
- Update website components by @amankrx in (#2486) - (3bfe408)
- bump quinn-proto to 0.11.15 and memmap2 to 0.9.11 (RustSec) by @corcillo in (#2479) - (ae5762e)
- Update dependency @types/node to v26 by @renovate[bot] in (#2453) - (a9f5ce1)
- Update logo by @MarcusSorealheis in (#2450) - ([1989e8d](1989e8d3b0ca274e7e3687c7ed...
v1.5.2
v1.5.2
🐛 Bug Fixes
- (redis) ride out a Sentinel failover on the write paths (#2445) by @amankrx - (a776234)
- (origin-events) don't drop resource-usage events on transient failure (#2442) by @amankrx - (78af03a)
📚 Documentation
⚙️ Miscellaneous
- Adds latest tag with bun (#2440) by @MarcusSorealheis - (3bca6f7)
- Release NativeLink v1.5.2 (#2446) by @amankrx - (6e63ef9)
Full Changelog: v1.5.1...v1.5.2
v1.5.1
v1.5.1
⛰️ Features
- Introduce load-balanced channel for OpenTelemetry exporters by @dkostyrev (#2175) - (82fe6e4)
🐛 Bug Fixes
- (redis_store) recover connections through a Sentinel master failover by @amankrx (#2438) - (06e0caf)
- (redis_store) retry has/get_part/list on failover too by @amankrx (#2437) - (d4565e6)
- (redis_store) re-resolve master on update verify/rename for failover safety by @amankrx (#2435) - (54918b6)
📚 Documentation
- Autogenerate docs again by @MarcusSorealheis (#2433) - (dc3702c)
🧪 Testing & CI
- Dump coverage in text form during CI by @palfrey (#2432) - (04c2f49)
- Make bash shell scripts actually fall over by @palfrey (#2428) - (d537003)
- worker_utils test coverage to 100% by @palfrey (#2427) - (729c88d)
⚙️ Miscellaneous
- Strange Copy Entry by @MarcusSorealheis (#2434) - (6abc5d8)
New Contributors
- @dkostyrev made their first contribution in #2175
Full Changelog: v1.5.0...v1.5.1
v1.5.0
This release introduces a few bug fixes and stability improvements for standard Nativelink components (worker, and scheduler), introduces our licensing platform to the website, fixes some broken links from our website migration, and improves developer ergonomics with more clear logs.
Installation
🦀 Cargo
cargo install --git https://github.com/TraceMachina/nativelink --tag v1.5.0❄️ Nix
nix run github:TraceMachina/nativelink/v1.5.0🐋 Docker
docker run ghcr.io/tracemachina/nativelink:v1.5.0What's Changed
- Link from main nativelink site to enterprise site by @corcillo in #2407
- fix(worker): sample action peak memory by process group by @amankrx in #2409
- fix(scheduler): publish resource-usage origin event from ApiWorkerScheduler by @amankrx in #2413
- worker: use Duration::from_mins() for timeout constants by @matdexir in #2411
- ft_aggregate: pass explicit TIMEOUT to absorb RediSearch slow scans by @amankrx in #2393
- fast_slow_store: bypass leader/follower dedup for huge blobs by @amankrx in #2415
- store_awaited_action_db: bound cid_* lifetime to stop orphan accumulation by @amankrx in #2417
- fix(deps): update rust crate zip to v8 by @renovate[bot] in #2422
- Drop as_know_platform_property_provider from ClientStateManager trait by @matdexir in #2410
- Fix:Prevent CAS and AC from using the same store and add integration … by @RickDeb2004 in #1177
- Fix calculation of multipart S3 upload chunk size (continues #1648) by @MarcusSorealheis in #2091
- Add cmake and recc tutorial blog by @MarcusSorealheis in #2297
- Fix println/debug warnings by @palfrey in #2423
- De-duplicate filesystem emplace by @palfrey in #2396
- fast_slow_store: fall through to slow on stale fast-tier map entries by @amankrx in #2414
- Fix broken reid link at the bottom of cmake-recc by @palfrey in #2426
- Drop vercel.json by @palfrey in #2425
- bytestream_server: single-acquire active_uploads in create_or_join_up… by @MarcusSorealheis in #2429
- filesystem_store: make unref ENOENT idempotent and demote map/disk divergence to warn by @amankrx in #2424
- Release NativeLink v1.5.0 by @corcillo in #2430
New Contributors
- @RickDeb2004 made their first contribution in #1177
Full Changelog: v1.4.0...v1.5.0
v1.4.0
Installation
🦀 Cargo
cargo install --git https://github.com/TraceMachina/nativelink --tag v1.4.0❄️ Nix
nix run github:TraceMachina/nativelink/v1.4.0🐋 Docker
docker run ghcr.io/tracemachina/nativelink:v1.4.0What's Changed
- nix: migrate off deprecated crane
stdenvarg tostdenvSelectorby @amaanq in #2379 - Update Rust crate tar to v0.4.46 [SECURITY] by @renovate[bot] in #2378
- Update dependency typescript to v6 by @renovate[bot] in #2364
- gcs_store, filesystem_store: lightweight check_health probes by @amankrx in #2361
- Coverage update config (serde_until.rs) by @leodziki in #1479
- Update dependency @types/node to v25 by @renovate[bot] in #2372
- Update fumadocs dependencies by @renovate[bot] in #2383
- Update dependency motion to v12 by @renovate[bot] in #2385
- Upgrade aws-smithy components to drop hyper 0.x by @palfrey in #2384
- Remove extra Github icon by @palfrey in #2387
- Clarify NativeLink licensing docs by @MarcusSorealheis in #2380
- Update dependency tailwind-merge to v3 by @renovate[bot] in #2386
- Fix a pile of lints that clippy complains about by @palfrey in #2389
- health_utils: run indicator checks in parallel, not serially by @amankrx in #2390
- Clarify error when TCP Listener binding fails by @matdexir in #2394
- Fix infinite loop when using --help flag on the integration test script by @matdexir in #2395
- nix: replace deprecated
pkgs.systemwithstdenv.hostPlatform.systemby @amaanq in #2381 - Drop unnecessary checks section by @palfrey in #2388
- Update coverage for nativelink-error by @leodziki in #1482
- ci(nix): retry transient Bazel external-fetch failures by @amaanq in #2397
- listener: support
IP_FREEBINDto bind not-yet-assigned addresses by @amaanq in #2399 - Update hoverkraft-tech/compose-action action to v3 by @renovate[bot] in #2400
- filesystem_store: surface deferred write errors before emplacing files by @amaanq in #2402
- Add worker action memory telemetry by @MarcusSorealheis in #2398
- Fix the typo for production config by @amankrx in #2404
- Release Nativelink 1.4.0 by @MarcusSorealheis in #2405
New Contributors
Full Changelog: v1.3.2...v1.4.0
v1.3.2
A patch release related to fast-slow store performance regressions introduced by the Mac OS X-specific optimizations. Fixed by @chrisstaite-menlo right away. Thank you Chris!
Installation
🦀 Cargo
cargo install --git https://github.com/TraceMachina/nativelink --tag v1.3.2❄️ Nix
nix run github:TraceMachina/nativelink/v1.3.2🐋 Docker
docker run ghcr.io/tracemachina/nativelink:v1.3.2What's Changed
- fix broken website buttons ('contact us' and 'start free') by @corcillo in #2369
- Add cache metrics by @MarcusSorealheis in #2344
- Bugfix/copy regressions by @MarcusSorealheis in #2371
- Fix fast-slow store optimisation by @chrisstaite-menlo in #2373
- add CSS ambient declarations to work with TS6 by @MarcusSorealheis in #2374
- Remove base path URL by @MarcusSorealheis in #2375
- Web home page fix: update text "10 B+" to "10B+" by @corcillo in #2376
- Release NativeLink v1.3.2 by @MarcusSorealheis in #2377
New Contributors
Full Changelog: v1.3.1...v1.3.2