We have released HavenFeedParser, an open source Swift package for reading web feeds.

It supports RSS 2.0, Atom 1.0, and JSON Feed 1.1. You give it a URL, and it fetches the feed, works out the format, and hands back structured data. It handles caching with ETags and conditional requests, so it only downloads content when something has changed.

The package is written in pure Swift with no outside dependencies. It uses actors for thread safety and includes protections against SSRF attacks.

It also reads iTunes and podcast metadata, so you can use it for podcast apps too.

HavenFeedParser is what powers Haven Feeds. We built it for ourselves and now we are sharing it.

The code is on GitHub under the BSD 3-Clause licence.