The interactive file manager requires Javascript. Please enable it or use sftp or scp.
You may still browse the files here.
β¨ New Features
- Keep only metadata of removed entries to reduce database size.
- Removed entry status is now immutable and cannot be changed back to
unreadorreadstatus. - 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_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. - 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
tsvectorindexing to the first 500K characters to avoid PostgreSQL limits. - Use
rel=apple-touch-iconinstead ofrel=apple-touch-icon-precomposed.png. - Fixed broken WebAuthn error alert message on the settings page.
- Reverted
SameSiteStrictcookie 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{}withany(Go 1.18+ idiomatic usage). - Reorganized JavaScript code: simplified functions, reduced duplication, and modernized handlers.
app.jsbundle 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
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.0 golang.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.0- GitHub Actions:
actions/checkoutbumped 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.