Keep only metadata of removed entries to reduce database size.
Removed entry status is now immutable and cannot be changed back to unread or read status.
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_HOST to 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 tsvector indexing to the first 500K characters to avoid PostgreSQL limits.
Use rel=apple-touch-icon instead of rel=apple-touch-icon-precomposed.png.
Fixed broken WebAuthn error alert message on the settings page.
Reverted SameSiteStrict cookie 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{} with any (Go 1.18+ idiomatic usage).
Reorganized JavaScript code: simplified functions, reduced duplication, and modernized handlers.
app.js bundle 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 ChangeLog file (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.0
golang.org/x/image → 0.30.0
golang.org/x/term → 0.34.0
github.com/tdewolff/minify/v2 → 2.23.11
github.com/coreos/go-oidc/v3 → 3.15.0
github.com/prometheus/client_golang → 1.23.0
GitHub Actions: actions/checkout bumped 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.
Configuration
📅Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕Ignore: Close this PR and you won't be reminded about this update again.
If you want to rebase/retry this PR, check this box
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [ghcr.io/miniflux/miniflux](https://miniflux.app) ([source](https://github.com/miniflux/v2)) | patch | `2.2.11` -> `2.2.12` |
---
### Release Notes
<details>
<summary>miniflux/v2 (ghcr.io/miniflux/miniflux)</summary>
### [`v2.2.12`](https://github.com/miniflux/v2/releases/tag/2.2.12): Miniflux 2.2.12
[Compare Source](https://github.com/miniflux/v2/compare/2.2.11...2.2.12)
##### ✨ New Features
- Keep only metadata of removed entries to reduce database size.
- Removed entry status is now immutable and cannot be changed back to `unread` or `read` status.
- 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_HOST` to 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 `tsvector` indexing to the first 500K characters to avoid PostgreSQL limits.
- Use `rel=apple-touch-icon` instead of `rel=apple-touch-icon-precomposed.png`.
- Fixed broken WebAuthn error alert message on the settings page.
- Reverted `SameSiteStrict` cookie 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{}` with `any` (Go 1.18+ idiomatic usage).
- Reorganized JavaScript code: simplified functions, reduced duplication, and modernized handlers.
- `app.js` bundle 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 `ChangeLog` file (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.0
- `golang.org/x/image` → 0.30.0
- `golang.org/x/term` → 0.34.0
- `github.com/tdewolff/minify/v2` → 2.23.11
- `github.com/coreos/go-oidc/v3` → 3.15.0
- `github.com/prometheus/client_golang` → 1.23.0
- GitHub Actions: `actions/checkout` bumped 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.
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS44Mi4xIiwidXBkYXRlZEluVmVyIjoiNDEuODIuMSIsInRhcmdldEJyYW5jaCI6Im1hc3RlciIsImxhYmVscyI6W119-->
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
This PR contains the following updates:
2.2.11->2.2.12Release Notes
miniflux/v2 (ghcr.io/miniflux/miniflux)
v2.2.12: Miniflux 2.2.12Compare Source
✨ New Features
unreadorreadstatus.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.
LDFLAGS.🛠 Fixes
tsvectorindexing to the first 500K characters to avoid PostgreSQL limits.rel=apple-touch-iconinstead ofrel=apple-touch-icon-precomposed.png.SameSiteStrictcookie mode because it forces people to authenticate each time when using the PWA on Android.⚡ Performance Improvements
FetchJobs,markFeedAsRead) by removing unnecessary joins and heavy-weight operations.webauthn.js) is no longer loaded when the feature is disabled.🔧 Refactoring & Internal Changes
interface{}withany(Go 1.18+ idiomatic usage).app.jsbundle and service worker files are now loaded as a JavaScript module.📚 Documentation
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.0actions/checkoutbumped to v5✅ Tests
RequestBuilder.For more details, look at the commit history.
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Renovate Bot.