From 2707f6b4b106e40ee1d2fe84926f85d12d43e313 Mon Sep 17 00:00:00 2001 From: Fintan Halpenny Date: Wed, 6 May 2026 10:41:17 +0100 Subject: [PATCH] radicle: Release 0.24.0 --- Cargo.lock | 2 +- Cargo.toml | 2 +- crates/radicle/CHANGELOG.md | 56 ++++++++++++++++++++++++++++++++++--- crates/radicle/Cargo.toml | 2 +- 4 files changed, 55 insertions(+), 7 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 69532a57..b16f7647 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2976,7 +2976,7 @@ checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" [[package]] name = "radicle" -version = "0.23.0" +version = "0.24.0" dependencies = [ "amplify", "base64 0.21.7", diff --git a/Cargo.toml b/Cargo.toml index e186c32f..58963fcc 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -46,7 +46,7 @@ pretty_assertions = "1.3.0" proptest = "1.9" qcheck = { version = "1", default-features = false } qcheck-macros = { version = "1", default-features = false } -radicle = { version = "0.23", path = "crates/radicle" } +radicle = { version = "0.24", path = "crates/radicle" } radicle-cli = { version = "0.20", path = "crates/radicle-cli" } radicle-cli-test = { path = "crates/radicle-cli-test" } radicle-cob = { version = "0.19", path = "crates/radicle-cob" } diff --git a/crates/radicle/CHANGELOG.md b/crates/radicle/CHANGELOG.md index 77223d8b..08b1bb12 100644 --- a/crates/radicle/CHANGELOG.md +++ b/crates/radicle/CHANGELOG.md @@ -11,14 +11,62 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed -- To obtain the location of the control socket, do not use `Home::socket` - (which was removed), but instead choose `Home::socket_from_env` or - `Home::socket_default` depending on your use-case. - ### Removed ### Security +## 0.24.0 + +### Added + +- New public field `user_agent` on `radicle::node::config::Config`. + Struct-literal construction sites must include this field. +- New variants `CanonicalRefsError::Raw` and `ValidationError::Protected` + on existing exhaustive enums. Exhaustive `match` arms must add cases + for them. +- Two new trait methods on `WriteRepository` (also re-exported via + `radicle::prelude`): `set_head_to_default_branch` and + `set_default_branch_to_canonical_head`. Neither has a default + implementation, so downstream impls must provide both. + +### Changed + +- To obtain the location of the control socket, do not use `Home::socket` + (which was removed), but instead choose `Home::socket_from_env` or + `Home::socket_default` depending on your use-case. +- COB layer API refactor: + - The `Store` gained a new generic parameter, `Access`. This type parameter + describes the access type for the store, read-only or read-write. + These two modes are captured by `cob::store::access::ReadOnly` and + `cob::store::access::WriteAs`. + The `WriteAs` construction requires the signing and verifying key of the + local operator. This means that all methods that previously needed a + `Signer` as a parameter no longer need this parameter. + - Due to the above, all `Mut` stores, i.e., `IssueMut`, `PatchMut`, and + `IdentityMut`, now require a `Signer` generic parameter. All access stores, + i.e., `Issues`, `Patches`, and their `Cache` counterparts, all require an + `Access` generic parameter. + - `Store::update`, `Store::create`, `Store::remove`, and + `Issues::remove` now take `&mut self` instead of `&self`. +- `Issues::open` and `Patches::open` now require an `Access` parameter. +- `Identity::get_mut` and `Identity::load_mut` now require a `Signer` parameter. +- `Home::issues_mut` and `Home::patches_mut` now require a `Signer` parameter. +- `Transaction::initial`, and `Transaction::commit` now require a `Store` that + is `WriteAs`. + +### Removed + +- Profile-config types `radicle::profile::RawConfig` and + `radicle::profile::ConfigPath`. +- Canonical-rules types `radicle::git::canonical::rules::Pattern` and + `PatternError`, along with `Rules::iter` and `Rule::default_branch`. +- Methods `IdentityMut::reload` and `Home::socket`. +- Trait `radicle::identity::crefs::GetCanonicalRefs`. +- Enum variants `CanonicalRefsError::Json`, `ValidationError::RadRef`, + and `DefaultBranchRuleError::Pattern`. +- Trait method `WriteRepository::set_head` (superseded by the two new + trait methods listed under Added). + ## 0.23.0 ### Added diff --git a/crates/radicle/Cargo.toml b/crates/radicle/Cargo.toml index b94839de..b17466d9 100644 --- a/crates/radicle/Cargo.toml +++ b/crates/radicle/Cargo.toml @@ -4,7 +4,7 @@ description = "Radicle standard library" homepage.workspace = true repository.workspace = true license.workspace = true -version = "0.23.0" +version = "0.24.0" authors = ["cloudhead "] edition.workspace = true rust-version.workspace = true