FreshRSS 1.28.0
This is a major release, just in time for the holidays 🎄
Selected new features ✨:
- New sorting and filtering by date of User modified, with corresponding search operator, e.g.
userdate:PT1Hfor the past hour - New sorting by article length
- New advanced search form
- New overview of dates with most unread articles
- New ability to share feed visibility through API (implemented by e.g. Capy Reader)
- Bonus: Capy Reader is also the first open source Android app to support user labels
- Better transitions UI between groups of articles
- New links in UI for transitions between groups of articles, and jump to next transition
- Docker default image updated to Debian 13 Trixie with PHP 8.4.11
- And much more…
Improved performance 🏎️:
- Scaling of user statistics in Web UI and CLI, to help instances with 1k+ users
- Improve SQL speed for some critical requests for large databases
- API performance optimisation thanks to streaming of large responses
Selected bug fixes 🐛:
- Fix OpenID Connect with Debian 13
- Fix MySQL / MariaDB bug wrongly sorting new articles
- Fix SQLite bind bug when adding tag
Breaking changes 💥:
- Move unsafe autologin to an extension
- Potential breaking changes for some extensions (which have to rename some old functions)
This release has been made by @Alkarex, @Frenzie, @Inverle, @aledeg, @andris155, @horvi28, @math-GH, @minna-xD and newcomers @Darkentia, @FollowTheWizard, @GreyChame1eon, @McFev, @jocmp, @larsks, @martinhartmann, @matthew-neavling, @pudymody, @raspo, @scharmach, @scollovati, @stag-enterprises, @vandys, @xtmd, @yzx9.
Full changelog:
- Features
- New sorting and filtering by date of User modified #7886, #8090,
#8105, #8118, #8130- Corresponding search operator, e.g.
userdate:PT1Hfor the past hour #8093 - Allows finding articles marked by the local user as read/unread or starred/unstarred at specific dates for e.g. undo action.
- Corresponding search operator, e.g.
- New sorting by article length #8119
- New advanced search form #8103, #8122, #8226
- Add compatibility with PCRE word boundary
\band\Bfor regex search using PostgreSQL #8141 - More uniform SQL search and PHP search for accents and case-sensitivity (e.g. for automatically marking as read) #8329
- New overview of dates with most unread articles #8089
- Allow marking as read articles older than 1 or 7 days also when sorting by publication date #8163
- New option to show user labels instead of tags in RSS share #8112
- Add new feed visibility (priority) Show in its feed #7972
- New ability to share feed visibility through API (implemented by e.g. Capy Reader) #7583, #8158
- Configurable notification timeout #7942
- OPML export/import of unicity criteria #8243
- Ensure stable IDs (categories, feeds, labels) during export/import #7988
- Add username and timestamp to SQLite export from Web UI #8169
- Add option to apply filter actions to existing articles #7959, #8259
- Support CSS selector
~subsequent-sibling #8154- Upstream PR phpgt/CssXPath#231
- Rework saving of configuration files for more reliability in case of e.g. full disk #8220
- Web scraping support date format as milliseconds for Unix epoch #8266
- Allow negative category sort numbers #8330
- New sorting and filtering by date of User modified #7886, #8090,
- Performance
- Improve SQL speed for updating cached information #6957, #8207,
#8255, #8254, #8255 - Fix SQL performance issue with MySQL, using an index hint #8211
- Scaling of user statistics in Web UI and CLI, to help instances with 1k+ users #8277
- API streaming of large responses for reducing memory consumption and increasing speed #8041
- Improve SQL speed for updating cached information #6957, #8207,
- Security
- 💥 Move unsafe autologin to an extension #7958
- Fix some CSRFs #8035
- Strengthen some crypto (login, tokens, nonces) #8061, #8320
- Create separate HTTP
Retry-Afterrules for proxies #8029, #8218 - Add
data:to CSP in subscription controller #8253 - Improve anonymous authentication logic #8165
- Enable GitHub release immutability #8205
- Bug fixing
- Exclude local networks for domain-wide HTTP
Retry-After#8195 - Fix OpenID Connect with Debian 13 #8032
- Fix MySQL / MariaDB bug wrongly sorting new articles #8223
- Fix MySQL / MariaDB database size calculation #8282
- Fix SQLite bind bug when adding tag #8101
- Fix SQL auto-update of field
f.kindto ease migrations from FreshRSS versions older than 1.20.0 #8148 - Fix search encoding and quoting #8311, #8324, #8338
- Fix handling of database unexpected null content (during migrations) #8319, #8321
- Fix drag & drop of user query losing information #8113
- Fix DOM error while filtering retrieved full content #8132, #8161
- Fix
config.custom.phpduring install #8033 - Fix do not mark important feeds as read from category #8067
- Fix regression of warnings in Web browser console due to lack of
window.bcryptobject #8166 - Fix chart resize regression due to
chart.jsv4 update #8298 - Fix CLI user creation warning when language is not given #8283
- Fix merging of custom HTTP headers #8251
- Fix bug in the case of duplicated mark-as-read filters #8322
- Exclude local networks for domain-wide HTTP
- SimplePie
- Fix support of HTTP trailer headers #7983, simplepie#943
- Apply HTTPS policy also on GUIDs and permalinks #8037, simplepie#951
- Fix
WordPress.comHTTP duplicates with WebSub Automattic/pushpress#16
- Fix
- Implement HTML whitelist for SimplePie sanitizer #7924, simplepie#947
- Various upstream contributions simplepie#940, simplepie#944
- Deployment
- Docker default image updated to Debian 13 Trixie with PHP 8.4.11 and Apache 2.4.65 #8032
- Docker alternative image updated to Alpine 3.23 with PHP 8.4.15 and Apache 2.4.65 #8285
- Fix Docker healthcheck
cli/health.phpcompatibility with OpenID Connect #8040 - Improve Docker for compatibility with other base images such as Arch Linux #8299
- Improve
cli/access-permissions.shto detect the correct permission Web group such aswww-data,apache, orhttp
- Improve
- Update PostgreSQL volume for Docker #8216, #8224
- Catch lack of
exec()function for git update #8228 - Work around
DOMDocument::saveHTML()scrambling charset encoding in some versions of libxml2 #8296 - Improve configuration checks for PHP extensions (in Web UI and CLI), including recommending e.g.
php-intl#8334
- UI
- New button for toggling sidebar on desktop view #8201, #8286
- Better transitions between groups of articles #8174
- New links in transitions and jump to next transition #8294
- More visible selected article #8230
- Show the parsed search query instead of the original user input #8293,
#8306, #8341 - Show search query in the page title #8217
- Scroll into filtered feed/category on page load in the sidebar #8281, #8307
- Fix autocomplete issues in change password form #7812
- Fix navigating between read feeds using shortcut shift+j/k #8057
- Dark background in Web app manifest to avoid white flash when opening #8140
- Increase button visibility in UI to change theme #8149
- Replace arrow navigation in theme switcher with
<select>#8190 - Improve scroll of article after load of user labels #7962
- Keep scroll state of page when closing the slider #8295, #8301
- Scroll into filtered feed/category on page load #8281
- Display sidebar dropdowns above if no space below #8335, #8336
- Use native CSS instead of SCSS #8200, #8241
- Using CSS nesting and relative colours.
- Various UI and style improvements: #8171, #8185, #8196
- JavaScript finalise migration from
Promisetoasync/await: #8182
- API
- Extensions
- I18n
- Translation status as text in README #7842
- Add new translate CLI commands
move#8214 - Change some regional language codes to comply with RFC 5646 / IETF BCP 47 / ISO 3166 / ISO 639-1 #8065
- Improve German #8028
- Improve Greek #8146
- Improve Finnish #8073, #8092
- Improve Hungarian #8244
- Improve Italian #8115, #8186
- Improve Polish #8134, #8135
- Improve Russian #8155, #8197
- Improve Simplified Chinese #8308, #8313
- Misc.
- Add code to modify a search expression #8293
- Remove Pocket sharing service #8127, #8128
- Update to PHPMailer 7.0.1 #8048, #8180, #8272
- 💥 Housekeeping of
lib_rss.phpwith potential breaking changes for some extensions #8193, - Use native PHP
#[Deprecated]#8325 - Improve PHP code #8156, #8203, #8284,
#8292, #8297 - GitHub Actions:
--no-progress#8315 - Update dev dependencies #8043, #8044,
#8045, #8046, #8047,
#8052, #8176, #8177,
#8178, #8179, #8210,
#8270, #8271, #8273,
#8274, #8275, #8276


















