Forge-agnostic software release tracker
This UI is Amolith's attempt at a balance between simple, pleasant, and functional. Amolith is not a UX professional and would very much welcome input from someone more knowledgeable!
If you'd rather watch a short video, Amolith gave a 5-minute lightning talk on Willow at the 2023 Ubuntu Summit.
Willow helps developers, sysadmins, and homelabbers keep up with software releases across arbitrary forge platforms, including full-featured forges like GitHub, GitLab, or Forgejo as well as more minimal options like cgit or stagit.
It exists because decentralisation, as wonderful as it is, does have some pain points. One piece of software is on GitHub, another piece is on GitLab, one on Bitbucket, a fourth on SourceHut, a fifth on the developer's self-hosted Forgejo instance.
The capabilities of each platform can also differ, further complicating the space. For example, Forgejo and GitHub have APIs and RSS release feeds, SourceHut has an API and RSS feeds that notify you of all activity in the repo, GitLab only has an API, and there's no standard for discovering the capabilities of arbitrary git frontends like legit.
And then you have different pieces of information in different places; some developers might publish release announcements on their personal blog and some projects might release security advisories on an external platform prior to publishing a release.
All this important info is scattered all over the internet. Willow brings some order to that chaos by supporting both RSS and one of the very few things all the forges and frontends have in common: their Version Control System. At the moment, Git is the only supported VCS, but we're definitely interested in adding support for Pijul, Fossil, Mercurial, and potentially others.
Amolith (the creator) has recorded some of his other ideas, thoughts, and plans in his wiki.
Disclaimers:
This assumes Willow will run on an always-on server, like a VPS.
chmod +x willow
./willow
nano config.toml
localhost:1313
) with Caddy, NGINX,
etc../willow -a <username>
localhost:1313
, but installation had you put
a proxy in front)Track new project
Next
Track releases
If you no longer use that project, click the Delete?
link to remove it, and,
if applicable, Willow's copy of its repo.
If you're no longer running the version Willow says you've selected, click the
Modify?
link to select a different version.
If there are projects where your selected version does not match what Willow
thinks is latest, they'll show up at the top under the Outdated projects
heading and have a link at the bottom of the card to View release notes
.
Clicking that link populates the right column with those release notes.
If there are projects where your selected version does match what Willow thinks is latest, they'll show up at the bottom under the Up-to-date projects heading.
See CONTRIBUTING.md.