Radish alpha
h
rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5
Radicle Heartwood Protocol & Stack
Radicle
Git
radicle: Update to 0.21.0
Fintan Halpenny committed 2 months ago
commit 3a11074600bf87c51a81145ce420d9a247ab521d
parent 1566646
4 files changed +66 -6
modified Cargo.lock
@@ -2886,7 +2886,7 @@ checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f"

[[package]]
name = "radicle"
-
version = "0.20.0"
+
version = "0.21.0"
dependencies = [
 "amplify",
 "base64 0.21.7",
modified Cargo.toml
@@ -43,7 +43,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.20", path = "crates/radicle" }
+
radicle = { version = "0.21", path = "crates/radicle" }
radicle-cli = { version = "0.17", path = "crates/radicle-cli" }
radicle-cli-test = { path = "crates/radicle-cli-test" }
radicle-cob = { version = "0.17", path = "crates/radicle-cob" }
modified crates/radicle/CHANGELOG.md
@@ -9,6 +9,20 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### Added

+
### Changed
+

+
### Removed
+

+
### Security
+

+
## 0.21.0
+

+
### Added
+

+
- `radicle::node::command::Command` added variants `AnnounceRefsFor`,
+
  `SeedsFor`, and `Block`.
+
- `radicle::cob::identity::ApplyError` now contains a new variant
+
  `NonDelegateUnauthorized`.
- `radicle::node::Handle` added a `block` method to allow setting the follow
  policy to `Policy::Block`.
- `radicle::node::Handle::announce_refs_for` now allows specifying for which
@@ -20,11 +34,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### Changed

+
- The discriminant values for `radicle::node::command::Command` have changed.
+
- `radicle::rad::CheckoutError` is now marked as `non_exhaustive`.
- `radicle::storage::git::Storage::repositories_by_id` returns
  `impl Iterator<Item = Result<RepositoryInfo, RepositoryError>>` instead of
-
  `Result<Vec<RepositoryInfo>, RepositoryError>`. Allowing callers to handle
-
  failures on a per-repository basis rather than having the entire operation
-
  fail if a single repository lookup fails.
+
  `Result<Vec<RepositoryInfo>, RepositoryError>`. The method now also requires
+
  one generic type parameter. Allowing callers to handle failures on a
+
  per-repository basis rather than having the entire operation fail if a single
+
  repository lookup fails.
+
- `radicle::node::Node::announce` now takes an additional parameter to specify
+
  for which namespaces changes should be announced.
- Re-exports from `git2` at `radicle::git::raw` were limited, using
  the heartwood workspace as a filter. Dependents that require members that
  are not exported anymore will have to depend on `git2` directly.
@@ -48,12 +67,53 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### Removed

+
- `radicle::storage::RepositoryError::GitExt` was removed as a variant, where
+
  `RepositoryError::Git` now subsumes all Git errors.
+
- `radicle::identity::doc::DocError::GitExt` was removed as a variant, where
+
  `DocError::Git` now subsumes all Git errors.
+
- `radicle::storage::refs::Error::GitExt` was removed as a variant, where
+
  `Error::Git` now subsumes all Git errors.
+
- `radicle::cob::identity::ApplyError::GitExt` was removed as a variant, where
+
  `ApplyError::Git` now subsumes all Git errors.
+
- `radicle::storage::Error::GitExt` was removed as a variant, where
+
  `Error::Git` now subsumes all Git errors.
+
- `radicle::storage::git::cob::ObjectsError::GitExt` was removed as a variant,
+
  where `ObjectsError::Git` now subsumes all Git errors.
+
- `radicle::git::canonical::rules::CanonicalError::References` was removed as a
+
  variant, as it no longer occurs as an error.
+
- The `radicle::node::State::Connected` variant no longer has a `fetching`
+
  field. Fetching information is now tracked in the service.
- The data returned by `Seeds` contains `state`, which in turn contained the
  field `fetching` for ongoing fetches of that node, if in the `Connected`
  state. `Connected` no longer contains that field.
+
- `radicle::identity::doc::RepoId` was removed, along with its re-exports at
+
  `radicle::identity::RepoId` and `radicle::prelude::RepoId`. The type is now
+
  provided by the `radicle-core` crate.
+
- `radicle::identity::doc::IdError` was removed, along with its re-export at
+
  `radicle::identity::IdError`.
+
- `radicle::identity::doc::id::RAD_PREFIX` constant was removed.
+
- `radicle::identity::doc::VersionError::UnkownVersion` variant was renamed to
+
  `UnknownVersion`, correcting the typo.
+
  The typo has been corrected to `UnknownVersion`.
+
- `radicle::storage::git::RefError` was removed.
+
- `radicle::storage::git::UserInfo` was removed.
+
- `radicle::storage::git::NAMESPACES_GLOB`, `radicle::storage::git::CANONICAL_IDENTITY`,
+
  and `radicle::storage::git::SIGREFS_GLOB` static variables were removed.
+
- `radicle::storage::git::trailers::SIGNATURE_TRAILER` constant was removed.
+
- The `radicle::serde_ext::localtime` module and its submodules (`time`,
+
  `option::time`, `duration`) were removed, including all associated
+
  serialize/deserialize functions. The `radicle-localtime` crate is introduced
+
  and provides these helpers.
+
- The `radicle::schemars_ext::crypto` module was removed, including the
+
  `PublicKey` schema type. The schema is now provided by `radicle-crypto`.
+
- The test storage modules under `radicle::test::storage::git` and their
+
  submodules (`transport`, `cob`, `trailers`, `paths`, `temp`) were removed
+
  from the public API, along with all associated types, traits, and functions.

### Security

+
*No security updates.*
+

## 0.20.0

### Added
modified crates/radicle/Cargo.toml
@@ -4,7 +4,7 @@ description = "Radicle standard library"
homepage.workspace = true
repository.workspace = true
license.workspace = true
-
version = "0.20.0"
+
version = "0.21.0"
authors = ["cloudhead <cloudhead@radicle.xyz>"]
edition.workspace = true
rust-version.workspace = true