FreshRSS 1.29.0
This is a major release.
Feature highlights✨:
- New sort order preferences at global, category, and feed levels
- Use feed-provided icon
- New option to hide sidebar by default
- Show time since when a feed has problems
- New functions to handle plural in internationalisation
- New
cli/purge.phpto apply purge policy from command line
Bug fixes highlights 🐛:
- Improve support of PHP 8.5+
- Several fixes related to searches
Security highlights 🛡:
- Limit cURL to protocols HTTP, HTTPS
UI highlights 🖼:
- Improve mobile view with multiple lines when thumbnails and summaries are shown
- Several themes improved
Extensions highlights 🧩:
- New Webhook extension for automated RSS notifications
- New LLM Classification extension to automatically tag incoming articles based on a prompt sent to an LLM
This release has been made by @Alkarex, @Inverle, @Kiblyn11, @math-GH, @rupakbajgain, @xtmd and newcomers @polybjorn, @olivluca, @tomasodehnal, @PeterVavercak, @mrtnrdl, @ale-rt, @cweiske, @rid3r45, @gabbihive, @drosell271, @Kachelkaiser, @zanivann, @nanos, @bowencool, @pe1uca, @matheusroberson, @DenuxPlays, @rlrs, @chanse-syres, @IEEE-754, @umaidshahid, @michi-onl
Full changelog:
- Features
- New sort order preferences at global, category, and feed levels #8234
- New filtering by date of Server modification date #8131, #8576
- Corresponding search operator, e.g.
mdate:P1Dfor finding articles modified by the author / server during the past day. - Especially useful for optimising the API synchronisation.
- Corresponding search operator, e.g.
- Use feed-provided icon #8633
- New option to automatically mark new articles as read if an identical GUID already exists in the same category #8673
- Automatic feed visibility/priority during search #8609
- Add feed visibility filter to statistics view unread dates #8489
- Add option to enable/disable notifications, also for PWA #8458
- Add a form to create new user queries on the User Queries page #8623
- Allow WebSub hub push from same private network #8450
- Support category field in JSON feed import #8786
- Bug fixing
- Fix wrong search
toStringin case of regex-looking string #8479 - Fix article last seen date in case of feed errors #8646
- Fix search expansion with backslash #8497
- Fix user query parsing #8543
- Fix search in shared user queries #8789
- Fix redirect to wrong view after mark as read in reader and global views #8552
- Fix SQLite paging when sorting by article length #8594
- Fix change sorting during paging #8688
- Fix SQL keyset pagination when sorting by category name #8597
- Fix SQL duplicates in the user labels when sorting randomly #8626
- Fix wrong error redirect in subscription management #8625
- Fix do not include hidden feeds when counting total number of unread articles #8715
- Update user modify date when changing extensions UserJS / UserCSS #8607
- Non-strict OPML export #eedefb
- Fix wrong search
- Security
- Limit cURL to protocols HTTP, HTTPS #8713
- Better sanitise favicon URLs #8714
- New setting for
<iframe>referrer allow list #8672 - Fix email validation and allow error page for unverified email users #8582
- Add
allowfullscreento<iframe>#8467 - Rewrite
Set-Cookieusing native PHP support ofSameSite#8447, #8778- Sanitize lifetime of session cookies from
session.cookie-lifetimeinphp.ini
- Sanitize lifetime of session cookies from
- Update to
<meta name="referrer" content="no-referrer" />from deprecatednever#8725 - Preventive measure against search ingestion #8777
- UI
- New option to hide sidebar by default #8528
- Improve mobile view with multiple lines when thumbnails and summaries are shown #8631
- New option to disable unread counter in tab title and favicon #8728
- Show time since when a feed has problems #8670
- Improve add feed UI #8683
- Improve slider behaviour when using navigate back button #8496, #8524
- Improve consistency of slider behaviour after submitting form #8612
- Create dynamic favicons from SVG instead of PNG canvas #8577, #8588
- Only display scrollbar everywhere if there's an overflow (especially for Chromium) #8542
- Fix CSS padding of
.content pre code#8620 - Fix wrong navigation buttons layout on Chromium #8606
- Fix don’t mark as read if middle click is outside of article link #8553
- More robust JS #8595
- Fix sidebar slide animation at narrow viewports #8747
- Visually dim disabled users in user management table #8768
- Improve multiple UI themes #8711, #8732,
#8733, #8734, #8735,
#8736, #8737, #8738,
#8739, #8743, #8746,
#8749, #8761, #8781,
#8784, #8785 - Various UI and style improvements: #8537, #8538,
#8541, #8624, #8731,
#8774
- Deployment
- Extensions
- New Webhook extension for automated RSS notifications Extensions#456
- New LLM Classification extension to automatically tag incoming articles based on a prompt sent to an LLM Extensions#458
- New extension methods to get typed configuration values #8696
- New hook:
Minz_HookType::ActionExecute#8599, #8603 - New hook to modify the list of feeds to actualize #8655, #8675
- Allow passing
Minz_HookTypeas hook name inregisterHook()#8600 - Return more info and status from
httpGet()#8700 - Make
httpGet()cache nullable #8705 - Allow extensions’ configuration UI to use
select-input-changerJavaScript helper #8721
- SimplePie
- Bump upstream #8628, simplepie#71
- New function
get_icon_url()for feed favicon simplepie#974 - Fix Undefined array key in
get_thumbnail()#8634, simplepie#970 - Fix int types for enclosures #8702, simplepie#975
- Fix HTTPS headers given to SimplePie, e.g. for some HTTP/2 cases #8742
- CLI
- New
cli/purge.phpto apply purge policy #8740
- New
- I18n
- CLI validate language directory names #8767
- New functions to handle plural, and new
timeago()#8670 - Improve German #8491, #8557, #8689,
#8704 - Improve Italian #8517, #8519, #8554,
#8555, #8556, #8566 - Improve Latvian #6553
- Improve Polish #8536
- Improve Portuguese #8649
- Improve Simplified Chinese #8474, #8475, #8476
- Improve Traditional Chinese #8709, #8716, #8723,
#8730, #8748 - Improve Spanish #8572
- Misc.
- Initial conventions for AI agents and humans:
AGENTS.md,SKILLS.md,instructions.md#8478 - Update to CSSXPath 1.5.0 #8642
- Update to PHPMailer 7.0.2 #8483
- SQL improve PHP syntax uniformity #8604
- Trim SQL whitespace before parenthesis #8522
- Improve PHP code #8627, #8644, #8753,
#8697 - Add dev legacy rules PHPCS 3 #8645
- Update dev dependencies #8469, #8480, #8499,
#8545, #8546, #8547,
#8617, #8638, #8660,
#8661, #8662, #8663,
#8664, #8665, #8666,
#8667, #8668, #8685,
#8752, #8754, #8755,
#8756, #8757, #8758,
#8772, #8798
- Initial conventions for AI agents and humans:
Der Deutsch-Schwede bekommt beim DEL2-Konkurrenten der DEG eine weitere Chance, sich für ein längerfristiges Engagement zu empfehlen. Wir begleiten das Geschehen, die Personalplanung und alle Entwicklungen beim achtmaligen Deutschen Meister in unserem Liveblog.

Der Sammelbuch-Hersteller Panini hat sein Angebot erweitert: Seit Donnerstag ist das erste Stickeralbum zur Dritten Liga erhältlich. Die Düsseldorfer sind darin auf besondere Weise vertreten. In unserem Blog halten wir Sie auf dem Laufenden.
