Today, we are introducing Citadel 0.2.9, which is the last milestone before 0.3.
Before we start on what’s new, I want to talk about the history of Citadel.
I started Citadel over two years ago after leaving Umbrel. The goal was to build an easy-to-use, FOSS Bitcoin node management software with Lightning capabilities.
Over the past 2 years, I failed at that. The user experience has been terrible for many users, and there have been many bugs. I am slow to respond to support questions.
When I was contributing to Umbrel, I enjoyed providing support for users (unless there were too many annoying questions like “Why is my wallet not filling itself?”). But there were other developers helping with that.
But today, I have a lot of questions and am the only one responding to them. Most of them relate to bugs in Citadel, so there’s a lot to work on.
For the first year of building Citadel, I had a very bad testing and development setup, and I was not able to purchase better hardware. My financial situation has improved now, and I’ve been earning some money from Bug Bounty programs. Because of this, I can now much better test and develop new releases.
However, with the past releases, I was no longer able to adequately address all questions and feedback. Launching a ticketing system for myself to get organized better also didn’t help.
Over the past few weeks, I have not responded to a lot of queries, but I have been building a new release. A release that fixes 99% of the issues people had. There will still be bugs, but a lot fewer of them, and nearly none that I know of.
This release is Citadel 0.3.0, which also marks the last “major” update for Citadel.
Once this is out, development will focus on Nirvati, which is a completely new way of server management. Citadel 0.4.0 will use Nirvati as its underlying base platform.
After this release, I’ll try to work through the backlog of outstanding issues, so please ping me again if you still have something I need to take a look at.
Changes in Citadel 0.2.6-0.2.8
In these releases, we’ve done a lot of changes:
- Tons of bug fixes
- Port the frontend to Nuxt.js to improve loading performance & remove various bugs
- Move our code to GitLab
- Use more shared infrastructure with Nirvati
- Remove lots of unused legacy code
I won’t list every bug fixed, but it were a lot of them.
Changes in Citadel 0.2.9
This release implements various changes to improve the user experience further.
Our LND app has been updated to LND 0.17.0 and the underlying API that powers the LND integration of our dashboard has received tons of bug fixes and performance improvements.
We’ve also refactored our Alby integration for the next Alby release to work with this new API.
Another new change is using Arti for outgoing anonymous requests. Arti is a reimplementation of Tor in Rust, and is faster and better than the original Tor. However, it’s features are limited right now, so it does not replace Tor yet.
We’ve also cleaned up the implementation of our app system to remove some unused parts.
In addition, this release introduces Raspberry Pi 5 compatibility for our OS.
This release also features some new apps, packaged by Pranshu Agrawal.
What does LTS mean for Citadel?
With Citadel 0.3.0 becoming an LTS release before Citadel 0.4.0 releases, and it receiving support even after that, Citadel will no longer receive new core features.
Nothing else will change, you’ll still receive:
- Bug fixes
- Updates to LND & Bitcoin Core
- New apps (Everything during Nirvati development that does not use new Nirvati features will be backported, and community contributions will still be accepted)
- Updates to apps
After Citadel 0.4.0 will be released, the LTS release will stop receiving new apps, but will still get app updates & Bitcoin Core updates, as well as bug fixes for at least one year.
What does Nirvati mean for Citadel 0.4.0?
Nirvati is a complete redesign of the original Citadel architecture. It will be available standalone or as part of Citadel, which enhances it with more Bitcoin features.
Citadel 0.4.0 will preserve the same features and will have a similar user experience. However, a completely new app system and underlying container infrastructure allows us to implement various new features. For the initial release, this will include:
- Compatibility with all official and nearly all 3rd party umbrelOS apps (In a separate Umbrel compatibility layer)
- Compatibility with all Start9 apps
- Multiple domains per app for HTTPS
- Multi-disk support
- Easy backups
- Faster startup
The Umbrel compatibility mode will also allow switching from Umbrel to Nirvati/Citadel.
The focus of Citadel as a tool built on top of Nirvati will be Bitcoin & Lightning UX, where we can improve a lot.
Improving our infrastructure stability
We’re now also monitoring all of our services here, so if anything goes down, you can see the current status and I get notified faster to fix it.