Radish alpha
h
Radicle Heartwood Protocol & Stack
Radicle
Git (anonymous pull)
Log in to clone via SSH
radicle: Release 0.24.0
Fintan Halpenny committed 2 days ago
commit ab2e75933a0da8f49a9721324613829ef27d8805
parent c6a012f5cfd014f3f91788326498b80f76d39adb
4 files changed +52 -4
modified 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",
modified 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" }
modified crates/radicle/CHANGELOG.md
@@ -11,13 +11,61 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### Changed

+
### 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

-
### Security
+
- 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

modified 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 <cloudhead@radicle.xyz>"]
edition.workspace = true
rust-version.workspace = true