Miniflux
Minimalist self-hosted feed reader
A minimal RSS reader that made passkeys the only way in, then went back to polishing the reading experience.
◆Recent moves
- 10d ago
Feeds and entries now carry declared language
Miniflux reads language from RSS, Atom, RDF and JSON Feed, stores it on both feeds and entries, and renders content with a matching lang attribute — which improves screen reader pronunciation, hyphenation and browser translation prompts. Consistent with the API thread, the field is exposed through both the HTTP API and the Go client.
View source ↗ - 1mo ago
Search gains phrases, OR and negation; new bulk entry endpoints
Full-text search moves to PostgreSQL's websearch_to_tsquery, so quoted phrases, OR and -term negation work as users expect from a search box. The API additions — paginated entry IDs, bulk starred updates, tag filtering — are the clearest evidence of the integration-first direction.
View source ↗ - 2mo ago
OAuth binding, open redirect and SQL injection issues fixed
Four security fixes including an OAuth account-binding flaw that let users attach arbitrary identities to their account, plus a partial retreat: the cross-origin protection middleware added in 2.3.0 was reverted after it blocked legitimate requests in some self-hosted setups.
View source ↗ - 2mo ago
WebAuthn login restricted to passkeys only
⚡ SPARKThe hard edge of the security thread: only discoverable credentials can be used to sign in, which removes an entire class of WebAuthn key from first-factor login. The CSRF and POST-only changes shipped alongside it complete the lockdown of every non-safe request path.
View source ↗ - 4mo ago
OIDC token verification and Google Reader API auth hardened
The release that started the auth overhaul — OIDC ID token signatures and claims are actually verified, identity overwrite on linked accounts is blocked, PKCE and CSRF state are cleared after use, and Google Reader API auth moves from SHA1 to HMAC-SHA256. Secrets are also scrubbed from log output.
View source ↗