r
Radicle
Git
The 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 -sSLf {{ site.url }}/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
---
title: "Radicle 1.1.0"
image: radicle-1.png
redirect_from: /2024/12/05/radicle-1.1.html
---
The 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](/download) section, or run the
following command from your terminal:
```
curl -sSLf {{ site.url }}/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](/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 migrate` command was added to migrate the collaborative objects
database.
* A new `--edit` flag was added to the `rad id update` command, to make changes
to an identity document from your editor.
* A new `--storage` flag was added to `rad patch cache` and `rad 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. See `rad 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 to `rad patch checkout` and `rad patch
set` to set the remote for those commands. Defaults to `rad`.
* 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 the `xyz.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.0 changelog.
* `70f0cc35` **cob: Fix `serde` instances for `ObjectId`** *<cloudhead@radicle.xyz>*
* `f58af8fe` **cli: Use `term::Table::header` where possible** *<lorenz@leutgeb.xyz>*
* `bcba8f5a` **scripts: Add `--from-version` to changelog script** *<cloudhead@radicle.xyz>*
* `47b20098` **cli: Fix `rad cob migrate` test** *<cloudhead@radicle.xyz>*
* `0ecdc764` **cli: Improve `rad node logs` error message** *<arnaud.bailly@iohk.io>*
* `3ad84420` **cli: Implement `rad cob migrate`** *<cloudhead@radicle.xyz>*
* `2d13591e` **radicle: Fix flaky test `counts_by_repo`** *<cloudhead@radicle.xyz>*
* `a7e96131` **radicle: add notification count grouped by repo** *<me@sebastinez.dev>*
* `259adf7d` **cob: mutable stable time for testing** *<fintan.halpenny@gmail.com>*
* `cab56c11` **helper: Use the correct head when merging a patch** *<cloudhead@radicle.xyz>*
* `91914d93` **radicle: improve quorum copy** *<fintan.halpenny@gmail.com>*
* `e412168b` **node: do not fail on `set_head`** *<fintan.halpenny@gmail.com>*
* `159d3fce` **dag: test contains** *<fintan.halpenny@gmail.com>*
* `6c8ee433` **radicle: Implement migration callback mechanism** *<cloudhead@radicle.xyz>*
* `08833985` **radicle: introduce identity document version** *<fintan.halpenny@gmail.com>*
* `ccc0297b` **cli: test deletion via `git push -d`** *<fintan.halpenny@gmail.com>*
* `43e08a8e` **cli: rad id update --edit** *<fintan.halpenny@gmail.com>*
* `c6d97579` **cli: verification of project for json errors only** *<fintan.halpenny@gmail.com>*
* `f9c35231` **e2e: improve flake in missing_delegate_default_branch** *<fintan.halpenny@gmail.com>*
* `0d402647` **term: allow Editor to be reusable** *<fintan.halpenny@gmail.com>*
* `23f8cf0d` **cli: Option for caching COBs for all repositories** *<fintan.halpenny@gmail.com>*
* `df44cee9` **cob: Add an experimental "job" COB** *<liw@liw.fi>*
* `eb095c10` **fetch: allow missing default branch** *<fintan.halpenny@gmail.com>*
* `f6aa46a2` **cli: Try to connect to seeds specified as options** *<cloudhead@radicle.xyz>*
* `11a6ec5d` **cob: Add logging to COB evaluation** *<cloudhead@radicle.xyz>*
* `0bb0fe8f` **cob: Fix compatibility with certain old patches** *<cloudhead@radicle.xyz>*
* `6dcfbfcd` **build: Separate release from upload** *<cloudhead@radicle.xyz>*
* `09f79623` **radicle: Compute root OID for older remotes** *<cloudhead@radicle.xyz>*
* `0c9a7419` **cli: Add config modification sub-commands** *<johannes.kuehlewindt@gmail.com>*
* `a838c3ea` **fmt: Run `cargo fmt`** *<cloudhead@radicle.xyz>*
* `b4f2614d` **cob: chronological ordering of concurrent values** *<fintan.halpenny@gmail.com>*
* `de1958fa` **radicle: refactor doc** *<fintan.halpenny@gmail.com>*
* `f83c1167` **radicle: Fix clippy warnings around `unwrap`** *<cloudhead@radicle.xyz>*
* `989edacd` **Include new `rad/root` in signed refs** *<cloudhead@radicle.xyz>*
* `24066c26` **radicle: Test the signed refs grafting attack** *<cloudhead@radicle.xyz>*
* `46c2637f` **radicle: add tags fetch refspec** *<fintan.halpenny@gmail.com>*
* `6763bf31` **helper: Don't require `GIT_DIR` for listing refs** *<cloudhead@radicle.xyz>*
* `855327d3` **cob: Change APIs to take URIs for embeds** *<cloudhead@radicle.xyz>*
* `034eb418` **node: Ensure private RIDs don't leak in gossip** *<cloudhead@radicle.xyz>*
* `3acdb17b` **cob: Fix patch review editing** *<cloudhead@radicle.xyz>*
* `729a6e05` **cobs: Fix COB drafts to work correctly** *<self@cloudhead.io>*
* `e130b4dc` **radicle: custom upstream remote for patches** *<fintan.halpenny@gmail.com>*
* `00639182` **docs: Add a note on running isolated nodes** *<liw@liw.fi>*
* `47842a81` **man: Mention `rad patch review`** *<lorenz@leutgeb.xyz>*
* `4b955fff` **nix: Fix macOS build** *<lorenz@leutgeb.xyz>*
* `f244d89e` **node: check policy before visibility** *<fintan.halpenny@gmail.com>*
* `1d57778f` **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
```