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.9` -> `2.2.10` |
---
### Release Notes
<details>
<summary>miniflux/v2 (ghcr.io/miniflux/miniflux)</summary>
### [`v2.2.10`](https://github.com/miniflux/v2/blob/HEAD/ChangeLog#Version-2210-June-23-2025)
[Compare Source](https://github.com/miniflux/v2/compare/2.2.9...v2.2.10)
- test(sanitizer): add unit test for 0x0 pixel tracker
- test(sanitizer): add test case to cover Vimeo iframe rewrite without query string
- refactor(youtube): Remove a regex and make use of `fetchWatchTime`
- refactor(youtube): initialize two maps to the proper length
- refactor(tests): use `b.Loop()` instead of for range `b.N`
- refactor(server): avoid double call to `Sprintf`
- refactor(sanitizer): use global variables to avoid recreating slices on every call
- refactor(sanitizer): use a map for iframe allow list
- refactor(sanitizer): remove two useless `www.` prefixes
- refactor(sanitizer): make `isValidAttribute()` check O(1)
- refactor(rewrite): rename `Rewriter` function to `ApplyContentRewriteRules`
- refactor(processor): simplify Bilibili processing
- refactor(processor): remove a useless type declaration
- refactor(processor): remove a duplicated function call
- refactor(processor): refactor common code into a `fetchWatchTime` function
- refactor(processor): move filters to a `filter` package
- refactor(processor): move `FilterEntryMaxAgeDays` filter to filter package
- refactor(processor): move `RewriteEntryURL` function to `rewrite` package
- refactor(processor): minor simplification of a loop
- refactor(internal): add an `urllib.DomainWithoutWWW` function
- refactor(http): rename package from `httpd` to `server` for consistency
- refactor(http): Don't hardcode TLS configuration
- refactor(filter): avoid code duplication between `IsBlockedEntry` and `IsAllowedEntry` functions
- refactor(database): drop 3 columns in a single transaction
- refactor(crypto): use `rand.Text()` instead of a custom implementation
- refactor(config): remove deprecated config options
- refactor(appjs): no need to check if always present elements are always present
- perf(xml): optimized `NewXMLDecoder`
- perf(xml): optimize XML filtering
- perf(validator): slightly optimize a regex
- perf(timezone): cache `getLocation`'s results
- perf(storage): pre-allocate a slice in `RefreshFeedEntries`
- perf(storage): optimize away two `Sprintf` calls
- perf(sanitizer): use a switch-case instead of a map
- perf(sanitizer): minor simplifications of the sanitizer
- perf(sanitizer): extract a call to `url.Parse` and make intensive use of it
- perf(rss): optimize a bit `BuildFeed`
- perf(rss): early return when looking for an item's author
- perf(rewrite): make `getPredefinedRewriteRules` O(1)
- perf(reader): use a non-cryptographic hash when possible
- perf(reader): optimize `RemoveTrackingParameters`
- perf(readability): minor regex improvement
- perf(media): minor regex simplification
- perf(fetcher): pre-allocate the cipherSuites
- perf(database): use `TRUNCATE` instead of `DELETE FROM` in migrations
- perf(database): marginally speeds migrations up
- perf(api): use `math/rand/v2` instead of `math/rand` for better performance
- fix(readability): do not remove elements within code blocks
- fix(karakeep): correct method name and improve error handling in `SaveURL`
- fix(filter): skip invalid rules instead of exiting the loop
- feat(ui): display external link in single entry view because the URL was not visible on mobile (no mouse over)
- feat(ui): avoid showing an excessive number of tags
- feat(ui): add user setting to control `target="_blank"` on links
- feat(sanitizer): validate MathML XML namespace
- feat(sanitizer): consider images of size 0x0 as pixel trackers
- feat(sanitizer): add validation for empty `width` and `height` attributes in img tags
- feat(sanitizer): add support for `fetchpriority` and `decoding` attributes in img tags
- feat(rewrite): add support for YouTube Shorts video URL pattern
- feat(rewrite): add `parkablogs.com` to the referer override list
- feat(oidc): use `preferred_username` first instead of `email` claim
- feat(locale): update Polish translations
- feat(locale): update locales using machine translation
- feat(locale): update Indonesian translations
- feat(locale): update German translations
- feat(locale): update Chinese translations
- feat(integration)!: remove Pocket integration (Pocket will no longer be available after July 8, 2025)
- feat(filter): add `EntryDate=max-age:duration` filter
- feat(css): add margin-bottom to input for consistent spacing
- feat(config)!: remove `SERVER_TIMING_HEADER` config option
- feat: Allow multiple listen addresses
- feat: adding support for saving entries to Karakeep
- feat: add entry filters at the feed level
- docs(readme): document a couple of nifty features
- docs: add `CONTRIBUTING.md` file
- chore(template): remove `X-UA-Compatible` meta tag specific to Internet Explorer
- build(go): bump to go 1.24
- build(deps): bump `library/alpine` in `/packaging/docker/alpine`
- build(deps): bump `golang.org/x/net` from `0.40.0` to `0.41.0`
- build(deps): bump `golang.org/x/image` from `0.27.0` to `0.28.0`
- build(deps): bump `golang.org/x/crypto` from `0.38.0` to `0.39.0`
</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:eyJjcmVhdGVkSW5WZXIiOiI0MS42LjQiLCJ1cGRhdGVkSW5WZXIiOiI0MS42LjQiLCJ0YXJnZXRCcmFuY2giOiJtYXN0ZXIiLCJsYWJlbHMiOltdfQ==-->
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.9->2.2.10Release Notes
miniflux/v2 (ghcr.io/miniflux/miniflux)
v2.2.10Compare Source
fetchWatchTimeb.Loop()instead of for rangeb.NSprintfwww.prefixesisValidAttribute()check O(1)Rewriterfunction toApplyContentRewriteRulesfetchWatchTimefunctionfilterpackageFilterEntryMaxAgeDaysfilter to filter packageRewriteEntryURLfunction torewritepackageurllib.DomainWithoutWWWfunctionhttpdtoserverfor consistencyIsBlockedEntryandIsAllowedEntryfunctionsrand.Text()instead of a custom implementationNewXMLDecodergetLocation's resultsRefreshFeedEntriesSprintfcallsurl.Parseand make intensive use of itBuildFeedgetPredefinedRewriteRulesO(1)RemoveTrackingParametersTRUNCATEinstead ofDELETE FROMin migrationsmath/rand/v2instead ofmath/randfor better performanceSaveURLtarget="_blank"on linkswidthandheightattributes in img tagsfetchpriorityanddecodingattributes in img tagsparkablogs.comto the referer override listpreferred_usernamefirst instead ofemailclaimEntryDate=max-age:durationfilterSERVER_TIMING_HEADERconfig optionCONTRIBUTING.mdfileX-UA-Compatiblemeta tag specific to Internet Explorerlibrary/alpinein/packaging/docker/alpinegolang.org/x/netfrom0.40.0to0.41.0golang.org/x/imagefrom0.27.0to0.28.0golang.org/x/cryptofrom0.38.0to0.39.0Configuration
📅 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.