A few highlights ✨:
New shareable user query mechanism to share lists of articles by HTML, RSS, OPML
Deprecates RSS sharing with master token
New CLI for database backup & restore
New JSON scraping mode to consume JSON data and JSON Feeds
New support for HTTP POST
New option to automatically add labels to incoming articles
New button to download a feed configuration as OPML
Many bug fixes
This release has been made by several contributors: @aledeg , @Alkarex , @andris155 , @CilgaIscan , @cn-tools , @den13501 , @eta-orionis , @Frenzie , @FromTheMoon85 , @gmgall , @hkcomori , @jakopo87 , @laxmanpradhan , @loviuz , @math-GH , @MayMeow , @OctopusET , @PedroPMS , @roughnecks , @soniyaprasad77 , @th0mcat , @thomasrenes , @tiborepcek , @wolfpld , @yzqzss , @zukizukizuki
and several newcomers @eta-orionis , @gmgall , @hkcomori , @jakopo87 , @jgtorcal , @krm-shrftdnv , @laxmanpradhan , @loviuz , @PedroPMS , @roughnecks , @soniyaprasad77 , @th0mcat , @zukizukizuki
Full changelog :
Features
New shareable user query mechanism to share list of articles by HTML, RSS, OPML #6052
Deprecates RSS sharing with master token
New JSON scraping mode to consume JSON data #5662 , #6317 ,
#6369 , #6476
New support for JSON Feeds #5662
New support for HTTP POST #5662
New options to automatically add labels to incoming articles #5954
New button to download a feed configuration as OPML #6312
Web scraping support more encodings such as EUC-JP #6112
Web scraping support password-protected queries (refactor some cURL options and use CURLOPT_USERPWD) #6177
Web scraping HTTP GET allow UTF-8 even when charset is far from top #6271
Allow manual refresh of disabled feeds #6408
Allow multiple authors on enclosures #6272
New system option in data/config.php for number of feeds to refresh in parallel from UI #6124
CLI
API
New compatible app Read You #4633 , #6050
Reduce API memory consumption #6137
Allow negative feed IDs for future special cases #6010
Only return OK for requests without query parameters #6238
Bug fixing
Better account for some edge cases for cron and automatic labels during feed refresh #6117
Better support for thumbnails in RSS feeds #5972
Auto-update PostgreSQL or MariaDB / MySQL databases for column details changes since FreshRSS 1.21.0 #6279
For SQLite, DB update require running ./cli/db-backup.php ; ./cli/db-restore.php --force-overwrite
Fix SQLite import of exports produced before FreshRSS 1.20.0 #6450
Fix SQLite release handle to fix deleting users on Microsoft Windows #6285
Fix to allow admins to create user even when there are Terms Of Service #6269
Fix updating the uncategorized category deletes the title #6073
Fix disable master authentication token #6185
Fix CSS selector preview #6423
Fix CSS selector encoding #6426
Fix export of CSS selector in OPML of individual feeds #6435
Fix OPML import of CURLOPT_PROXYTYPE #6439
Fix favicon with protocol-relative URLs have duplicate slashes #6068
Fix feed TTL+muted logic #6115
Fix apply mark as read to updated articles too #6334
Fix ZIP export on systems with custom temp folder #6392
Fix number of posts per page during paging #6268
Fix clipboard sharing UI #6301
Fix shortcut for clipboard sharing #6277
Fix user-query filter display #6421
SimplePie
Security
Replace iframe allow attribute #6274
Deployment
Disable unused PHP modules in our Debian-based Docker image #5994
UI
No warning for muted feeds #6114
Various UI and style improvements #6055 , #6074 ,
#6241 , #6242 , #6289 ,
#6299 , #6314 , #6357 ,
#6373 , #6376 , #6385 ,
#6390 , #6444 , #6445
Improve theme Origine compact #6197
i18n
Extensions
Sanitize parsing list of extensions names and version number #6016 ,
#6155 , Extensions#214 , #6186
Apply filter actions such as mark as read after the entry_before_insert hook for extensions #6091
New developer command to test all third-party extensions Extensions#228 , #6273
composer run-script phpstan-third-party
New function Minz_Extension::amendCsp() for extensions to modify HTTP headers for Content Security Policy #6246
New property FreshRSS_Entry::isUpdated() for extensions to know whether an entry is new or updated #6334
Compatibility
Fix PHP 7.4 compatibility for automated tests #6038 , #6039
Fix PHP 8.2+ compatibility for e-mails #6130
Use PHP 8.3+ #[\Override] #6273
Misc.