Releases: miniflux/v2
Miniflux 2.0.51
- Add Omnivore integration
- Fixes for the regressions introduced in version 2.0.50:
- Ensure all HTML documents are encoded in UTF-8
- Send default User-Agent and HTTP caching headers when making HTTP requests
- Allow Youtube links to be opened outside the
iframe
(avoidERR_BLOCKED_BY_RESPONSE
error) - Fix inaccessible metrics endpoint when listening on Unix socket
- Allow renaming and moving feed at the same time in the Google Reader API
- Log
nb_jobs
only when number of jobs is larger than 0 in background scheduler - Deduplicate feed URLs when parsing HTML document during discovery process
- Calculate a virtual weekly count based on the average updating frequency (
POLLING_SCHEDULER=entry_frequency
) - Update GitHub Actions workflow to be able to run the linter and tests on-demand
- Add
SCHEDULER_ROUND_ROBIN_MIN_INTERVAL
config option - Add links to GitHub for the commit hash and the version in the about page
- Use "starred" rather than "bookmarked" in English translation
- Update Chinese (CN & TW) translation
- Bump
github.com/google/uuid
from1.4.0
to1.5.0
- Bump
github.com/coreos/go-oidc/v3
from3.7.0
to3.9.0
- Bump
github.com/tdewolff/minify/v2
from2.20.6
to2.20.9
- Bump
github.com/go-webauthn/webauthn
from0.8.6
to0.9.4
- Bump
golang.org/x/oauth2
from0.14.0
to0.15.0
Miniflux 2.0.50
- Add WebAuthn / Passkey integration
- Add RSS-Bridge integration
- Take RSS TTL field into consideration to schedule next check date
- Show number of visible entries instead of number of read entries in feed list
- OpenID Connect: Redirect to configured user home page after successful authentication
- Google Reader API fixes:
user/{userID}/state/com.google/read
is missing in categories section for read entries- Take
ExcludeTargets
into consideration in feed stream handler
- Allow iframes pointing to Twitch videos
- Filter feed entries based on URL or title
- Take into consideration
hide_globally
property defined for categories in/v1/entries
API endpoint - Add category ID to webhooks request body
- Update date parser to parse more invalid date formats
- Refactor feed discovery handler, and avoid an extra HTTP request if the URL provided is the feed
- Refactor HTTP Client and
LocalizedError
packages - Refactor Batch Builder, and prevent accidental and excessive refreshes from the web UI
- Refactor icon finder:
- Continue the discovery process when the feed icon is invalid
- Search all icons from the HTML document and do not stop on the first one
- Add support for SVG icons with data URL without encoding
- Expose
next_check_at
in the web ui and API - Add database indexes to improve performance
- Change log level to warning for failed feeds refresh in cronjob
- Do not log website without icon as warning
- Add GitHub workflow to build binaries
- Add GitHub extensions to devcontainer
- Make sure to pull the latest base image when building the Docker image
- Strip version prefix when building Debian package
- Add
github-cli
anddocker-outside-of-docker
features to devcontainer - Bump
golang.org/x/*
dependencies - Bump
github.com/gorilla/mux
from1.8.0
to1.8.1
- Bump
github.com/tdewolff/minify/v2
from2.19.9
to2.20.6
- Bump
github.com/yuin/goldmark
from1.5.6
to1.6.0
- Bump
github.com/coreos/go-oidc/v3
from3.6.0
to3.7.0
Miniflux 2.0.49
- Implement structured logging using
log/slog
package. New config options available:LOG_FORMAT
:json
ortext
LOG_LEVEL
:debug
,info
,warning
, orerror
LOG_FILE
:sdterr
,stdout
, or a file path- The
DEBUG
option is now deprecated in favor ofLOG_LEVEL
- API Improvements:
- Add endpoint
/v1/version
- Add endpoint
PUT /v1/entries
to update entry title and content - Add endpoint
/v1/icons/{iconID}
- Add endpoint
/v1/flush-history
to flush history - Make the category optional when creating feeds for API clients who don't support categories
- Add enclosures to
GET /v1/entries
endpoint - Add
published_after
,published_before
,changed_after
andchanged_before
options to/v1/entries
endpoint
- Add endpoint
- Telegram integration improvements:
- Replace feed HTML link with a button to avoid page preview issues
- Add the possibility to disable buttons
- Add Bruno Miniflux API collection in
contrib
folder (Bruno is an open source alternative to Postman/Insomnia) - Add command line argument to export user feeds as OPML
- Add new rewrite rules
add_hn_links_using_hack
andadd_hn_links_using_opener
to open HN comments with iOS apps - Fix timestamp format for
Expires
response header - Fix Javascript error when reading time option is disabled
- Fix Apprise logic to handle feed service URLs
- Fix missing word in force refresh message
- Remove deprecated
PreferServerCipherSuites
TLS option - Replace
github.com/rylans/getlang
withgithub.com/abadojack/whatlanggo
becausegetlang
doesn't seems to be updated anymore - Bump
github.com/mccutchen/go-httpbin/v2
from2.11.0
to2.11.1
- Bump
golang.org/x/*
dependencies
Miniflux 2.0.48
- Add generic webhook integration
- Send webhook events when new entries are detected
- Send wehbook events when saving an entry
- Sign the outgoing requests with HMAC-SHA256
- Improve Telegram integration
- Add built-in Telegram client
- Remove dependency on
go-telegram-bot-api
library - Add new options:
- Optional topic ID
- Disable page preview
- Disable notifications
- Add new button to go to article
- Improve Matrix integration
- Add built-in Matrix client
- Remove dependency on
gomatrix
library - Send HTML formatted messages to Matrix
- OpenID Connect authentication improvements:
- Add OAuth2 PKCE support
- Add
profile
scope to OIDC integration to support accounts without email address - Prevent empty username when using the OIDC integration
- Add
factor
forentry_frequency
scheduler:- Allow the user to increase the frequency of the
entry_frequency
scheduler by a configurable factor in order to shorten the time between
updates.
- Allow the user to increase the frequency of the
- Fix: status bar is unreadable when using PWA in dark mode on Firefox Android
- Group form fields into fieldsets to improve page layout
- Update Russian translation
- Make sure icon URLs are always absolute
- Add Apprise service URLs per feed
- Trim
username
andpassword
form fields - Strip HTML tags from DublinCore Creator tags
- Fix scroll up behavior on Firefox Android
- Add missing
return
statement infetchContent
UI handler - Add
replace_title
rewrite rule to adjust entry titles - Fix Pocket integration redirect URL and Google Reader API HREF
- Fix feed
hide_globally
property to use it with third-party clients.
Miniflux 2.0.47
- Update rules for
webtoons.com
- Use HTTP client from the standard library for third-party integrations
- Rename internal
url
package tourllib
to avoid overlap withnet/url
- Add Shaarli integration
- Add Shiori integration
- Add Apprise integration
- Add Readwise Reader integration
- Consider base path when generating third-party services API endpoint
- Use podcast duration tag as reading time
- Move internal packages to an
internal
folder- For reference: https://go.dev/doc/go1.4#internalpackages
- Rename Miniflux package name to follow Go module naming convention
- For reference: https://go.dev/ref/mod#major-version-suffixes
- Update RockyLinux image from 8 to 9 (used to build RPM package)
- Add force refresh in feed edit and feed entries page
- Use Odysee video duration as read time
- Upgrade to Go 1.21
- Use details disclosure element to show the list of third-party services
- Use Web Share API for sharing entry
- Add a workaround for parsing some invalid date format
- Add Thunder Client API collection into contrib folder
- Add new API endpoint:
/entries/{entryID}/save
- Trigger Docker and packages workflows only for semantic tags
- Go module versioning expect Git tags to start with the letter v.
- The goal is to keep the existing naming convention for generated artifacts and
have proper versioning for the Go module.
- Bump
golang.org/x/*
dependencies - Bump
github.com/yuin/goldmark
- Bump
github.com/tdewolff/minify/v2
- Bump
github.com/mccutchen/go-httpbin/v2
Miniflux 2.0.46
- Add scraper and rewrite rules for Webtoons
- Fix regression in integration page and simplify SQL query
- Wallabag integration: add more information in log messages
- Add support for custom Youtube embed URL
- Fix accessibility issues in modal component
- Fix modal aria role
- Trap focusing with tab / shift+tab inside the modal
- Restore keyboard focus when closing modal
- Automatically move keyboard focus to first focusable element unless specified otherwise
- Keyboard shortcut help modal: move keyboard focus to modal title
- Keyboard shortcut help modal: change close control from link to button
- Add Notion integration
- Update
golang.org/x/*
dependencies andgo-oidc
to v3.6.0 - Improve responsive design
- Add user setting for marking entry as read on view
- Improve Russian translation
- Add the possibility to run cleanup tasks from the command line
- Add the possibility to run Miniflux as a cronjob
- Use
go-httpbin
to run tests locally and avoid remote calls tohttpbin.org
- Display tags when viewing entries
- Update categories API endpoint to return
total_unread
andfeed_count
- Improve date parser to handle various broken date formats
- Avoid
pq: time zone displacement out of range
errors - Improve entry existance check to make better use of index
- Add unique index
enclosures_user_entry_url_idx
- Add mark as unread for Linkding integration
- Add sub-folder support for Wallabag integration
- Use RockyLinux to build RPM package
- Disable CGO when building RPM package
- Disable CGO when building Docker images
Miniflux 2.0.45
- Add media player to listen to audio and video podcasts with the possiblity to resume to last playback position
- Add default tag names for Linkding integration
- Mark only globally visible entries when marking all entries from UI
- Use image included in feeds as feed icon when available
- Order history by
changed_at
andpublished_at
- Remove title attribute from entry title links
- Fix reading time that is not aligned correctly with the latest version of Safari
- Use glyphs of the same size on keyboard shortcuts page
- Add maskable versions of the PWA icon
- Replace copyright header with SPDX identifier
- Remove the "í" letter from the Portuguese "lido" word
- Increase golangci-lint timeout value
- Bump
github.com/tdewolff/minify/v2
,github.com/prometheus/client_golang
,golang.org/x/*
dependencies
Miniflux 2.0.44
- Add link to the URL rewrite rules documentation
- Update scraping rules for
ilpost.it
- Update rewrite rules for
theverge.com
- Add a rewrite rule to remove clickbait titles
- Make sure
PROXY_IMAGES
option is backward compatible withPROXY_OPTION
andPROXY_MEDIA_TYPES
- Add new rule to remove tables
- Add support for searching well-known URLs in subdirectory
- Add CSS
word-wrap
rule to break very long entry title into multiple lines - Add swipe as option for gesture navigation between entries. There are now 3 possible choices:
none
,double-tap
, andswipe
. - Prefer typographic punctuation in English translation
- Process older entries first:
- Feed entries are usually ordered from most to least recent.
- Processing older entries first ensures that their creation timestamp
is lower than that of newer entries. - This is useful when we order by creation, because then we get a
consistent timeline.
- Fix Grafana dashboard
- Push Docker images to
Quay.io
(RedHat) - Bump
golang.org/x/*
,github.com/lib/pq
,mvdan.cc/xurls/v2
andgithub.com/prometheus/client_golang
dependencies
Miniflux 2.0.43
-
Avoid XSS when opening a broken image due to unescaped ServerError in proxy handler (CVE-2023-27592)
Creating an RSS feed item with the inline description containing an<img>
tag
with asrcset
attribute pointing to an invalid URL like
http:a<script>alert(1)</script>
, we can coerce the proxy handler into an error
condition where the invalid URL is returned unescaped and in full.This results in JavaScript execution on the Miniflux instance as soon as the
user is convinced to open the broken image. -
Use
r.RemoteAddr
to check/metrics
endpoint network access (CVE-2023-27591)
HTTP headers likeX-Forwarded-For
orX-Real-Ip
can be easily spoofed. As
such, it cannot be used to test if the client IP is allowed.The recommendation is to use HTTP Basic authentication to protect the
metrics endpoint, or run Miniflux behind a trusted reverse-proxy. -
Add HTTP Basic authentication for
/metrics
endpoint -
Add proxy support for several media types
-
Parse feed categories from RSS, Atom and JSON feeds
-
Ignore empty link when discovering feeds
-
Disable CGO explicitly to make sure the binary is statically linked
-
Add CSS classes to differentiate between category/feed/entry view and icons
-
Add rewrite and scraper rules for
blog.cloudflare.com
-
Add
color-scheme
to themes -
Add new keyboard shortcut to toggle open/close entry attachments section
-
Sanitizer: allow
id
attribute in<sup>
element -
Add Indonesian Language
-
Update translations
-
Update Docker Compose examples:
- Run the application in one command
- Bring back the health check condition to
depends_on
- Remove deprecated
version
element
-
Update scraping rules for
ilpost.it
-
Bump
github.com/PuerkitoBio/goquery
from1.8.0
to1.8.1
-
Bump
github.com/tdewolff/minify/v2
from2.12.4
to2.12.5
-
Bump
github.com/yuin/goldmark
from1.5.3
to1.5.4
-
Bump
golang.org/x/*
dependencies
Miniflux 2.0.42
- Fix header items wrapping
- Add option to enable or disable double tap
- Improve PWA display mode label in settings page
- Bump
golang.org/x/*
dependencies - Update translations
- Add scraping rule for
ilpost.it
- Update reading time HTML element after fetching the original web page
- Add category feeds refresh feature