2.2.14
Miniflux 2.2.14
Added 6
- Allow passing a custom http.Client and add context support to API methods in the Go Client
- Redirect users back to the original page after logging in
- Add tags option for the Karakeep integration
- Add new Archive.org integration
- Add remove_img_blur_params rewrite rule
- Add add_image_title rewrite rule for explainxkcd.com
Changed 8
- Improve Content Security Policy by extracting CSP generation into a function, adding systematic nonces, and changing default-src to 'none'
- Replace custom modal with native dialog element for simpler, more accessible UI
- Simplify date parsing in the reader and XML encoding logic
- Optimize sanitizer functions hasRequiredAttributes, hasValidURIScheme, and isBlockedResource
- Replace fmt.Errorf with errors.New where applicable
- Remove dependency on hstore in the database layer and relax implicit NOT NULL for serial types
- Simplify Fever API slice sizing and various internal cleanups
- Preallocate slices and optimize string and number conversions for better performance
Fixed 3
- Fix CSS layout overflow when external links are too long
- Fix JSON Feed parser to fallback to external_url when url is missing
- Update scraper rule for Dark Reading
✨ New Features
- Go Client: Allow passing a custom
http.Clientand add context support to API methods. - UI: Redirect users back to the original page after logging in.
- Template: Improved Content Security Policy: extracted CSP generation into a function, added systematic nonces, and changed
default-srcto'none'for stronger security. - Integrations:
- Added tags option for the Karakeep integration.
- Added new Archive.org integration.
- Rewrite Rules:
- Added
remove_img_blur_paramsrule. - Added
add_image_titlerule for explainxkcd.com.
- Added
🧰 Improvements & Refactoring
- Replaced custom modal with native
<dialog>element for simpler, more accessible UI. - Simplified date parsing in the reader and XML encoding logic.
- Optimized sanitizer functions (
hasRequiredAttributes,hasValidURIScheme,isBlockedResource). - Replaced
fmt.Errorfwitherrors.Newwhere applicable. - Removed dependency on
hstorein the database layer and relaxed implicitNOT NULLfor serial types. - Simplified Fever API slice sizing and various internal cleanups.
- Preallocated slices and optimized string/number conversions for better performance.
🧪 Tests
- Added test cases for XML encoding behavior.
🐛 Bug Fixes
- Fixed CSS layout overflow when external links are too long.
- Fixed JSON Feed parser to fallback to
external_urlwhenurlis missing. - Updated scraper rule for Dark Reading.
📚 Documentation
- Clarified the
POLLING_FREQUENCYenvironment variable in the documentation.
🏗️ Build & CI
-
Updated dependencies:
github.com/tdewolff/minify/v2→ 2.24.4golang.org/x/net→ 0.46.0golang.org/x/image→ 0.32.0golang.org/x/oauth2→ 0.32.0github.com/coreos/go-oidc/v3→ 3.16.0github/codeql-action→ 4
-
Updated
make lintand enabled additional Go linters (perfsprint,goheader).
📝 Additional Notes
If you are seeing this Postgres error: Error: pq: must be owner of extension hstore, you can fix it by running the following SQL command as a superuser for the Miniflux database:
DROP EXTENSION hstore;
This error means you initially created the hstore extension as a different database user than the one you are currently using for Miniflux.
For more details, look at the Git commit history.