Radicle is a peer-to-peer, local-first code collaboration stack built on Git.
Radicle 1.1.0
05.12.2024The Radicle team is delighted to announce the release of Radicle 1.1.0. This release contains 47 commits by 8 contributors.
To upgrade or install, head to the download section, or run the following command from your terminal:
curl -sSf https://radicle.xyz/install | sh -s -- --version=1.1.0
Database migration
This release includes a migration of the COB database to version 2. The migration is run automatically when you start your node. If you’d like to run it manually, use:
rad cob migrate
Radicle HTTP Daemon
Seeders should upgrade their radicle-httpd installation to 0.18.0. Head
over to download to grab that.
What’s in the box 📦
The Radicle 1.1.0 release includes quality of life improvements, bug fixes, and a couple of new CLI commands.
CLI
- A new
rad cob migratecommand was added to migrate the collaborative objects database. - A new
--editflag was added to therad id updatecommand, to make changes to an identity document from your editor. - A new
--storageflag was added torad patch cacheandrad issue cachethat operates on the entire storage, instead of a specific repository. - When fetching a repository with
--seedspecified on the CLI, we now try to connect to the seed it if not already connected. - A new set of sub-commands were added to
rad config, for directly modifying the local Radicle configuration. Seerad config --helpfor details. - Repositories are now initialized with a new refspec for the
radremote, that ensures that tags are properly namespaced under their remote. - A new
--remote <name>flag was added torad patch checkoutandrad patch setto set the remote for those commands. Defaults torad. - The
RAD_PASSPHRASEvariable is now correctly treated as no passphrase when empty.
Git Remote Helper
- The
GIT_DIRenvironment variable is no longer required for listing refs via the remote helper. This means the commands can be run outside of a working copy. - Fixed a bug where the wrong commit was used in the Patch COB when merging
multiple patches with a single
git push, resulting in some merged patches showing as unmerged.
Collaborative Objects (COBs)
- Fixed compatibility with certain old patches that contained empty reviews.
- Added a new
review.editaction to thexyz.radicle.patchCOB, for editing reviews.
Node
- When fetching a repository, the fetch would fail if the canonical branch could not be established. This is no longer the case, allowing the user to handle the problem locally.
- When fetching a repository, we no longer fail a fetch from a peer that is missing a reference to the default branch.
- Private RIDs that could sometimes leak over the gossip protocol no longer do. Note that this only affected the identifiers, not any repository data.
Protocol
- A new
rad/rootreference is added to the list of signed references (rad/sigrefs). This prevents a possible reference grafting attack.
Changelog
Here is the full Radicle 1.1.0 changelog.
70f0cc35cob: Fixserdeinstances forObjectIdcloudhead@radicle.xyzf58af8fecli: Useterm::Table::headerwhere possible lorenz@leutgeb.xyzbcba8f5ascripts: Add--from-versionto changelog script cloudhead@radicle.xyz47b20098cli: Fixrad cob migratetest cloudhead@radicle.xyz0ecdc764cli: Improverad node logserror message arnaud.bailly@iohk.io3ad84420cli: Implementrad cob migratecloudhead@radicle.xyz2d13591eradicle: Fix flaky testcounts_by_repocloudhead@radicle.xyza7e96131radicle: add notification count grouped by repo me@sebastinez.dev259adf7dcob: mutable stable time for testing fintan.halpenny@gmail.comcab56c11helper: Use the correct head when merging a patch cloudhead@radicle.xyz91914d93radicle: improve quorum copy fintan.halpenny@gmail.come412168bnode: do not fail onset_headfintan.halpenny@gmail.com159d3fcedag: test contains fintan.halpenny@gmail.com6c8ee433radicle: Implement migration callback mechanism cloudhead@radicle.xyz08833985radicle: introduce identity document version fintan.halpenny@gmail.comccc0297bcli: test deletion viagit push -dfintan.halpenny@gmail.com43e08a8ecli: rad id update –edit fintan.halpenny@gmail.comc6d97579cli: verification of project for json errors only fintan.halpenny@gmail.comf9c35231e2e: improve flake in missing_delegate_default_branch fintan.halpenny@gmail.com0d402647term: allow Editor to be reusable fintan.halpenny@gmail.com23f8cf0dcli: Option for caching COBs for all repositories fintan.halpenny@gmail.comdf44cee9cob: Add an experimental “job” COB liw@liw.fieb095c10fetch: allow missing default branch fintan.halpenny@gmail.comf6aa46a2cli: Try to connect to seeds specified as options cloudhead@radicle.xyz11a6ec5dcob: Add logging to COB evaluation cloudhead@radicle.xyz0bb0fe8fcob: Fix compatibility with certain old patches cloudhead@radicle.xyz6dcfbfcdbuild: Separate release from upload cloudhead@radicle.xyz09f79623radicle: Compute root OID for older remotes cloudhead@radicle.xyz0c9a7419cli: Add config modification sub-commands johannes.kuehlewindt@gmail.coma838c3eafmt: Runcargo fmtcloudhead@radicle.xyzb4f2614dcob: chronological ordering of concurrent values fintan.halpenny@gmail.comde1958faradicle: refactor doc fintan.halpenny@gmail.comf83c1167radicle: Fix clippy warnings aroundunwrapcloudhead@radicle.xyz989edacdInclude newrad/rootin signed refs cloudhead@radicle.xyz24066c26radicle: Test the signed refs grafting attack cloudhead@radicle.xyz46c2637fradicle: add tags fetch refspec fintan.halpenny@gmail.com6763bf31helper: Don’t requireGIT_DIRfor listing refs cloudhead@radicle.xyz855327d3cob: Change APIs to take URIs for embeds cloudhead@radicle.xyz034eb418node: Ensure private RIDs don’t leak in gossip cloudhead@radicle.xyz3acdb17bcob: Fix patch review editing cloudhead@radicle.xyz729a6e05cobs: Fix COB drafts to work correctly self@cloudhead.ioe130b4dcradicle: custom upstream remote for patches fintan.halpenny@gmail.com00639182docs: Add a note on running isolated nodes liw@liw.fi47842a81man: Mentionrad patch reviewlorenz@leutgeb.xyz4b955fffnix: Fix macOS build lorenz@leutgeb.xyzf244d89enode: check policy before visibility fintan.halpenny@gmail.com1d57778fprofile: Treat empty passphrase as no passphrase lorenz@leutgeb.xyz
Checksums
7653fbd51fd1fdfc79a3ebd2716c7111437012c2b36d591f7c46347cee55330e radicle-1.1.0-aarch64-unknown-linux-musl.tar.xz
6cd27335df663e5a2dd1c2182986564e399fd5dbad48fefbd0a78061a6a9839d radicle-1.1.0-x86_64-apple-darwin.tar.xz
bca3b83e7c50b2e0d3970194af2b49cf57e685615b594841f92ef92eb0acf930 radicle-1.1.0-x86_64-unknown-linux-musl.tar.xz
d7a791bf1d7906773629cf99572ac723d54d66bdf15ac0b247636104a5ff7c4a radicle-1.1.0-aarch64-apple-darwin.tar.xz