Skip to content

v0.8.0 Release

Choose a tag to compare

@github-actions github-actions released this 17 Jul 12:14
· 204 commits to master since this release

Highlights

  • Concurrent chunked NAR transfer: NAR files are now fetched through multiple concurrent connections. This feature is enabled by default and transparently falls back to single-connection transfer for servers that do not support range requests. Credits to @mio-19 for the idea.
  • Status dashboard: The proxy's web interface now displays a live dashboard showing substituter availability, cache statistics, and current configuration.
  • Earlier substituter fallback: NAR file streaming now detects unavailable substituters sooner and falls back to alternatives without waiting for timeouts.

New Features

  • Added concurrent chunked NAR file transfer, enabled by default. Configurable via network.chunked_streaming, network.streaming_chunk_max_len, and network.streaming_window_max_len.
  • Added a dynamic status dashboard at the proxy's root URL.

Improvements

  • NAR file streaming falls back to alternative substituters earlier when the selected substituter becomes unavailable.

What's Changed

  • chore(deps): bump Rust dependency anyhow to 1.0.103 by @renovate[bot] in #79
  • chore(deps): bump Rust dependency arc-swap to 1.9.2 by @renovate[bot] in #80
  • feat(frontend): add dynamic status dashboard by @XYenon in #81
  • chore(deps): bump Rust dependency serde_json to 1.0.150 by @renovate[bot] in #82
  • Polish dashboard UI by @StarryReverie in #84
  • Deprecate build support by garnix by @StarryReverie in #85
  • Fallback earlier when streaming NAR file if selected substituter is already unavailable by @StarryReverie in #86
  • chore(deps): bump Rust dependency bytes to 1.12.1 by @renovate[bot] in #87
  • Refactor by extracting streaming client to subcrate by @StarryReverie in #88
  • Add concurrent chunked NAR file transfer by @StarryReverie in #89
  • Update flake inputs and bump Rust toolchain version to 1.96.1 by @StarryReverie in #90
  • Revert "chore: update flake inputs and bump Rust toolchain version to 1.96.1" by @StarryReverie in #91
  • Add configuration items for chunked NAR streaming by @StarryReverie in #92
  • chore(deps): bump Rust dependency toml to 1.1.3 by @renovate[bot] in #93
  • Enable all testcases from all crates in the workspace by @StarryReverie in #94
  • Add CONTRIBUTING.md, architecture, and conventions documentations by @StarryReverie in #96
  • chore(deps): bump Rust dependency which to 8.0.5 by @renovate[bot] in #95
  • chore(deps): bump Rust dependency clap to 4.6.2 by @renovate[bot] in #97
  • Refactor by unifying error handling and re-designing API by @StarryReverie in #100
  • chore(deps): bump Rust dependency tokio to 1.53.0 by @renovate[bot] in #98

Full Changelog: v0.7.0...v0.8.0