Radicle is a peer-to-peer, local-first code collaboration stack built on Git.
Radicle 1.1
05.12.2024The Radicle team is delighted to announce the release of Radicle 1.1. 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 release includes quality of life improvements, bug fixes, and a couple of new CLI commands.
CLI
- A new
rad cob migrate
command was added to migrate the collaborative objects database. - A new
--edit
flag was added to therad id update
command, to make changes to an identity document from your editor. - A new
--storage
flag was added torad patch cache
andrad issue cache
that operates on the entire storage, instead of a specific repository. - When fetching a repository with
--seed
specified 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 --help
for details. - Repositories are now initialized with a new refspec for the
rad
remote, that ensures that tags are properly namespaced under their remote. - A new
--remote <name>
flag was added torad patch checkout
andrad patch set
to set the remote for those commands. Defaults torad
. - The
RAD_PASSPHRASE
variable is now correctly treated as no passphrase when empty.
Git Remote Helper
- The
GIT_DIR
environment 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.edit
action to thexyz.radicle.patch
COB, 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/root
reference 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 changelog.
70f0cc35
cob: Fixserde
instances forObjectId
cloudhead@radicle.xyzf58af8fe
cli: Useterm::Table::header
where possible lorenz@leutgeb.xyzbcba8f5a
scripts: Add--from-version
to changelog script cloudhead@radicle.xyz47b20098
cli: Fixrad cob migrate
test cloudhead@radicle.xyz0ecdc764
cli: Improverad node logs
error message arnaud.bailly@iohk.io3ad84420
cli: Implementrad cob migrate
cloudhead@radicle.xyz2d13591e
radicle: Fix flaky testcounts_by_repo
cloudhead@radicle.xyza7e96131
radicle: add notification count grouped by repo me@sebastinez.dev259adf7d
cob: mutable stable time for testing fintan.halpenny@gmail.comcab56c11
helper: Use the correct head when merging a patch cloudhead@radicle.xyz91914d93
radicle: improve quorum copy fintan.halpenny@gmail.come412168b
node: do not fail onset_head
fintan.halpenny@gmail.com159d3fce
dag: test contains fintan.halpenny@gmail.com6c8ee433
radicle: Implement migration callback mechanism cloudhead@radicle.xyz08833985
radicle: introduce identity document version fintan.halpenny@gmail.comccc0297b
cli: test deletion viagit push -d
fintan.halpenny@gmail.com43e08a8e
cli: rad id update –edit fintan.halpenny@gmail.comc6d97579
cli: verification of project for json errors only fintan.halpenny@gmail.comf9c35231
e2e: improve flake in missing_delegate_default_branch fintan.halpenny@gmail.com0d402647
term: allow Editor to be reusable fintan.halpenny@gmail.com23f8cf0d
cli: Option for caching COBs for all repositories fintan.halpenny@gmail.comdf44cee9
cob: Add an experimental “job” COB liw@liw.fieb095c10
fetch: allow missing default branch fintan.halpenny@gmail.comf6aa46a2
cli: Try to connect to seeds specified as options cloudhead@radicle.xyz11a6ec5d
cob: Add logging to COB evaluation cloudhead@radicle.xyz0bb0fe8f
cob: Fix compatibility with certain old patches cloudhead@radicle.xyz6dcfbfcd
build: Separate release from upload cloudhead@radicle.xyz09f79623
radicle: Compute root OID for older remotes cloudhead@radicle.xyz0c9a7419
cli: Add config modification sub-commands johannes.kuehlewindt@gmail.coma838c3ea
fmt: Runcargo fmt
cloudhead@radicle.xyzb4f2614d
cob: chronological ordering of concurrent values fintan.halpenny@gmail.comde1958fa
radicle: refactor doc fintan.halpenny@gmail.comf83c1167
radicle: Fix clippy warnings aroundunwrap
cloudhead@radicle.xyz989edacd
Include newrad/root
in signed refs cloudhead@radicle.xyz24066c26
radicle: Test the signed refs grafting attack cloudhead@radicle.xyz46c2637f
radicle: add tags fetch refspec fintan.halpenny@gmail.com6763bf31
helper: Don’t requireGIT_DIR
for listing refs cloudhead@radicle.xyz855327d3
cob: Change APIs to take URIs for embeds cloudhead@radicle.xyz034eb418
node: Ensure private RIDs don’t leak in gossip cloudhead@radicle.xyz3acdb17b
cob: Fix patch review editing cloudhead@radicle.xyz729a6e05
cobs: Fix COB drafts to work correctly self@cloudhead.ioe130b4dc
radicle: custom upstream remote for patches fintan.halpenny@gmail.com00639182
docs: Add a note on running isolated nodes liw@liw.fi47842a81
man: Mentionrad patch review
lorenz@leutgeb.xyz4b955fff
nix: Fix macOS build lorenz@leutgeb.xyzf244d89e
node: check policy before visibility fintan.halpenny@gmail.com1d57778f
profile: 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
Follow us on 🐘 Mastodon, 🦋 Bluesky or 🐦 Twitter to stay updated.
Contribute to Radicle as a 🌱 seeder, 🧙 developer or by 🪞 mirroring your repositories on the Radicle network.
Join our community on 💬 Zulip and discuss your ideas to improve Radicle.