Miniflux 2.2.10
Release date:
Changes
- 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 rangeb.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
Rewriterfunction toApplyContentRewriteRules - 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
fetchWatchTimefunction - refactor(processor): move filters to a
filterpackage - refactor(processor): move
FilterEntryMaxAgeDaysfilter to filter package - refactor(processor): move
RewriteEntryURLfunction torewritepackage - refactor(processor): minor simplification of a loop
- refactor(internal): add an
urllib.DomainWithoutWWWfunction - refactor(http): rename package from
httpdtoserverfor consistency - refactor(http): don’t hardcode TLS configuration
- refactor(filter): avoid code duplication between
IsBlockedEntryandIsAllowedEntryfunctions - 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(js): 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
Sprintfcalls - perf(sanitizer): use a switch-case instead of a map
- perf(sanitizer): minor simplifications of the sanitizer
- perf(sanitizer): extract a call to
url.Parseand 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
getPredefinedRewriteRulesO(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
TRUNCATEinstead ofDELETE FROMin migrations - perf(database): marginally speeds migrations up
- perf(api): use
math/rand/v2instead ofmath/randfor 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
widthandheightattributes in img tags - feat(sanitizer): add support for
fetchpriorityanddecodingattributes in img tags - feat(rewrite): add support for YouTube Shorts video URL pattern
- feat(rewrite): add
parkablogs.comto the referer override list - feat(oidc): use
preferred_usernamefirst instead ofemailclaim - 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:durationfilter - feat(css): add margin-bottom to input for consistent spacing
- feat(config)!: remove
SERVER_TIMING_HEADERconfig 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.mdfile - chore(template): remove
X-UA-Compatiblemeta tag specific to Internet Explorer - build(go): bump to go 1.24
- build(deps): bump
library/alpinein/packaging/docker/alpine - build(deps): bump
golang.org/x/netfrom0.40.0to0.41.0 - build(deps): bump
golang.org/x/imagefrom0.27.0to0.28.0 - build(deps): bump
golang.org/x/cryptofrom0.38.0to0.39.0
Attachments
- https://github.com/miniflux/v2/releases/download/2.2.10/miniflux-darwin-amd64
- https://github.com/miniflux/v2/releases/download/2.2.10/miniflux-darwin-amd64.sha256
- https://github.com/miniflux/v2/releases/download/2.2.10/miniflux-darwin-arm64
- https://github.com/miniflux/v2/releases/download/2.2.10/miniflux-darwin-arm64.sha256
- https://github.com/miniflux/v2/releases/download/2.2.10/miniflux-freebsd-amd64
- https://github.com/miniflux/v2/releases/download/2.2.10/miniflux-freebsd-amd64.sha256
- https://github.com/miniflux/v2/releases/download/2.2.10/miniflux-linux-amd64
- https://github.com/miniflux/v2/releases/download/2.2.10/miniflux-linux-amd64.sha256
- https://github.com/miniflux/v2/releases/download/2.2.10/miniflux-linux-arm64
- https://github.com/miniflux/v2/releases/download/2.2.10/miniflux-linux-arm64.sha256
- https://github.com/miniflux/v2/releases/download/2.2.10/miniflux-linux-armv5
- https://github.com/miniflux/v2/releases/download/2.2.10/miniflux-linux-armv5.sha256
- https://github.com/miniflux/v2/releases/download/2.2.10/miniflux-linux-armv6
- https://github.com/miniflux/v2/releases/download/2.2.10/miniflux-linux-armv6.sha256
- https://github.com/miniflux/v2/releases/download/2.2.10/miniflux-linux-armv7
- https://github.com/miniflux/v2/releases/download/2.2.10/miniflux-linux-armv7.sha256
- https://github.com/miniflux/v2/releases/download/2.2.10/miniflux-openbsd-amd64
- https://github.com/miniflux/v2/releases/download/2.2.10/miniflux-openbsd-amd64.sha256
- https://github.com/miniflux/v2/releases/download/2.2.10/miniflux-windows-amd64.exe
- https://github.com/miniflux/v2/releases/download/2.2.10/miniflux-windows-amd64.exe.sha256
- https://github.com/miniflux/v2/releases/download/2.2.10/miniflux-2.2.10-1.0.x86_64.rpm
- https://github.com/miniflux/v2/releases/download/2.2.10/miniflux_2.2.10_amd64.deb
- https://github.com/miniflux/v2/releases/download/2.2.10/miniflux_2.2.10_arm64.deb
- https://github.com/miniflux/v2/releases/download/2.2.10/miniflux_2.2.10_armhf.deb