diff --git a/CHANGELOG.md b/CHANGELOG.md index d6c45a707..d7edf9351 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,17 @@ # Changelog +## radicle-httpd + radicle-search 0.27.0 + +- **Commit-count endpoint**: New `/repos/{rid}/stats/commits/{sha}` counts reachable commits from the commit-graph, avoiding the full history walk of `/stats/tree` +- **Diff-stats endpoint**: New `/repos/{rid}/diff/{base}/{oid}/stats` returns line counts without building hunks, 6–15x faster than `/diff`; it skips rename detection, so counts can differ slightly on renamed or copied files +- **Faster file browsing**: Blob requests no longer walk the whole history to find a file's last commit, which took seconds to minutes on large repositories +- **Repository reads off the async workers**: Synchronous libgit2 and COB reads run on the blocking pool, so one slow read no longer stalls queued requests +- **Repo aliases in the JSON and raw APIs**: `--alias` path segments resolve there too, not just on the git routes, and the repo endpoint exposes an optional `alias` field +- **Higher open-file limit**: Raised at startup, fixing spurious "missing object" errors in storage with thousands of packfiles +- **Empty job COBs excluded**: Job listings omit jobs with no runs +- **`RUST_LOG` in the default logger**: Honoured without the `logfmt` feature, defaulting to `info` +- Updated radicle crates, cargo dependencies and the Rust toolchain (1.97.1) + ## radicle-httpd + radicle-search 0.26.0 - **Repository search**: New optional `radicle-search` indexing daemon backs a `/repos/search?q=…` endpoint for typo-tolerant search over repo names and descriptions, plus faster `/repos?sort=activity|seeding` listings; httpd falls back to its built-in storage walk when the daemon is absent, so existing behavior is unchanged diff --git a/Cargo.lock b/Cargo.lock index d532cc937..ec8981205 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2433,7 +2433,7 @@ dependencies = [ [[package]] name = "radicle-httpd" -version = "0.26.0" +version = "0.27.0" dependencies = [ "anyhow", "axum", @@ -2511,7 +2511,7 @@ dependencies = [ [[package]] name = "radicle-search" -version = "0.26.0" +version = "0.27.0" dependencies = [ "anyhow", "chrono", diff --git a/crates/radicle-httpd/Cargo.toml b/crates/radicle-httpd/Cargo.toml index 7ffc3a99b..3cedac5c3 100644 --- a/crates/radicle-httpd/Cargo.toml +++ b/crates/radicle-httpd/Cargo.toml @@ -3,7 +3,7 @@ name = "radicle-httpd" description = "Radicle HTTP daemon" homepage.workspace = true license.workspace = true -version = "0.26.0" +version = "0.27.0" authors = ["cloudhead ", "sebastinez "] edition = "2021" default-run = "radicle-httpd" diff --git a/crates/radicle-search/Cargo.toml b/crates/radicle-search/Cargo.toml index 7645c596e..3d2330743 100644 --- a/crates/radicle-search/Cargo.toml +++ b/crates/radicle-search/Cargo.toml @@ -3,7 +3,7 @@ name = "radicle-search" description = "Optional search/index daemon for Radicle, alongside radicle-node and radicle-httpd" homepage.workspace = true license.workspace = true -version = "0.26.0" +version = "0.27.0" edition = "2024" default-run = "radicle-search"