Overview
On-track for an internal Heartwood release in January.
- 50 PRs merged in
heartwoodandradicle-git. - 30 PRs merged on
radicle-interface.
Contributors
Web: @sebastinez, @rudolfs
Heartwood: @slackcoder, @dave, @fintohaps, @keepsimple,
@adaszko, @cloudhead, @jorge, @erikli, @dr_orlovsky, @sophia
Products
Web
- New custom router implementation
- Allows IPFS deployments using hash routing
- Markdown files can be switched between rendered and raw markdown
- Twemojis everywhere
- Code font switching
- Load time improvements via chunked loading
- More elaborate end-to-end testing with Playwright
CLI
- Most of
radicle-cliported to Heartwoodpatch,issue,init,auth,push,edit,ls, etc.
- Work
rad delegatefor managing project delegates
Technology
Collaborative Objects
- Port of collaborative objects backend to Heartwood (
heartwood/radicle-cob) - New Radicle CRDTs crate to replace Automerge (
heartwood/radicle-crdt)- Last-Write-Wins Set/Map
- Last-Write-Wins Register
- Redactable
- Min/Max
- Lamport clock
- Port of
PatchandIssueto Radicle CRDTs
Git
- Redesign of
radicle-surfpartly done- API and performance improvements
Research
- RIP 2: Storage Layout
- Currently in draft, being reviewed
- DID Keri
- Prototype of a potential identity system for Radicle
Seed Infrastructure
Node
- Noise XK handshake protocol implementation (integration in-progress)
- Basic sybil resistance via proof-of-work on node announcements
- Routing table pruning
- Reconnection logic
HTTP API
- Git & API merged into single HTTP daemon (
heartwood/radicle-httpd) - Git & API can both run on same port now
- Greatly simplifies deployment
Changes in our codebase
Before
radicle-link(deprecated)radicle-cli(deprecated)radicle-client-services(deprecated)radicle-keystore(deprecated)
After
heartwoodradicle-cli/(command-line interface)radicle-node/(peer-to-peer node)radicle-httpd/(git bridge & http api)radicle-ssh/(SSH-agent support)radicle-cob/(Collaborative objects backend)radicle-crdt/(Radicle CRDTs)radicle-crypto/(Crypto primitives)
radicle-git(generic git libraries)
Next
- Finalize node integration with Noise XK
- Finalize node integration with Tor, via SOCKS5
- Finalize surf redesign
- Port Dockerfiles to
heartwood, prepare for deployment