Repository navigation
Releases: FreshRSS/FreshRSS
Release list
FreshRSS 1.30.4
This is a fourth security release in the continuation of 1.30.x, mostly to address some severe PHP vulnerabilities and update our official alternative Docker images (Alpine) (our default Docker images based on Debian were already fixed).
Note that our rolling-release channel (edge) is recommended for faster security patches.
Bug fixes highlights 🐛:
- PHP CVE-2026-109618, CVE-2026-109619 php#2026-10-21-5
This release has been made by @Alkarex, @Frenzie and newcomer @icco
Full changelog:
FreshRSS 1.30.3
This is a third security release in the continuation of 1.30.x, mostly to address some severe PHP vulnerabilities and update our official default Docker images (Debian) (but not our alternative Alpine images yet, which are delayed).
Note that our rolling-release channel (edge) is recommended for faster security patches.
Bug fixes highlights 🐛:
- PHP CVE-2026-109618, CVE-2026-109619 php#2026-10-21-5
This release has been made by @Alkarex, @Inverle and newcomer @Ricardo-Simoes
Full changelog:
FreshRSS 1.30.2
This is a second security and bug-fixing release in the continuation of 1.30.x.
Note that our rolling-release channel (edge) is recommended for faster security patches.
Bug fixes highlights 🐛:
- Fix PHP 8.5+ deprecation warning with SQLite
- Block
data:URI scheme in some cases
Performance highlights 🏎️:
- Reduce memory consumption of export
This release has been made by @Alkarex, @Inverle and newcomers @abp002, @Arslan-TR, @Emredinho61, @HawkForge, @lordmarrik, @spa77k, @tomac4t, @tpq2030
Full changelog:
- Security
- Bug fixes
- Performance
- Reduce memory consumption of export #9350
- Features
- Better doc and log proxy cases #9436
- Extensions
- Update registerHook docs with newer PHP 8.1+ syntax for callables #9443, Extensions#548
- UI
- I18n
- Misc.
FreshRSS 1.30.1
This is a security-oriented release with several security patches and bug fixes in the continuation of 1.30.0.
Note that our rolling-release channel (edge) is recommended for faster security patches.
Bug fixes highlights 🐛:
- Some security attack scenarios patched
- Fix domain-wide
Retry-After - Fix muting of feeds gone with HTTP 410
Feature highlights✨:
- CLI: Add optional feed argument to
actualize-user.php
This release has been made by @Alkarex, @andris155, @fzlzjerry, @Inverle, @jamalkamaladdin, @jtracey, @Otolock and newcomers @akine, @colons, @ethanstoner, @gigioneggiando, @Juice-de-Orange, @pavel-miniutka, @qwist1233-cpu, @Sharawey74, @shcheglovnd, @TapuGithub, @yuchenshi, @ZainnQureshii
Full changelog:
- Deployment
- Reword recommendations and explanations for edge (rolling release) vs. latest (versioned release) channels #9270
- Security
- Config + increase default values for search max length and depth #9280
- Accept a trusted proxy address given without a subnet #9301
- Warn during session regenerate fail #9311, #9376
- CI/CD add zizmor workflow for action security checks #9228, #9331
- Use PHP
#[\SensitiveParameter]#9322 - Reject token access (RSS/OPML export, feed refresh) for disabled accounts #9336
- Require POST+CSRF for self-update mutations #9335
- Make the login challenge nonce one-time #9334
- Bound ZIP import against decompression bombs #9332
- Rotate session ID on all authenticated transitions #9333
- Minz: Remove vulnerable and unused code path for displaying errors #9395
- Fix NAT64 feed fetching on IPv6-only hosts #9372
- Bug fixes
- Fix domain-wide
Retry-After#9390 - Fix muting of feeds gone with HTTP 410 #9391
- Fix infinite redirect loop due to
SCRIPT_NAMEinPATH_INFO#9282, #9287 - Restore the automatic reading view after marking articles as read, while preserving explicit filters #9288
- Fix adaptive reading state after marking articles read #9290
- Fix regression sharing links #9303
- Don’t disable anonymous refresh when anonymous feed access is disabled #9354
- Fix regression with HTTPS proxies due to wrong TLS SNI resolution #9341
- Better enforce limits for feeds and categories #9357
- Fix JavaScript error when opening a label menu in sidebar #9377
- Fix custom favicon with GReader API #9409
- Fix domain-wide
- CLI
- Add optional feed argument to
actualize-user.php#9319
- Add optional feed argument to
- UI
- Extensions
- Call
check_url_before_addhook when previewing a feed #9343
- Call
- I18n
- Misc.
- Check SVG optimization in the tests CI workflow with SVGO #9361
- Move PHPUnit flags to a config file and use strictest failure mode #9374
- Avoid writing to log files during unit tests #9373
- Bump Ruby gems automatically with Dependabot for docs #9401
- Update dev dependencies #9323, #9324,
#9325, #9326, #9327,
#9328, #9368, #9378,
#9379, #9380, #9381,
#9402, #9403, #9404,
#9405, #9406, #9407
FreshRSS 1.30.0
This is a security-oriented major release with several important security patches, so users are encouraged to update without delay.
From this release, we are also making it clear that our rolling-release channel (edge) is recommended for faster security patches.
Breaking change 💥:
- Disallow access to local networks such as
127.0.0.1by default, for security reasons
Feature highlights✨:
- Filter global view feed list by state and search
- New option to hide badges showing number of unread articles (Phantom Obligation)
- Refresh only feeds in the current view
- Offer to add a prefix when re-sharing user labels
Bug fixes highlights 🐛:
- Several security attack scenarios patched
- Fix lost elements while parsing search query
- Fix “mark as read older than…” widening the active search
- Fix saving user queries
- Fix SQL errors breaking some regex searches with MySQL / MariaDB
This release has been made by @Alkarex, @andris155, @ColonelMoutarde, @Frenzie, @IEEE-754, @Inverle, @math-GH, @nykula, @polybjorn, @Stunkymonkey and newcomers @0xdeadrelay, @AdamKorcz, @aligundogar, @bossaarebecca-alt, @Cactys12, @chrislongros, @Divinelink, @Elgeryy1, @featurecreep-cron, @Fripix, @fzlzjerry, @georatas, @gshimo, @iatman ,@ihsanarifr, @jamalkamaladdin, @JamBalaya56562, @jbrayton, @jeremy-code, @juherr, @kobihikri, @LeeXiaolan, @masskrdjn, @mohammadlashkari, @nathanpixodeo, @Otolock, @payaci, @salvador-castro, @SamCyber001, @satyvm, @senti-man, @simitana, @ThomasVermeer, @Totara-thib, @TowyTowy, @utkutibet, @XiaoSong1223
Full changelog:
- Security
- 💥 Disallow access to local networks such as
127.0.0.1by default, for security reasons (breaking change) #8400,
#9195- Selected local networks can be allowed under System configuration or using the
INTERNAL_HOST_ALLOWLISTenvironment variable - Passing
*allows all networks like before (unsafe)
- Selected local networks can be allowed under System configuration or using the
- Improve SSRF mitigations by restricting
CURLOPT_PROXY#8950 - Fix auth CSRFs (login and register actions) #9171
- Log invalid challenge and ignore JSON error during login #9278
- Disallow fetching of non remote URI #9215
- Only allow HTTP/HTTPS schemes for enclosure and thumbnail URLs #9272
- Fix access control in
rssandopmlactions #8912 - Refactor to use CSRF field directly instead of borrowing it from a form #9169, #9205
- Cleaner limit anonymous mode to default user #9235
- Fix HTML ingestions in templates #9146, #9170
- Fix bad header filtering bypass #8964
- Sanitize all fields during JSON import #9168
- Gate
greader(JSON) user query share format behind Share by OPML #9248 - Public OPML should not contain cURL parameters #9070
- Ignore security-relevant OPML attributes for dynamic OPML sources #9276
- Strip feed URL credentials from anonymous user query output #9246
- Set limits for regex during search #8913
- Fix path disclosure in cache error message #9206
- Limit the length and parentheses nesting depth of a search query #9277
- Use timing-safe comparison for tokens #8945
- Use
hash_equals()for GReader API token comparison #9183 - Mailer: allow disabling SMTPAutoTLS via config #9026
- Warn during install if document root does not point to
./p/#9010 - Stop the unread-count poller after the session ends #9065
- Add remote IP address to warning on form login #8942
- Pin the GitHub actions using SHA #9200
- Harden cache and SimplePie cache deserialization #9273
- 💥 Disallow access to local networks such as
- SimplePie
- Security: Disallow
javascript:URI scheme (protocol) #8263 - Fix wrong player parent logic leading to invalid type #8893, simplepie#978
- Consistently enable
XML_OPTION_PARSE_HUGE#8894, simplepie#977 - Fix null warning in IRI for PHP 8.5+ #8918, simplepie#979
- Fix sanitizer whitelist stripping order #9066
- Show only one representation per
media:group#9009 - Bump upstream SimplePie #8947
- Security: Disallow
- Features
- Filter global view feed list by state and search #9132
- Use global view when searching from subscription page #9144
- New option to hide badges showing number of unread articles (Phantom Obligation) #8844
- Refresh only feeds in the current view #9060
- Offer to add a prefix when resharing user labels #9236
- Add log search to the logs page #9059
- Add configurable
log_levelsystem setting #9185 - New option to keep or not the custom sort order when navigating between categories and feeds #8969
- New per-feed option to show or hide enclosures (attachments) #9015
- Detect JSON feeds from URLs containing
json#9058- Also when subscribing via the API #9167
- Order categories during OPML import/export according to position #9203
- OPML: include each feed’s refresh interval (TTL) in export/import #8982
- Log failed CSS content retrieval (Web scraping) #9077
- Allow providing a category when adding a feed by bookmarklet #9047
- Add LinkAce sharing service #9024
- Add Nextcloud Bookmarks sharing service #9032
- Filter global view feed list by state and search #9132
- Bug fixing
- Fix lost elements while parsing search query #8884
- Fix “mark as read older than…” widening the active search #9173
- Fix saving user queries #9190
- Fix SQL errors breaking some regex searches with MySQL / MariaDB #9036
- Fix marking filtered label articles as read in SQLite and PostgreSQL #9264
- Fix tagging an already-tagged entry on PostgreSQL raising a SQL error instead of being a no-op #9136
- PostgreSQL: make committing new entries resilient to duplicate keys #9231
- Preserve negative timezone offsets in date intervals #9071
- Fix feed dropdown bugs due to hash desync #8949
- Fix slider not reinitializing after form submit #8973
- Minz: Skip loading duplicated JS/CSS assets #9000
- Respect
simplepie_syslog_enabledfor the uses cache logs #8986 - Fix statistics repartition averages #8996
- Fix article hover date visibility #8997
- Keep search and state filters when marking articles as read #9007
- Fix
--db-prefixsilently drops following CLI flags #9042 - Remove stale dynamic favicon links #9127
- Fix desync between favicon and title unread counters [#9262](https://github.com/FreshRSS/FreshRSS/...
FreshRSS 1.29.1
This is bug-fix release for 1.29.0.
Feature highlights✨:
- Accept
.txtimport of feed URLs in additional to e.g. OPML - New CLI for automatic periodic SQLite export with retention
- More feed info: last received date, publication date
Bug fixes highlights 🐛:
- Fix cookies with some browsers
- Fix search in shared user queries with empty results
UI highlights 🖼:
- Improve Web browsers compatibility
This release has been made by @Alkarex, @Frenzie, @IEEE-754, @Inverle, @McFev, @ciro-mota, @cweiske, @polybjorn and newcomer @mzl2233
Full changelog:
- Features
- Bug fixing
- Fix cookies with some browsers #8867
- Fix search in shared user queries with empty results #8863
- Fix XML errors with loading invalid OPML in
lib_opmllibrary #8652, #8853,
lib_opml#48, lib_opml#51 - Fix ensure maximum number of feeds also with Dynamic OPML #8832
- Fix click mark as read #8817
- UI
- Improve browser compatibility to keep mobile navigation at the bottom #8833
- Improve support of older/simpler Web browsers/engines such as SeaMonkey #8810,
#8811, #8813, - Improve Swage theme #8842
- Rename Nord theme to Nord #8805
- Replace GIF spinner by CSS spinner #8804, #8812
- Various UI and style improvements: #8800, #8816,
- I18n
- Misc.
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](https://githu...
FreshRSS 1.28.1
This is a release focussing on bug fixing, in particular regressions from the release 1.28.0.
Selected new features ✨:
- New customisable message for closed registrations
- Add username in Apache access logs (also in Docker logs): for GReader API, and for HTTP Basic Auth from reverse proxy
Improved performance 🏎️:
- Disable counting articles in user labels for Ajax requests (unused)
Many bug fixes 🐛
This release has been made by @Alkarex, @Frenzie, @Inverle and newcomers @ciro-mota, @eveiscoull, @hackerman70000, @Hufschmidt, @johan456789, @martgnz, @mmeier86, @netsho, @neuhaus, @RobLoach, @rupakbajgain.
Full changelog:
- Features
- Bug fixing
- Fix unwanted expansion of user queries (saved searches) applied to filters #8395
- Fix encoding of filter actions for labels #8368
- Fix searching of tags #8425
- Fix refreshing feeds with token while anonymous refresh is disabled #8371
- Fix RSS and OPML access by token #8434
- Fix MySQL/MariaDB
transliterator_transliteratefallback (when thephp-intlextension is unavailable) #8427 - Fix regression with MySQL/MariaDB index hint #8460
- Auto-add
lastUserModifieddatabase column also during mark-as-read action #8346 - Do not include hidden feeds when counting unread articles in categories #8357
- Remove wrong PHP deprecation of OPML export action #8399
- Fix shortcut for next unread article #8466
- Fix custom
session.cookie-lifetime#8446 - Fix feed validator button when changing the feed URL #8436
- Performance
- Disable counting articles in user labels for Ajax requests (unused) #8352
- Security
- Deployment
- Add username in Apache access logs (also in Docker logs): for GReader API, and for HTTP Basic Auth from reverse proxy #8392
- SimplePie
- Update of
CURLOPT_ACCEPT_ENCODING#8376, simplepie#960, simplepie#962 - Fix don’t preserve children inside disallowed
<template>element #8443 - Fixes before PHPStan 2 #8445, simplepie#957
- Update of
- Extensions
- Update
.gitignoreto ignore installed extensions #8372
- Update
- UI
- I18n
- Misc.
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
FreshRSS 1.27.1
This is a security-fix and bug-fix release for FreshRSS 1.27.x.
A few highlights ✨:
- Keep sort and order criteria after marking as read
- Automatic database recovery: skip broken entries during CLI export/import
- Add possibility of Docker
healthcheck - Add security option for CSP
frame-ancestors - Several security fixes
- Several bug fixes
- New translation to Ukrainian
- Improvements of some themes
- And much more…
This release has been made by @Alkarex, @Frenzie, @Inverle, @aledeg, @math-GH and newcomers @beerisgood, @nykula, @horvi28, @nhirokinet, @rnkln, @scmaybee.
Full changelog:
- Features
- Security
- Bug fixing
- Include port number for HTTP
Retry-After#7875 - Fix logic for searching labels #7863
- Fix cURL response parsing for HTTP redirections #7866
- Fix fetching OPML URL with special characters #7843
- Fix validation when creating a new user label #7890
- Fix bug in user self-deletion #7877
- Fix displaying of current date in main statistics #7892
- Fix default values on stat processing #7891
- Fix UI JavaScript error when navigating to last article with keyboard #7957
- Fix some links in anonymous mode #8011, #8012
- Fixes for
no-cache.txt#7907 - Fix Docker Traefik
.ymlandSERVER_DNSexample #7858
- Include port number for HTTP
- SimplePie
- Upstream contribution: Normalize encoding uppercase simplepie#936, #7967
- Sync upstream, including bump to 1.9.0 with better PHP 8.5+ support #7955
- Deployment
- UI
- Keep sort and order after marking as read #7974
- Improve leave validation #7830
- Improve Origine theme visibility of toggle buttons #7956
- Improve Dark pink theme #8020
- Improve Mapco and Ansum themes: read all button in mobile view #7873
- Improve Swage theme #7608
- Use standard CSS
overflow-wrapinstead ofword-wrap#7898 - Various UI and style improvements: #7868, #7872,
#7882, #7893, #7904,
#7952
- I18n
- Clarify the concepts of visibility hidden vs. archived in feeds settings #7970
- Translate the API information page #7922
- Add a default language constant #7933
- Label config delete label #7871
- Add Ukrainian #7961
- Improve Dutch #7940
- Improve German #7833
- Improve Hungarian #7986
- Improve Japanese #7903, #7918
- Improve Polish #7963
- Improve Simplified Chinese #7943, #7944
- Minor improvements #7881
- Add CLI command to add i18n file #7917
- Add
maketarget to generate the translation progress #7905
- Extensions
- Add
entry_before_updateandentry_before_addhooks for extensions #7977
- Add
- Misc.
