LinuxServer Changes:
Rebasing to alpine 3.15 with php8. Restructure nginx configs (see changes announcement).
FreshRSS Changes:
A few highlights ✨:
- New Web scraping feature HTML+XPath for Web pages without any RSS/ATOM feed #4220
- Add support for Dynamic OPML #4407
- New search engine supporting (nested) parentheses, also with negation #4378
- Allow many (50k+) feeds #4347 and other performance improvements
- New option to exclude some DOM elements with a CSS Selector when retrieving an article full content #4501
- New option to automatically mark as read gone articles #4426
- 2 new themes and plenty of UI improvements
- Supported by Fluent Reader Lite client on Android and iOS #4595
- Several bug fixes
- 1.20.x will be the last release(s) to support PHP 7.0 before requiring PHP 7.2+
Detailed tracked changes.
Full changelog:
- Features
- New Web scraping feature HTML+XPath for Web pages without any RSS/ATOM feed #4220
- Add support for Dynamic OPML #4407
- Subscriber: Ability for a category to be dynamically populated with a list of feeds provided by a remote OPML
- Publisher: Ability to dynamically export a FreshRSS view (all, feed, category) into a dynamic OPML
- New search engine supporting (nested) parentheses #4378, #4503
(author:Alice OR intitle:hello) (author:Bob OR intitle:world)
- also with negation:
!((author:Alice intitle:hello) OR (author:Bob intitle:world))
- and supporting calling user queries from the search field by name:
search:"My query"
orsearch:QueryA
, or by ID:S:3
- Allow many (50k+) feeds #4347
- New option to exclude some DOM elements with a CSS Selector when retrieving an article full content #4501
- New option to automatically mark as read gone articles #4426
- New OPML export/import of some proprietary FreshRSS attributes #4342
- Tolerate the import of some invalid OPML files #4591
- New feed settings to allow cookies and HTTP redirects #4470
- Performance: Easier text search indexes for fast searches with PostgreSQL #4505
- The indexes must be manually added for now. Using GIN
pg_trgm
- The indexes must be manually added for now. Using GIN
- Easier definition of default user queries for new users in
data/config-user.custom.php
#4360 - New sharing through standard Web Share API #4271
- New sharing with Xing, Reddit, Pinterest, WhatsApp #4270
- New sharing with
archive.today
#4530
- SimplePie
- New method
rename_attribute()
instead of removing attributes to better be able to style/hide content of articles #4175,
simplepie#717 - Fix parsing of HTTP Links simplepie#729
- Fix
status_code
type for PHP 8.1+ simplepie#728 - Fix relative URLs simplepie#744
- New method
- Bug fixing
- Fix last update & archive logic (especially for very long feeds, for which some old items were marked as unread) #4422
- Fix regression with Fever API on 32-bit platforms #4201
- Fix read-when-same-title bug #4206
- Fix some search expressions such as
"ab cd"
andab-cd
#4277 - Fix auto-load of more articles when using shortcuts #4532
- Fix space shortcut #4581
- WebSub: Use hash instead of base64 to handle long URLs #4282
- Fix handling of authors with ampersand
&
#4287 - Fix lazy loading images containing a quote
'
in the address #4330 - Fix database size calculation for PostgreSQL #4249
- Fix HTTP root redirection in some cases (trailing slash with a proxy) #4167
- Fix
htmlspecialchars()
warnings with PHP 8.1+ #4411 - Fix OPML category encoding #4427
- Fix one category of favicon update problem #4358
- Fix rare mark-as-read bug #4456
- Add missing extension hook
freshrss_user_maintenance
in CLI #4495 - Rename conflicting function
errorMessage()
which exists on some platforms #4289 - Fix remain of bookmarklet #4240
- UI
- Performance: Automatic simplification of layout for 1000+ feeds #4357
- Performance: New option icons-as-emojis #4353
- Manage feed configuration using a dynamic slider view #4226, #4297, #4394
- New option for custom HTML logo/title in the main Web UI view #4369
- Show errored, empty, muted feeds in statistics #4276
- Improve configuration of registration form #3932
- Improve subscription list drag & drop #3953
- Improve extension manager #4181
- Improve idle feeds list #4192
- Improve feed link in normal view #4006
- Improve browser notification for unread message #4193
- Improve notification banner #4023
- Improve new article banner #4037
- Improve pagination + load more button #4125
- Improve log view #4204
- Improve unread articles counter in normal view #4166
- Automatically set the category when adding a feed from an existing category #4333
- Better PWA colours for mobile #4254
- Improve article footer #4306
- Various UI and style improvements #4205, #4212, #4218,
#4238, #4455, #4298,
#4383, #4452, #4455,
#4466, #4471, #4472,
#4474, #4498, #4502,
#4504, #4558, #4546,
#4541
- Themes
- Extensions
- Allow extensions using
entry_before_insert
to changeentry->isRead()
#4331
- Allow extensions using
- i18n
- API
- Restrict maximum length of item content length for clients compatibility #4583
- Supported by Fluent Reader Lite #4595
- Deployment
- Docker: Performance: entrypoint fix buffering, problematic when importing large OPMLs during install #4417
- Docker default image (Debian 11 Bullseye) updated to PHP 7.4.30 and Apache 2.4.54
- Docker: alternative image updated to Alpine 3.16 with PHP 8.0.22 and Apache 2.4.54 #4391
- Add PHP extensions
php-openssl
(used by PHPMailer) andphp-xml
(used by SimplePie) #4420
- Add PHP extensions
- Docker: Upgraded dev image
freshrss/freshrss:newest
to PHP 8.2 #4420 - Include PHP extensions in Composer for easier automated deployment #4497
- Improved trimming of
base_url
to avoid some common configuration bugs, especially via Docker / CLI #4423
- CLI
- Allow empty DB prefix #4488
- Compatibility
- Security
- Improved error page, properly returning HTTP 500 and CSP #4465
- Misc.
- Replace
lib_phpQuery
byPhpGt/CssXPath
library for full content retrieval #4261- Add support for star CSS Selectors such as
a[href*="example"]
CssXPath#181
- Add support for star CSS Selectors such as
- Performance: Do not render irrelevant HTML for Ajax calls #4310, #4366
- Performance: New limit option when reloading a feed #4370
- Optional possibility to use Composer to update some libraries #4329, #4368
- Update to PHPMailer 6.6.0 #4329
- Use
.gitattributes
export-ignore
#4415 - Remove HTTP Referer for HTML download #4372
- Add database field
attributes
(JSON) for entries #4444 - Improve dev automated checks #4209
- Update dev dependencies #4173, #4203, #4241,
#4419, #4424 - Fix extension list warning when offline#4571
- Code improvements #4130, #4194, #4201,
#4202, #4258, #4263,
#4356, #4436, #4489,
#4490, #4496
- Replace