Cable 2025 retrospective

Whew! Almost it's almost 2026!

This year we've been quiet as a project. We are regular people volunteering behind the project and so life has a way of making itself known in various ways, causing periods of downtime and rest in the project. That said we have some fun news to share.

Cable in Erlang

Good friend of the project Cryptix has made a standalone implementation of the Cable protocol in Erlang! This includes both a node implementation and an early TUI client. Find it at the link below

https://git.sr.ht/~cryptix/caberl/

New website

Dialing back the history dial a bit, waay back in 2022 we were graced with an offer to work with an excellent design team on designing a new website for the project. This year we finally implemented it.

It's not launched yet on our main domain as some improvements remain to be done, but you can access a sneak peek of it below being hosted by Codeberg.

https://cabal.codeberg.page/

Many, many thanks to the team that helped with gorgeous illustrations, find ways of talking about the project, and arriving at a visual shape for the website. Thank you A. V. Bridgwood, Freya Morgan, and Eileen Wagner.

A big reason behind the delay was a desire to explore ways to make contributing to and updating of the website easier. Instead of the previous website's HTML source (which was somewhat fragile to update), there was a desire to explore a separation of content and templates, with content as markdown.

Using markdown means that the content needs a translation step of some kind. This implies either doing it in the browser (via javascript processing) or running the content and templates through a static site generator. Taking into consideration that we now have a protocol that can be implemented in any programming language ecosystem, cblgh felt that requiring installation of the nodejs ecosystem to update the website (common for many static site generator suites) was less desirable. He also wanted to make something with enough complexity to make the website output feel nice and modern while also not forcing visitors to enable javascript in the browser. This makes the website viewable in alternative terminal browsers and lets security-minded people read all of our documentation and specs without having to expose their system to runtime javascript. Another design constraint was to limit the overall complexity of the site generation, aiming to keep maintenance of the website stable and predictable over time.

This all took shape as a bespoke site generator whose program is vendored in the repository alongside the website's source content and tempolates. The program's executable, i.e. the same file, can run on Windows, Linux, OSX and across AMD64 and ARM architectures. You can find the website repository and some early instructions on how to build the website at: https://codeberg.org/cabal/website

Moving forges

You might've noticed that we've linked to repositories residing on both https://git.sr.ht and https://codeberg.org. This is part of a larger effort to move our projects away from Github and onto git forces more in line with our desire to enhance commons of all kinds, including digital communication commons that our project wants to help support and enable.

Cable nodejs

On the Cable implementation side of things, cblgh has been coming back to the nodejs implementation, wanting to brush it up so that it is ready for primetime. As part of this, a checklist has been created so as to communicate which parts of the Cable specification has been implemented and what remains to be done. The checklist is still a work in progress (it needs to be filled with the actual state of the nodejs implementation) but you can find that here:

https://github.com/cabal-club/cable-core.js/blob/implementation-status/implementation-status.html

Once it's been updated to match the current state, it will be merged into main.

We'd love to encourage other implementations to use the checklist as well, that would make it easier to understand which parts of implementations are interoperable and what parts of the spec seem to be harder to implement :)

Upcoming

For a final note on things yet to come, in early 2026, cblgh will be representing the project at the P2P Basel workshop! He'll be joining friends and colleagues in the space from projects like https://p2panda.org. Many of us attending are people who have been involved with developing, using, and exploring Secure Scuttlebutt (https://ssb.nz)

For 2026 we're looking forward to: