Radish alpha
h
Radicle Heartwood Protocol & Stack
Radicle
Git (anonymous pull)
Log in to clone via SSH
REVIEW
✗ CI failure Fintan Halpenny committed 7 months ago
commit bdb6edfb47881832e1e68e9ba32dd160743daa01
parent 5bbc5104e5c0e470b33b6a3ec1238f807cb6fa75
2 failed 1 pending (3 total) View logs
1 file changed +35 -14
modified CHANGELOG.md
@@ -38,33 +38,54 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## Release Highlights

-
#### systemd service hardening
+
### systemd service hardening

-
Running `radicle-node` as systemd service using our service files, will now run the service with some hardening options enabled. This work includes some trivial sandboxing options in the provided service files and lead users to `systemd-analyze security`.
+
Running `radicle-node` as systemd service using our service files, will now run the service with some hardening options enabled.
+
This work includes some trivial sandboxing options in the provided service files and lead users to `systemd-analyze security`.

While being a trivial change and far from a secure service it is an improvement and may push downstream packagers and / or users to add even a bit of sandboxing.

### Path to Windows

-
We continued working on Windows support for Radicle and made some progress on the node implimentation. As `std::os::unix` is obviously not available on Windows, resort to the `winpipe` crate, which implements a very similar API for named pipes. We now use `winpipe` to implement the node's control socket on Windows.
+
We continued working on Windows support for Radicle and made some progress on the node implementation.
+
As `std::os::unix` is obviously not available on Windows, we resorted to using the `winpipe` crate.
+
This crate implements a very similar API to `std::os::unix` but for named pipes.
+
The node has learned how to use named pipes when for the control socket when on Windows architecture.

-
#### Bootstrapping improvements
+
### Bootstrapping Improvements

-
When you start a fresh node, it'll need to have at least one seed that it can bootstrap from. We do this by using `iris.radicle.xyz` and `rosa.radicle.xyz` as bootstrap nodes. With this release, a node can now connect to them when DNS is not available or a connection via Tor is desired.
+
When you start a fresh node, it'll need to have at least one seed that it can bootstrap from.
+
We do this by using `iris.radicle.xyz` and `rosa.radicle.xyz` as bootstrap nodes.
+
With this release, a node can now connect to them when DNS is not available or a connection via Tor is desired.

-
## Deprecations
+
### Improvements to `rad cob log`

-
## New Features
+
The rad cob log command learned two new options, `--from` and `--to`.
+
These take a commit SHA that correspond to a COB operation,
+
and allows you to limit the log to start from or end the log at those operations, respectively.

-
### CLI
+
### Improvements to rad sync

-
- All commands now use verbose printing of authors
-
- In case of a panic, a human-friendly message is printed
-
- `rad sync status` and `rad node status` now use a table style that is more narrow
-
- `rad cob log` now supports the arguments `--from` and `--to` which can be used
-
  to range over particular operations on a COB.
+
We now use a more suitable symbol in rad sync status for the status:

-
#### Library
+
✗ Hint:
+
   ? … Status:
+
       ✓ … in sync          ✗ … out of sync
+
       ! … not announced    • … unknown
+

+
This aligns closer with the rad node status output. As well as this,
+
the Tip column was renamed to SigRefs, since the term Tip was too ambiguous.
+

+
The internal logic of rad sync --announce was improved by writing more tests and finding edge cases to fix.
+
Included in these improvements is changing the target behavior.
+
Before, the announcements would attempt to reach the preferred seeds target and the replication factor.
+
Now, it tries to reach the preferred seeds and falls back to the replication factor.
+

+
### Human Oriented Panics
+

+
The `rad` CLI now prints a more human-friendly message when it encounters a panic.
+

+
### Notable Crate Changes

- Introduce a new module that provides an API for iterating over a COB's operations, given a range of commits
- Remove `anyhow` from `radicle-term` and `radicle-node`