First off, thanks to Hugo for submitting a patch implementing asynchronous fetching of RSS feeds for rss-email that sparked the bit of interest I needed to continue working on the project in the first place.
Thanks to this, I decided to prepare rss-email for a 0.2.0 release by replacing Diesel with sqlx, a crate that enables compile-time checked SQL queries. A complete ORM always felt a bit overkill for this, but this was the project I decided to try Diesel on to get familiar with it. Discovering that Diesel is not able to be statically linked was enough of a push to replace it with sqlx.
Besides that, jman, who submitted a patch quite a while ago, replaced OpenSSL with rustls to reduce system dependencies.
In total, not a lot of changes have been made to rss-email, but they should be quite significant nonetheless:
- Replace OpenSSL with RustTLS
- Implement async fetching
- Replace Diesel with sqlx
These changes allow faster execution of rss-email and finally allow rss-email to
be run on musl-based Linux distributions!
This also means I can finally run it on my own server running Alpine Linux.
As I introduced a bug where inserting an already existing entry into the
database and timestamps not being present on feeds would panic, I promptly
released 0.2.1, which fixes
The latter could have easily been avoided by avoiding the use of
unwrap in the
code (something I made use of heavily while prototyping the project), and fixing
unnecessary calls to
unwrap is a priority going forward:
https://todo.sr.ht/~witcher/rss-email/13. Well, another lesson learned.
Thus far only RSS feeds work with rss-email, but implementing Atom support is
If you feel like contributing, feel free to either close one of the existing tickets or send an E-Mail to the development list discussing your ideas.
Starting now, announcements for new releases will only be published on the dedicated mailing list in order to not spam my personal blog.