Radicle 1.3.0
Radicle 1.3.0

原始链接: https://radicle.xyz/2025/08/12/radicle-1.3.0

## Radicle 1.3.0 版本概要 Radicle 1.3.0 于 2025 年 8 月 12 日发布,为基于 Git 构建的对等代码协作堆栈带来了显著改进。一个关键特性是**规范引用规则**,允许通过身份载荷控制对仓库的受信任更新。这些规则定义了哪些身份有权向特定分支或标签推送更改。 此版本还为未来的开发奠定了基础,引入了 `radicle-protocol`,一个新的 crate 包含 Radicle 协议的核心逻辑 – 现在使用 `bytes` crate。值得注意的是,`rad` CLI 现在提供了初步的 **Windows 支持**,但完全支持仍需要在 `git-remote-rad` 和 `radicle-node` 上进行进一步工作。 其他改进包括增强的 **日志轮换** 功能,更清晰的 **Node ID 显示**,**固定仓库** 的稳定排序,放宽了 `git-remote-rad` 的推送要求,以及改进了连接尝试的错误处理。`rad init` 命令现在可以智能地设置默认初始分支。 该版本适用于多个平台 – 请参阅原始发行说明中的校验和以获取下载链接。

## Radicle 1.3.0 Hacker News 讨论 最近 Hacker News 上出现了一场关于 Radicle 的讨论,Radicle 是一个点对点 (P2P) Git 平台。用户正在探讨它在项目中的可行性,特别是对于有外部贡献者的项目。一个关键点是,Radicle *确实*支持私有仓库,尽管最初存在其他假设。 对话涉及 P2P 平台面临的采用挑战,一些人认为 GitHub 的变化可能会推动兴趣。另一些人建议 Radicle 专注于成为 crates.io 等包注册表的去中心化替代方案,解决 Rust 对微软的依赖。 用户对它与标准 Git 的不同之处感到好奇——它本质上使用 Git,并使用特殊的远程仓库进行 P2P 同步,以及用于 issue 和 pull request 的 CLI。期望的功能包括 Jujitsu 支持(已确认可用)、IDE 插件和更强大的代码库。最近的进展包括无需 WSL 的 Windows 支持,这是之前缺失的功能。
相关文章

原文

Radicle is a peer-to-peer, local-first code collaboration stack built on Git.


12.08.2025

The Radicle team is delighted to announce the release of Radicle 1.3.0 (29043134a). This release contains 48 commits by 7 contributors. We would like to thank everyone for their continued effort in helping us improve the Radicle protocol and tooling via their contributions and usage reports 👾

Installation

curl -sSf https://radicle.xyz/install | sh -s -- --no-modify-path --version=1.3.0

Canonical References

This feature has been under way for quite some time, and we are proud to announce that it’s ready for you to use!

Canonical reference rules have been introduced via an identity payload entry under the identifier xyz.radicle.crefs. Here’s an example of the payload that includes a single rule for tags that live under refs/tags/releases/*:

"xyz.radicle.crefs": {
  "rules": {
    "refs/tags/releases/*": {
      "allow": [
        "did:key:z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz",
        "did:key:z6MkgFq6z5fkF2hioLLSNu1zP2qEL1aHXHZzGH1FLFGAnBGz",
        "did:key:z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM"
      ],
      "threshold": 2
    }
  }
}

The canonical reference rules are now used to check for canonical updates. The rule for the defaultBranch of an xyz.radicle.project is synthesized from the identity document fields: threshold and delegates. This means that a rule for that reference is not allowed within the rule set. This is checked when performing a rad id update.

For a more detailed history and usage of canonical references, check out the accompanying post.

Introducing radicle-protocol

This set of changes is mostly cosmetic for the time being. A new crate, radicle-protocol, was introduced to provide a home for a sans I/O implementation of the Radicle protocol. The crate currently defines the inner workings of the protocol, and radicle-node depends on this.

Note here that we switched to use the bytes crate, and we witnessed a panic from this crate while using a pre-release. It has not showed up again, but we introduced the use of backtraces to help identify the issue further. So, please report a backtrace if the radicle-node stops due to this issue.

Path to Windows

We made an effort to start paving some of the way to being able to use Radicle on Windows. The first step was taken for this, and you can now use the rad CLI on a Windows machine – without WSL.

Currently, git-remote-rad and radicle-node are blockers for full Windows support. However, the sans I/O approach mentioned above will provide a way forward for implementing a radicle-node that works on Windows, and we will continue to look into other fixes required for getting full Windows support.

Improved Log Rotation

The rotation of logs under .radicle/node now works using a numbered system, i.e. node.log.1, node.log.2, etc. The current running node will log to node.log, which is a symlink to most recent number.

This means that logs will be persisted between runs, which will require occasional cleanup.

Display Full Node ID

We have improved the formatting for Node IDs and node addresses. The CLI will output shortened forms of NIDs and addresses when the output is transient, and the full form where it is presented to the user. This will allow you to be able to copy and paste these identifiers.

Stable Order for Pinned Repositories

The pinned repositories now maintain their insertion order, meaning that they should not be reordered by any other factors other than the user’s decision on which repositories should appear first.

Relax Pushes for git-remote-rad

The git-remote-rad would always expect a working copy and a reference when performing pushes. These constraints are relaxed to allow a bare Git repository and any kind of Git revision. This should improve the experience for users of jj.

Connect Attempts will Error

If a connection attempt would not happen due to an error, the result of the error was never returned. This would often lead to timeouts when using rad node connect. We now return the error and can report it instead of waiting for a timeout.

Default Branch Picker

When running rad init the default value for the defaultBranch of the repository is now by provided the branch you are on or the Git configuration option init.defaultBranch.

Changelog

For a full list of changes, see below:

Checksums

f09b4203a47611e1e6a78ea9087b5cae2f94cacc649ed195840a0869d821c861  radicle-1.3.0-x86_64-apple-darwin.tar.xz
a25c67276a86c9fbadadbacbd2ea9763202e99701aa85cf7fe5815662696988d  radicle-1.3.0-x86_64-unknown-linux-musl.tar.xz
3a615bb99bc998b3fca5ad8582599c8dfb3cffb0beec291f5939d4b559270227  radicle-1.3.0-aarch64-unknown-linux-musl.tar.xz
7939e1d1bce232730843d8975f205558b0885479c6666b630abb1500b67756db  radicle-1.3.0-aarch64-apple-darwin.tar.xz
联系我们 contact @ memedata.com