Miniflux 2.2.12
Release date:
Changes
✨ New Features
- Keep only metadata of removed entries to reduce database size.
- Removed entry status is now immutable and cannot be changed back to
unreadorreadstatus. - SVG favicons are now minified before storing them in the database.
- Added support for resizing WebP images.
- Main menu now includes icons.
- Added Progressive Web App (PWA) shortcuts for quick access to common actions.
- Added direct link to the Apache 2.0 license on the About page.
- Feed-level webhook URLs now take priority when saving entries.
- New option:
POLLING_LIMIT_PER_HOSTto limit concurrent requests per host. Limits the number of concurrent requests to the same hostname when polling feeds. This helps prevent overwhelming a single server during batch processing by the worker pool. - Added a rewrite rule to remove useless heading images on Phoronix articles.
- Use Golang’s built-in VCS feature to get commit and build date when not specified by
LDFLAGS. - Disable OAuth2 and WebAuthn routes when the feature is not enabled.
- Added request URI logging in authentication handlers.
🛠 Fixes
- Limited
tsvectorindexing to the first 500K characters to avoid PostgreSQL limits. - Use
rel=apple-touch-iconinstead ofrel=apple-touch-icon-precomposed.png. - Fixed broken WebAuthn error alert message on the settings page.
- Reverted
SameSiteStrictcookie mode because it forces people to authenticate each time when using the PWA on Android. - Prevent stale data by forcing reload when navigating back from articles (fix for Chrome’s bfcache).
- Fixed URL detection capturing newlines in media descriptions.
⚡ Performance Improvements
- Optimized SQL queries (
FetchJobs,markFeedAsRead) by removing unnecessary joins and heavy-weight operations. - Improved memory usage by minimizing SVGs, static images, and templates.
- WebAuthn script (
webauthn.js) is no longer loaded when the feature is disabled. - Replaced regex-based YouTube and Invidious video ID extraction with URL parsing.
- Introspect the translation files at load time.
- Parse and merge filters only once per refresh.
🔧 Refactoring & Internal Changes
- Extensive refactoring across UI, templates, storage, and fetcher to simplify code and reduce memory allocations.
- Replaced
interface{}withany(Go 1.18+ idiomatic usage). - Reorganized JavaScript code: simplified functions, reduced duplication, and modernized handlers.
app.jsbundle and service worker files are now loaded as a JavaScript module.- Use request builder in media proxy handler.
📚 Documentation
- Fixed typos and updated default values in the man page.
- Removed
ChangeLogfile (release notes are visible on GitHub and the official website - use the commit history for more details).
🛠 Dependencies
Updated GitHub Actions workflows to use Go version 1.25.
Updated dependencies:
golang.org/x/net→ 0.43.0golang.org/x/image→ 0.30.0golang.org/x/term→ 0.34.0github.com/tdewolff/minify/v2→ 2.23.11github.com/coreos/go-oidc/v3→ 3.15.0github.com/prometheus/client_golang→ 1.23.0- GitHub Actions:
actions/checkoutbumped to v5
✅ Tests
- Added API integration tests for fetching categories with counters.
- Added tests for icon URL discovery, SVG minification error handling, and version format enforcement.
- Added unit tests for
RequestBuilder. - Avoided building a temporary binary for integration tests.
For more details, look at the commit history.
Attachments
- https://github.com/miniflux/v2/releases/download/2.2.12/miniflux-darwin-amd64
- https://github.com/miniflux/v2/releases/download/2.2.12/miniflux-darwin-amd64.sha256
- https://github.com/miniflux/v2/releases/download/2.2.12/miniflux-darwin-arm64
- https://github.com/miniflux/v2/releases/download/2.2.12/miniflux-darwin-arm64.sha256
- https://github.com/miniflux/v2/releases/download/2.2.12/miniflux-freebsd-amd64
- https://github.com/miniflux/v2/releases/download/2.2.12/miniflux-freebsd-amd64.sha256
- https://github.com/miniflux/v2/releases/download/2.2.12/miniflux-linux-amd64
- https://github.com/miniflux/v2/releases/download/2.2.12/miniflux-linux-amd64.sha256
- https://github.com/miniflux/v2/releases/download/2.2.12/miniflux-linux-arm64
- https://github.com/miniflux/v2/releases/download/2.2.12/miniflux-linux-arm64.sha256
- https://github.com/miniflux/v2/releases/download/2.2.12/miniflux-linux-armv5
- https://github.com/miniflux/v2/releases/download/2.2.12/miniflux-linux-armv5.sha256
- https://github.com/miniflux/v2/releases/download/2.2.12/miniflux-linux-armv6
- https://github.com/miniflux/v2/releases/download/2.2.12/miniflux-linux-armv6.sha256
- https://github.com/miniflux/v2/releases/download/2.2.12/miniflux-linux-armv7
- https://github.com/miniflux/v2/releases/download/2.2.12/miniflux-linux-armv7.sha256
- https://github.com/miniflux/v2/releases/download/2.2.12/miniflux-openbsd-amd64
- https://github.com/miniflux/v2/releases/download/2.2.12/miniflux-openbsd-amd64.sha256
- https://github.com/miniflux/v2/releases/download/2.2.12/miniflux-2.2.12-1.0.x86_64.rpm
- https://github.com/miniflux/v2/releases/download/2.2.12/miniflux_2.2.12_amd64.deb
- https://github.com/miniflux/v2/releases/download/2.2.12/miniflux_2.2.12_arm64.deb
- https://github.com/miniflux/v2/releases/download/2.2.12/miniflux_2.2.12_armhf.deb