Releases: TraceMachina/nativelink
v1.0.0
We are finally releasing v1.0.0 on Tuesday March 23, 2026. The team, our customers, and the community have made this release the most exhaustively tested, configurable, and scalable release ever! Companies like Meta, Menlo Security, Amazon Web Services, Samsung, and Alibaba Cloud have been instrumental in its development and continued success. The list is much longer.
Installation
🦀 Cargo
cargo install --git https://github.com/TraceMachina/nativelink --tag v1.0.0❄️ Nix
nix run github:TraceMachina/nativelink/v1.0.0🐋 Docker
docker run ghcr.io/tracemachina/nativelink:v1.0.0What's Changed
- Be clearer about what property values workers are missing by @palfrey in #2121
- chore(deps): update rust crate bytes to v1.11.1 [security] by @renovate[bot] in #2134
- Update jsonwebtoken by @palfrey in #2135
- Make update_with_whole_file logging default to trace by @palfrey in #2131
- No workers logging by @palfrey in #2137
- Replace Fred with redis-rs by @palfrey in #2076
- Fix Max Inflight Workers job acceptance by @amankrx in #2142
- fix(deps): update module github.com/go-git/go-git/v5 to v5.16.5 [security] by @renovate[bot] in #2138
- fix(deps): update rust crate toml to v1 by @renovate[bot] in #2147
- Add tracing to hyper-util by @palfrey in #2132
- Advise the kernel to drop page cache by @amankrx in #2149
- Add Max Upload timeout to CAS by @amankrx in #2150
- Allows setting environment variables from the environment by @palfrey in #2143
- Add GRPC timeouts and other improvements to detect dead connections by @amankrx in #2152
- fix metrics by @MarcusSorealheis in #2097
- Add Max action executing timeouts to scheduler by @amankrx in #2153
- Dummy streams should be pending, not empty by @palfrey in #2154
- Add logs for stall detection by @amankrx in #2155
- Fix integer overflow in compression_store.rs data retrieval logic by @palfrey in #2151
- Add Max Concurrent Writes by @amankrx in #2156
- Log NotFound as info, not error by @palfrey in #2171
- Add boolean and optional data size shellexpands by @palfrey in #2172
- prepare release v1.0.0 by @MarcusSorealheis in #2170
- If all workers are fully allocated, shortcut find workers by @palfrey in #2130
- Document max inflight tasks by @MarcusSorealheis in #2167
- Document RPC timeouts by @MarcusSorealheis in #2168
- Fix all the current clippy lints by @palfrey in #2174
- Document max concurrent writes by @MarcusSorealheis in #2169
- Fix worker inflight tasks heading by @palfrey in #2177
- Update grafana/grafana Docker tag to v12 by @renovate[bot] in #2182
- pre-commit rustfmt all files by @palfrey in #2176
- Update curl version in Dockerfiles by @palfrey in #2189
- Update module github.com/cloudflare/circl to v1.6.3 [SECURITY] by @renovate[bot] in #2191
- Flake update fixes by @palfrey in #2192
- Fix Fast slow store Not Found error by returning failed precondition by @amankrx in #2194
- Add json schema by @palfrey in #2193
- Prevent retry loop large uploads by @MarcusSorealheis in #2195
- Only display Baggage enduser.id when identity is present by @palfrey in #2197
- Fix Redis to reconnect in Sentinel (Chris Staite) by @MarcusSorealheis in #2190
- Release NativeLink v1.0.0-rc3 by @MarcusSorealheis in #2198
- Remove free cloud user by @MarcusSorealheis in #2199
- Handle correctly subscription messages by @palfrey in #2201
- Upgrade curl to 8.5.0-2ubuntu10.8 by @palfrey in #2204
- Add debug info to connection manager queues by @palfrey in #2188
- empty find_missing_blobs can return immediately by @palfrey in #2217
- Release NativeLink v1.0.0-rc4 by @MarcusSorealheis in #2219
- Update Rust crate lz4_flex to v0.11.6 [SECURITY] by @renovate[bot] in #2223
- Fix old Apple SDK refs by @palfrey in #2224
- Add sources to auto error conversion by @palfrey in #2225
- Test Mongo against an embedded MongoDB instance, not external by @palfrey in #2222
- Implement Azure Blob Store by @amankrx in #1554
- GCS error codes by @chrisstaite-menlo in #2228
- Update module google.golang.org/grpc to v1.79.3 [SECURITY] by @renovate[bot] in #2227
- Reduce debug on all Batch* structs by @palfrey in #2231
- Permit access times for files after FilesystemStore startup by @palfrey in #2178
- Implement Operations server by @chrisstaite-menlo in #2233
- Update Rust crate tar to v0.4.45 [SECURITY] by @renovate[bot] in #2234
- Release v1.0.0 by @MarcusSorealheis in #2236
Full Changelog: v0.8.0...v1.0.0
v1.0.0-rc4
Releasing v1.0.0 on Tuesday March 17, 2026.
Installation
🦀 Cargo
cargo install --git https://github.com/TraceMachina/nativelink --tag v1.0.0-rc4❄️ Nix
nix run github:TraceMachina/nativelink/v1.0.0-rc4🐋 Docker
docker run ghcr.io/tracemachina/nativelink:v1.0.0-rc4What's Changed
- Release NativeLink v1.0.0-rc3 by @MarcusSorealheis in #2198
- Remove free cloud user by @MarcusSorealheis in #2199
- Handle correctly subscription messages by @palfrey in #2201
- Upgrade curl to 8.5.0-2ubuntu10.8 by @palfrey in #2204
- Add debug info to connection manager queues by @palfrey in #2188
- empty find_missing_blobs can return immediately by @palfrey in #2217
Full Changelog: v1.0.0-rc3...v1.0.0-rc4
v1.0.1-rc3
Likely the final release candidate before v1.0.0 and only awaiting feedback from some large users.
Installation
🦀 Cargo
cargo install --git https://github.com/TraceMachina/nativelink --tag v1.0.0-rc3❄️ Nix
nix run github:TraceMachina/nativelink/v1.0.0-rc3🐋 Docker
docker run ghcr.io/tracemachina/nativelink:v1.0.0-rc3What's Changed
- If all workers are fully allocated, shortcut find workers by @palfrey in #2130
- Document max inflight tasks by @MarcusSorealheis in #2167
- Document RPC timeouts by @MarcusSorealheis in #2168
- Fix all the current clippy lints by @palfrey in #2174
- Document max concurrent writes by @MarcusSorealheis in #2169
- Fix worker inflight tasks heading by @palfrey in #2177
- Update grafana/grafana Docker tag to v12 by @renovate[bot] in #2182
- pre-commit rustfmt all files by @palfrey in #2176
- Update curl version in Dockerfiles by @palfrey in #2189
- Update module github.com/cloudflare/circl to v1.6.3 [SECURITY] by @renovate[bot] in #2191
- Flake update fixes by @palfrey in #2192
- Fix Fast slow store Not Found error by returning failed precondition by @amankrx in #2194
- Add json schema by @palfrey in #2193
- Prevent retry loop large uploads by @MarcusSorealheis in #2195
- Only display Baggage enduser.id when identity is present by @palfrey in #2197
- Fix Redis to reconnect in Sentinel by @chrisstaite-menlo @MarcusSorealheis @palfrey in #2190
Full Changelog: v1.0.0-rc2...v1.0.0-rc3
v1.0.0-rc2
This is the second release candidate for the version 1.0.0, which includes release which includes such highlights as a new Redis client to support a Rust-based scheduler that can run anywhere, tuning options like max_concurrent_workers to prevent saturating CAS servers, kernel management improvements, OTEL-compliant metrics, lots of logging and dependency updates.
Installation
🦀 Cargo
cargo install --git https://github.com/TraceMachina/nativelink --tag v1.0.0-rc2❄️ Nix
nix run github:TraceMachina/nativelink/v1.0.0-rc2🐋 Docker
docker run ghcr.io/tracemachina/nativelink:v1.0.0-rc2What's Changed
- Be clearer about what property values workers are missing by @palfrey in #2121
- chore(deps): update rust crate bytes to v1.11.1 [security] by @renovate[bot] in #2134
- Update jsonwebtoken by @palfrey in #2135
- Make update_with_whole_file logging default to trace by @palfrey in #2131
- No workers logging by @palfrey in #2137
- Replace Fred with redis-rs by @palfrey in #2076
- Fix Max Inflight Workers job acceptance by @amankrx in #2142
- fix(deps): update module github.com/go-git/go-git/v5 to v5.16.5 [security] by @renovate[bot] in #2138
- fix(deps): update rust crate toml to v1 by @renovate[bot] in #2147
- Add tracing to hyper-util by @palfrey in #2132
- Advise the kernel to drop page cache by @amankrx in #2149
- Add Max Upload timeout to CAS by @amankrx in #2150
- Allows setting environment variables from the environment by @palfrey in #2143
- Add GRPC timeouts and other improvements to detect dead connections by @amankrx in #2152
- fix metrics by @MarcusSorealheis in #2097
- Add Max action executing timeouts to scheduler by @amankrx in #2153
- Dummy streams should be pending, not empty by @palfrey in #2154
- Add logs for stall detection by @amankrx in #2155
- Fix integer overflow in compression_store.rs data retrieval logic by @palfrey in #2151
- Add Max Concurrent Writes by @amankrx in #2156
- Log NotFound as info, not error by @palfrey in #2171
- Add boolean and optional data size shellexpands by @palfrey in #2172
- prepare release v1.0.0 by @MarcusSorealheis in #2170
Full Changelog: v0.8.0...v1.0.0-rc2
v1.0.0-rc1
What's Changed
- Be clearer about what property values workers are missing by @palfrey in #2121
- chore(deps): update rust crate bytes to v1.11.1 [security] by @renovate[bot] in #2134
- Update jsonwebtoken by @palfrey in #2135
- Make update_with_whole_file logging default to trace by @palfrey in #2131
- No workers logging by @palfrey in #2137
- Replace Fred with redis-rs by @palfrey in #2076
- Fix Max Inflight Workers job acceptance by @amankrx in #2142
- fix(deps): update module github.com/go-git/go-git/v5 to v5.16.5 [security] by @renovate[bot] in #2138
Full Changelog: v0.8.0...v1.0.0-rc1
v0.8.0
What's Changed
- Add docs for configuring Worker Match Logging Interval by @amankrx in #2103
- Test redis improvements with client drop and higher max count per cursor by @amankrx in #2110
- Fix Redis index creation race by @MarcusSorealheis in #2111
- Pull MAX_COUNT_PER_CURSOR into redis config, not hardcoding by @palfrey in #2112
- fix(deps): update rust crate lru to 0.16.0 [security] by @renovate[bot] in #2106
- Reduce logging level for "Dropping file to update_file" by @palfrey in #2116
- Every bytestream_read had a debug log, which we don't need by @palfrey in #2117
- Add additional logging around worker property matching by @palfrey in #2118
- Support ignorable platform properties by @palfrey in #2120
- output_files can be very noisy, drop from debug by @palfrey in #2123
- Add worker config option to limit maximum inflight tasks by @palfrey in #2125
- Correct ignore handling for PlatformProperties by @palfrey in #2126
- Prepare
v0.8.0by @MarcusSorealheis in #2128
Full Changelog: v0.7.10...v0.8.0
v0.7.10
What's Changed
- Replace rustls-pemfile to fix RUSTSEC-2025-0134 by @palfrey in #2094
- chore(deps): update module golang.org/x/crypto to v0.45.0 [security] by @renovate[bot] in #2062
- Bugfix: reduce worker disconnect cascades by @MarcusSorealheis in #2093
- chore(deps): update actions/github-script action to v8 by @renovate[bot] in #2098
- chore(deps): update actions/checkout action to v6 by @renovate[bot] in #2085
- Eviction breaking side case fix for filesystem store by @palfrey in #2024
- chore(deps): update dependency abseil-cpp to v20250512 by @renovate[bot] in #2099
- Release NativeLink v0.7.10 by @MarcusSorealheis in #2102
Full Changelog: v0.7.9...v0.7.10
v0.7.9
What's Changed
- Add LazyNotFound Store Optimization, Support for fast_slow_store (S3, GCS slow_store targets) by @mkeen in #2072
- Build Custom Docker Image for each PR by @amankrx in #2084
- Implement remote execution metrics rebased by @MarcusSorealheis in #2080
- Fix the scheduler timeouts and errors by @amankrx in #2083
- Perf spike by @MarcusSorealheis in #2081
- Release Nativelink
v0.7.9by @MarcusSorealheis in #2088
New Contributors
Full Changelog: v0.7.8...v0.7.9
v0.7.8
This releases fixes the worker stalling issue. Also, we have made a couple of fixes to the redis store to improve it's stability and the overall scheduler stability.
🐛 Bug Fixes
- Use wildcard query when Redis index value is empty by @MarcusSorealheis (#2069)
- Fix assertion message for fastcdc by @YichiZhang0613 (#2056)
- Update the default max permits for redis by @amankrx (#2063)
- Prefix Redis index name and sort key by @MarcusSorealheis (#2066)
🧪 Testing & CI
⚙️ Miscellaneous
- (deps) Update dependency astro to v5.15.9 [security] (#2061)
- Recoverable connection pool by @MarcusSorealheis (#2067)
- Revert "bugfix: prefix Redis index name and sort key by @MarcusSorealheis ([#2066])" (#2068)
- Disable digest updates for renovate and Nix magic cache by @palfrey (#2059)
- Do not need to store zero-length filesystem files by @palfrey (#2033)
- Don't complain about worker stream error if we're shutting down by @palfrey (#2055)
⬆️ Bumps & Version Updates
- Fix the changelog post 0.7.7 by @palfrey (#2057)
- Release NativeLink v0.7.8 by @MarcusSorealheis (#2075)
New Contributors
- @YichiZhang0613 made their first contribution in #2056
Full Changelog: v0.7.7...v0.7.8
v0.7.7
This PR introduces improved logging and several scheduler fixes. If you encounter any scheduler-related issues, consider increasing the max_client_permits value in your Redis spec to a higher number (e.g., 500).
What's Changed
- Add periodic logging regarding scheduler job states by @palfrey in #2042
- chore(deps): update dependency astro to v5.15.6 [security] by @renovate[bot] in #2045
- fix(worker): Resolve deadlock due to file permit exhaustion (#2051) by @rogerwang in #2052
- Release NativeLink v0.7.7 by @MarcusSorealheis in #2053
New Contributors
- @rogerwang made their first contribution in #2052
Full Changelog: v0.7.6...v0.7.7