diff --git a/Cargo.lock b/Cargo.lock index 552ca28e..2f32c339 100644 --- a/Cargo.lock +++ b/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", diff --git a/Cargo.toml b/Cargo.toml index 75e456b5..16c3bc78 100644 --- a/Cargo.toml +++ b/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" } diff --git a/crates/radicle/CHANGELOG.md b/crates/radicle/CHANGELOG.md index 3d5470ce..4e251568 100644 --- a/crates/radicle/CHANGELOG.md +++ b/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>` instead of - `Result, 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, 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 diff --git a/crates/radicle/Cargo.toml b/crates/radicle/Cargo.toml index 7ef04e98..dd32e771 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.20.0" +version = "0.21.0" authors = ["cloudhead "] edition.workspace = true rust-version.workspace = true