6.4 KiB
6.4 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
Added
- SQLite configuration is modeled as
radicle::node::db::config::Configand can be configured viaradicle::profile::config::Config. The two pragmasjournal_modeandsynchronousare exposed this way.
Changed
Removed
Security
0.21.0
Added
radicle::node::command::Commandadded variantsAnnounceRefsFor,SeedsFor, andBlock.radicle::cob::identity::ApplyErrornow contains a new variantNonDelegateUnauthorized.radicle::node::Handleadded ablockmethod to allow setting the follow policy toPolicy::Block.radicle::node::Handle::announce_refs_fornow allows specifying for which namespaces changes should be announced. A corresponding enum variantradicle::node::Command::AnnounceRefsForis added.radicle::node::Handle::seeds_fornow allows specifying for which namespaces sync status should be reported. A corresponding enum variantradicle::node::Command::SeedsForis added.
Changed
- The discriminant values for
radicle::node::command::Commandhave changed. radicle::rad::CheckoutErroris now marked asnon_exhaustive.radicle::storage::git::Storage::repositories_by_idreturnsimpl Iterator<Item = Result<RepositoryInfo, RepositoryError>>instead ofResult<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::announcenow takes an additional parameter to specify for which namespaces changes should be announced.- Re-exports from
git2atradicle::git::rawwere limited, using the heartwood workspace as a filter. Dependents that require members that are not exported anymore will have to depend ongit2directly. - Some re-exports from
git-ref-format-corewere moved fromradicle::gittoradicle::fmt. - The crate now re-exports
radicle::git::Oidfrom a newradicle-oidcrate, in an effort to decrease dependence ongit2viaradicle-git-ext. This new object identifier type does not implementDerefanymore. UseIntoto convert to agit2::Oidas necessary. - Re-exports of
radicle-git-extwere removed, as this dependency is removed. Instead ofradicle_git_ext::Error, usegit2::Error(re-exported asradicle::git::raw::Error) together with the new extension traitradicle::git::raw::ErrorExt.
Deprecated
radicle::node::Handle::announce_refsis deprecated in favor ofradicle::node::Handle::announce_refs_for.radicle::node::Handle::seedsis deprecated in favor ofradicle::node::Handle::seeds_for.
Removed
radicle::storage::RepositoryError::GitExtwas removed as a variant, whereRepositoryError::Gitnow subsumes all Git errors.radicle::identity::doc::DocError::GitExtwas removed as a variant, whereDocError::Gitnow subsumes all Git errors.radicle::storage::refs::Error::GitExtwas removed as a variant, whereError::Gitnow subsumes all Git errors.radicle::cob::identity::ApplyError::GitExtwas removed as a variant, whereApplyError::Gitnow subsumes all Git errors.radicle::storage::Error::GitExtwas removed as a variant, whereError::Gitnow subsumes all Git errors.radicle::storage::git::cob::ObjectsError::GitExtwas removed as a variant, whereObjectsError::Gitnow subsumes all Git errors.radicle::git::canonical::rules::CanonicalError::Referenceswas removed as a variant, as it no longer occurs as an error.- The
radicle::node::State::Connectedvariant no longer has afetchingfield. Fetching information is now tracked in the service. - The data returned by
Seedscontainsstate, which in turn contained the fieldfetchingfor ongoing fetches of that node, if in theConnectedstate.Connectedno longer contains that field. radicle::identity::doc::RepoIdwas removed, along with its re-exports atradicle::identity::RepoIdandradicle::prelude::RepoId. The type is now provided by theradicle-corecrate.radicle::identity::doc::IdErrorwas removed, along with its re-export atradicle::identity::IdError.radicle::identity::doc::id::RAD_PREFIXconstant was removed.radicle::identity::doc::VersionError::UnkownVersionvariant was renamed toUnknownVersion, correcting the typo. The typo has been corrected toUnknownVersion.radicle::storage::git::RefErrorwas removed.radicle::storage::git::UserInfowas removed.radicle::storage::git::NAMESPACES_GLOB,radicle::storage::git::CANONICAL_IDENTITY, andradicle::storage::git::SIGREFS_GLOBstatic variables were removed.radicle::storage::git::trailers::SIGNATURE_TRAILERconstant was removed.- The
radicle::serde_ext::localtimemodule and its submodules (time,option::time,duration) were removed, including all associated serialize/deserialize functions. Theradicle-localtimecrate is introduced and provides these helpers. - The
radicle::schemars_ext::cryptomodule was removed, including thePublicKeyschema type. The schema is now provided byradicle-crypto. - The test storage modules under
radicle::test::storage::gitand 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
- Introduce a node event for canonical reference updates,
Event::CanonicalRefUpdated. Whenever the node fetches new updates, it checks if canonical references can be updated. The node has learned how to return these results and emit them as node events. This is a breaking change since it adds a new variant theEventtype. - Add
#[non_exhaustive]toEventto prevent any further breaking changes when adding new variants.
Changed
radicle::profile::Home::socketdefaults to the path\\.\pipe\radicle-nodeon Windows. The behavior on Unix-like systems has not changed.
Removed
radicle::node::DEFAULT_SOCKET_NAME, useradicle::profile::Home::socketinstead.