| + |
---
|
| + |
title: "Radicle 1.5.0 – Hibiscus 🌺"
|
| + |
image: radicle-1.png
|
| + |
---
|
| + |
|
| + |
The Radicle team is delighted to announce the release of Radicle 1.5.0 (5fea9ac0), code name *Hibiscus*.
|
| + |
The Hibiscus flower tends to bloom from late spring through autumn, and can be made into a nice warming tea.
|
| + |
So grab your cup and take a seat, while we walk through this 1.5.0 release.
|
| + |
|
| + |
This release consists of 74 commits from 7 contributors.
|
| + |
Thanks to the following contributors for their effort in making Radicle better:
|
| + |
- yorgos
|
| + |
- defelo
|
| + |
- Sebastian
|
| + |
- Matthias
|
| + |
|
| + |
## Installation
|
| + |
|
| + |
```
|
| + |
curl -sSf https://radicle.xyz/install | sh -s -- --no-modify-path --version=1.5.0
|
| + |
```
|
| + |
|
| + |
## Better Support for Bare Repositories
|
| + |
|
| + |
Some improvements to supporting bare repositories have been made for `rad` and
|
| + |
`git-remote-rad`. For `rad`, the `rad clone` command has learned a new flag
|
| + |
`--bare`, which clones the repository into a bare repository, as opposed to
|
| + |
having a working tree (see [gitrepository-layout](https://git-scm.com/docs/gitrepository-layout/2.49.0)).
|
| + |
|
| + |
`git-remote-rad` (our Git remote helper), also learned to better handle bare
|
| + |
repositories, when using `git push` and `git fetch` with a `rad://` remote.
|
| + |
|
| + |
For `jj` users, this begins to unlock being able to use `jj` without co-location
|
| + |
of the Git repository. Further improvements to interoperability with `jj` are
|
| + |
in progress and will be released in future versions.
|
| + |
|
| + |
## Introducing the `patch.branch` Option
|
| + |
|
| + |
Continuing on the theme of making `jj` users happy, `git-remote-rad` can now
|
| + |
handle the option `-o patch.branch[=<name>]`. When the option is passed without
|
| + |
a name, i.e. `-o patch.branch`, an upstream branch will be created which is
|
| + |
named after the patch being created – `patches/<PATCH ID>`. Alternatively, the
|
| + |
`<name>` value is used if supplied.
|
| + |
|
| + |
This allows you to specify if you want a tracking branch (or bookmark in `jj`)
|
| + |
for the patch. This means that you can avoid using `rad patch checkout`.
|
| + |
|
| + |
## Improved `rad patch show`
|
| + |
|
| + |
The `rad patch show` command has received some love by improving its output. The
|
| + |
`Base` of the patch is now always output, where before it was behind the
|
| + |
`--verbose` flag.
|
| + |
|
| + |
The previous output would differentiate "updates", where the original author
|
| + |
creates a new revision, and "revisions", where another author creates a
|
| + |
revision. This could be confusing since updates are also revisions. Instead, the
|
| + |
output shows a timeline of the root of the patch and each new revision, without
|
| + |
any differentiation. The revision identifiers, head commit of the revision, and
|
| + |
author are still printed as per usual.
|
| + |
|
| + |
## Structured Logging
|
| + |
|
| + |
The `radicle-node` has learned to output structure logging using the new
|
| + |
`--log-logger structured` and `--log-format json` option pairs. If they are not
|
| + |
specified, then the logging will remain the same as per usual.
|
| + |
|
| + |
## Deprecations in `rad`
|
| + |
|
| + |
It is important to note that we are now emitting deprecation and obsoletion
|
| + |
warnings for several `rad` commands and options.
|
| + |
|
| + |
For `rad diff`, the whole command is deprecated, and `git diff` should be used
|
| + |
instead. It is better to use the tools that already exist in this case.
|
| + |
|
| + |
The option `rad self --nid` was deprecated in favor of `rad node status --only nid`.
|
| + |
The reason for this is that we will be making efforts to separate the cryptographic
|
| + |
identity of user and node.
|
| + |
For this case, the node will – in a future version – read the location of the
|
| + |
secret key to use from configuration or arguments at runtime. This means that a
|
| + |
running node is required to report the correct Node ID – and the command cannot
|
| + |
rely on the default location, which is shared with the user.
|
| + |
|
| + |
The options `rad patch review [--patch | --delete]` are marked as obsolete,
|
| + |
since their functionality never worked as intended. Reviews are something that
|
| + |
requires more research and time to implement. These commands will likely be
|
| + |
removed before a next major release, since their lack of functionality is
|
| + |
confusing.
|
| + |
|
| + |
## Changelog
|
| + |
|
| + |
This release contains 74 commit(s) by 7 contributor(s).
|
| + |
|
| + |
* `5fea9ac05` **node: Add `--log-logger structured` and `--log-format json`** *<me@sebastinez.dev>*
|
| + |
* `e56311739` **node: Refactor logging initialization** *<lorenz.leutgeb@radicle.xyz>*
|
| + |
* `9793b4e7b` **systemd: Require Linux for journal module** *<yorgos.work@proton.me>*
|
| + |
* `e70850cb3` **remote-helper: Add patch.branch option** *<mail@defelo.de>*
|
| + |
* `6a43e83dd` **Release 1.3.1** *<fintan.halpenny@gmail.com>*
|
| + |
* `7b00bf2e3` **cli/patch/review: Obsoletion Warning** *<lorenz.leutgeb@radicle.xyz>*
|
| + |
* `8dd17e2a6` **cli/warning: Add `fn obsolete`** *<lorenz.leutgeb@radicle.xyz>*
|
| + |
* `7d1db6a01` **cli/diff: Deprecation Warning** *<lorenz.leutgeb@radicle.xyz>*
|
| + |
* `8558cc223` **cli/self: `--nid` deprecation warning to stderr** *<lorenz.leutgeb@radicle.xyz>*
|
| + |
* `3fb04623a` **cli/warning: Add `fn deprecate`** *<lorenz.leutgeb@radicle.xyz>*
|
| + |
* `2635562c9` **cli/node/status: Add `--only nid`** *<lorenz.leutgeb@radicle.xyz>*
|
| + |
* `8afd55ff6` **build: update release files location** *<fintan.halpenny@gmail.com>*
|
| + |
* `d2e10fdef` **cli/tests/commands: Clean up test `rad_patch`** *<erik@zirkular.io>*
|
| + |
* `19210faab` **protocol/service: Change `Routing table updated..` from info to debug** *<me@sebastinez.dev>*
|
| + |
* `86472fdcc` **remote-helper/fetch: Improve error handling** *<lorenz.leutgeb@radicle.xyz>*
|
| + |
* `f542df183` **radicle: Use `git fetch-pack` for "local fetch"** *<lorenz.leutgeb@radicle.xyz>*
|
| + |
* `20663a4e3` **remote-helper: Use `git send-pack` for "internal push"** *<lorenz.leutgeb@radicle.xyz>*
|
| + |
* `f9ff484c9` **cli: Make `rad patch show` prettier** *<lorenz.leutgeb@radicle.xyz>*
|
| + |
* `43246fe6c` **remote-helper: Parse base revision early** *<lorenz.leutgeb@radicle.xyz>*
|
| + |
* `ef2796186` **remote-helper: List `HEAD`** *<lorenz.leutgeb@radicle.xyz>*
|
| + |
* `101fbff80` **ci: Deny `cargo doc` warnings** *<erik@zirkular.io>*
|
| + |
* `14fcf5067` **docs: fix doc string linking** *<fintan.halpenny@gmail.com>*
|
| + |
* `ee9e6de5f` **remote-helper: Do not assume remote name** *<lorenz.leutgeb@radicle.xyz>*
|
| + |
* `6b9ff4f99` **cli/init: Allow `--setup-signing` with bare repos** *<lorenz.leutgeb@radicle.xyz>*
|
| + |
* `fd93240b9` **cli/git: Remove dead code `fn view_diff`** *<lorenz.leutgeb@radicle.xyz>*
|
| + |
* `86ea33b0c` **cli/clone: Add flag `--bare`** *<lorenz.leutgeb@radicle.xyz>*
|
| + |
* `766e281d3` **radicle: Allow creating bare clones** *<lorenz.leutgeb@radicle.xyz>*
|
| + |
* `e528c40a0` **radicle-cli: Test initializing from bare repos** *<lorenz.leutgeb@radicle.xyz>*
|
| + |
* `606882f01` **remote-helper: Simplify handling of `GIT_DIR`** *<lorenz.leutgeb@radicle.xyz>*
|
| + |
* `354565c57` **radicle: Handle `GIT_DIR` more uniformly** *<lorenz.leutgeb@radicle.xyz>*
|
| + |
* `4e6746796` **remote-helper: Refactor option handling** *<lorenz.leutgeb@radicle.xyz>*
|
| + |
* `876d22b07` **remote-helper: Remove unused push error variant** *<lorenz.leutgeb@radicle.xyz>*
|
| + |
* `550fcccc2` **remote-helper: Do not hard-code binary name** *<lorenz.leutgeb@radicle.xyz>*
|
| + |
* `897404164` **remote-helper: Make crate binary-only** *<lorenz.leutgeb@radicle.xyz>*
|
| + |
* `66adbffd6` **term: Use static template in spinner initialization** *<fintan.halpenny@gmail.com>*
|
| + |
* `8fc37e331` **term: Move to indicatif spinner** *<erik@zirkular.io>*
|
| + |
* `ee9ecfda7` **remote-helper: Remove `SyncWriter` in favor of `PaintTarget`** *<erik@zirkular.io>*
|
| + |
* `153a8f9fb` **node: Remove `SyncWriter` in favor of `PaintTarget`** *<erik@zirkular.io>*
|
| + |
* `11a109ef4` **term: Introduce `PaintTarget`** *<erik@zirkular.io>*
|
| + |
* `379037956` **remote-helper: Prevent doubly verifying each push** *<lorenz.leutgeb@radicle.xyz>*
|
| + |
* `a0f6cbf5f` **radicle: Move interpretation of output to binary** *<lorenz.leutgeb@radicle.xyz>*
|
| + |
* `0a8317c35` **remote-helper: Interpret verbosity option** *<lorenz.leutgeb@radicle.xyz>*
|
| + |
* `11e8b89b2` **radicle/src/git: additionally specify pruneTags for remote** *<fintan.halpenny@gmail.com>*
|
| + |
* `646d4360e` **cli/node: Replace manual pushing with Table::extend()** *<mail@beyermatthias.de>*
|
| + |
* `2f2823267` **cli/issue: Replace manual pushing with Table::extend()** *<mail@beyermatthias.de>*
|
| + |
* `8554e996b` **cli/diff: Replace manual pushing with Table::extend()** *<mail@beyermatthias.de>*
|
| + |
* `fbef60eed` **cli/sync: Replace manual pushing with Table::extend()** *<mail@beyermatthias.de>*
|
| + |
* `370ae3643` **cli/patch: Replace manual iterator partitioning with Itertools::partition_result()** *<mail@beyermatthias.de>*
|
| + |
* `3f489354b` **cli: Add itertools dependency** *<mail@beyermatthias.de>*
|
| + |
* `9c2f97abe` **cli/remote: Replace manual building table from iterator** *<mail@beyermatthias.de>*
|
| + |
* `4bd45cdab` **cli/inbox: Replace manual building table from iterator** *<mail@beyermatthias.de>*
|
| + |
* `016cab1db` **term/table: Add Table::with_opts() to set options after Table obj was constructed** *<mail@beyermatthias.de>*
|
| + |
* `fb458537b` **cli/patch: Replace manual building table from iterator** *<mail@beyermatthias.de>*
|
| + |
* `41a742ed9` **term/table: Add impl FromIterator for Table** *<mail@beyermatthias.de>*
|
| + |
* `ff021d588` **cli: Rewrite `#[path="…"]` module declarations** *<mail@beyermatthias.de>*
|
| + |
* `11fc98c9c` **term: Replace manual Extend impl for Table** *<mail@beyermatthias.de>*
|
| + |
* `f00d1d674` **cli/self: Stop printing information about the node** *<lorenz.leutgeb@radicle.xyz>*
|
| + |
* `e1af550a0` **cli/node: Print Node ID** *<lorenz.leutgeb@radicle.xyz>*
|
| + |
* `9b7529baa` **hooks: Filter for "radicle.{xyz,zulipchat.com}"** *<lorenz.leutgeb@radicle.xyz>*
|
| + |
* `b301fa6a0` **doc: Mention handling of "radicle.xyz"** *<lorenz.leutgeb@radicle.xyz>*
|
| + |
* `79505fa90` **radicle/test/fixtures: Use "radicle.xyz" as `const`** *<lorenz.leutgeb@radicle.xyz>*
|
| + |
* `1a3fda547` **radicle/explorer: Allow overriding default URL** *<lorenz.leutgeb@radicle.xyz>*
|
| + |
* `e2c476a38` **radicle/test: Don't hard-code "radicle.xyz"** *<lorenz.leutgeb@radicle.xyz>*
|
| + |
* `2127782b7` **term: Remove dependency on `anyhow`** *<lorenz.leutgeb@radicle.xyz>*
|
| + |
* `edd88a59b` **term: Remove `mod command`** *<lorenz.leutgeb@radicle.xyz>*
|
| + |
* `79d928551` **node: Remove dependency on `anyhow`** *<lorenz.leutgeb@radicle.xyz>*
|
| + |
* `4bf3ab6fb` **github/actions: Add a workflow to build** *<lorenz.leutgeb@radicle.xyz>*
|
| + |
* `55cdd880b` **radicle-term: Pass in `mut self` rather than rebinding** *<mail@beyermatthias.de>*
|
| + |
* `19c484e95` **radicle-term: Optimize impl of VStack::children()** *<mail@beyermatthias.de>*
|
| + |
* `93388e366` **radicle-term: Preallocate in Line::spaced()** *<mail@beyermatthias.de>*
|
| + |
* `3036509e4` **radicle-term: Add testcase for Line::spaced()** *<mail@beyermatthias.de>*
|
| + |
* `23b9d3063` **radicle: Remove unnecessary clone()** *<mail@beyermatthias.de>*
|
| + |
* `29a95fb1a` **radicle-fetch: Replace manual std::matches!() impl** *<mail@beyermatthias.de>*
|
| + |
* `ded0d19d5` **protocol/wire/test: Define `fn roundtrip` and macro** *<lorenz.leutgeb@radicle.xyz>*
|
| + |
|
| + |
## Checksums
|
| + |
|
| + |
```
|
| + |
d94e3b65d2585c7f7b5e31a5d55af8a7ff156cd4c45a7b728501e6f54353600e radicle-1.5.0-aarch64-apple-darwin.tar.xz
|
| + |
4c27f2428873d99532337991f977255aa4023beedd6d53178ce3abdc529df8dc radicle-1.5.0-aarch64-unknown-linux-musl.tar.xz
|
| + |
57523bc4ff575f2cdf94df3f4e3bf814cc46f2fd497fcfdd885e9bcdd7d4fb26 radicle-1.5.0-x86_64-apple-darwin.tar.xz
|
| + |
9c9277df40c0f144e0b5bcde9cfe2e81c0f8a1ee4f2cb9313ef942ab0c811022 radicle-1.5.0-x86_64-unknown-linux-musl.tar.xz
|
| + |
```
|