普通视图

Received today — 2026年2月5日 FreshRSS releases

FreshRSS 1.28.1

作者Alkarex
2026年1月25日 19:20

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
    • Handle Web scraping of text/plain as <pre class="text-plain"> #8340
    • New customisable message for closed registrations #8462
  • 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_transliterate fallback (when the php-intl extension is unavailable) #8427
    • Fix regression with MySQL/MariaDB index hint #8460
    • Auto-add lastUserModified database 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
    • Change Content-Disposition: inline to attachment in f.php #8344
    • Hardened user methods exists, mtime, ctime #26c1102
  • Deployment
    • Add username in Apache access logs (also in Docker logs): for GReader API, and for HTTP Basic Auth from reverse proxy #8392
  • SimplePie
  • Extensions
    • Update .gitignore to ignore installed extensions #8372
  • UI
    • Add data-category="3" to ease custom CSS styling of articles #8397
    • Fix space between By: and the author’s name #8422
  • I18n
  • Misc.

FreshRSS 1.28.0

作者Alkarex
2025年12月24日 20:27

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:PT1H for 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:PT1H for 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.
    • New sorting by article length #8119
    • New advanced search form #8103, #8122, #8226
    • Add compatibility with PCRE word boundary \b and \B for 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
    • 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
  • 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
  • Security
    • 💥 Move unsafe autologin to an extension #7958
    • Fix some CSRFs #8035
    • Strengthen some crypto (login, tokens, nonces) #8061, #8320
    • Create separate HTTP Retry-After rules 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.kind to 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.php during 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.bcrypt object #8166
    • Fix chart resize regression due to chart.js v4 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
  • SimplePie
  • 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.php compatibility with OpenID Connect #8040
    • Improve Docker for compatibility with other base images such as Arch Linux #8299
      • Improve cli/access-permissions.sh to detect the correct permission Web group such as www-data, apache, or http
    • 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
    • Various UI and style improvements: #8171, #8185, #8196
    • JavaScript finalise migration from Promise to async/await: #8182
  • API
    • API performance optimisation: streaming of large responses #8041
    • Fever API: Add with_ids parameter to mass-change read/unread/saved/unsaved on lists of articles #8312
    • Misc API: better REST error semantics #8232
  • Extensions
    • Add support for extension priority #8038
    • Add support for extension compatibility #8081
    • Improve PHP code with hook enums #8036
    • New hook nav_entries #8054
    • Rename Extensions default branch from master to main #8194
  • 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.

Received — 2025年4月10日 FreshRSS releases

FreshRSS 1.24.2

作者Alkarex
2024年9月23日 22:49

This is a quality-focussed release for the 1.24.x series meant to provide a good product to people blocked on PHP 7.4, while we will increase the requirements to PHP 8.1+ from the next 1.25.x series.

A few highlights ✨:

  • New global option to automatically add articles to favourites
  • New option to share articles from the article title line
  • Add core extensions, shipped by default: UserCSS and UserJS
  • Security: Force log out of users when they are disabled
  • Many bug and regression fixes

This release has been made by @Alkarex, @ColonelMoutarde, @den13501, @hkcomori, @math-GH
and newcomers @dservian, @crisukbot, @TomW1605

Full changelog:

  • Features
    • New global option to automatically add articles to favourites #6648
    • New possibility to share a user query in JSON GReader format #6655
    • New fields image and description for user query share #6541
    • Show article first words when an article title is empty #6240
    • New option to share articles from the article title line #6395
    • Improve JSON Dot Notation module to access more string-friendly types #6631
    • Improve detection of image types for enclosures not providing a type #6653
    • Add sharing to archive.is #6650
  • Security
    • Force log out of users when they are disabled #6612
    • Increase default values for OpenID Connect OIDCSessionMaxDuration and OIDCSessionInactivityTimeout #6642
    • Add default API CORS HTTP headers to shareable user queries #6659
  • Bug fixing
    • Fix parentheses for complex OR Boolean search expressions #6672
    • Fix keep max unread #6632
    • Fix regression in mark as read upon gone #6663
    • Fix regression on mark duplicate titles as read for modified articles #6664
    • Fix regression for Fever API, remove dependency to Exif extension #6624
    • Fix muted feeds for WebSub #6671
    • Fix performance / deadlock of PostgreSQL and MySQL / MariaDB during schema updates #6692
    • Fix HTTP cache of main page (regression since 1.18.0) #6719
    • Fix HTTP cache of shareable user queries #6718
    • Fix HTTP cache for feeds with modified Last-Modified when content is not modified #6723
  • Extensions
    • Add core extensions, shipped by default: UserCSS and UserJS #6267
      • Replaces CustomCSS and CustomCS extensions
    • Strong type array parameter helper #6661
  • CLI
    • Add quiet option to cli/db-backup.php #6593
  • Compatibility
  • Deployment
    • Docker default image (Debian 12 Bookworm) updated to PHP 8.2.20 and Apache 2.4.61
    • Docker alternative image updated to Alpine 3.20 with PHP 8.3.10 and Apache 2.4.62 #5383
    • Docker: Alpine dev image freshrss/freshrss:newest updated to PHP 8.4.0beta3 and Apache 2.4.62 #5764
  • UI
    • Default dark mode to auto #5582
    • New option to control action icons position in reading view #6297
    • Sticky buttons at the bottom of settings #6304
    • Various UI and style improvements #6446, #6485,
      #6651
  • I18n
    • Czech: use correct ISO 639-1 code cs (and not cz, which is the country) #6514
    • Improve Japanese #6564
    • Improve Spanish #6634
    • Improve Traditional Chinese #6691
  • Misc.

FreshRSS 1.24.1

作者Alkarex
2024年6月5日 17:35

This is a bug-fix release for the 1.24.0 release, addressing several regressions.

A few highlights ✨:

  • New button to export OMPL of a category
  • Many bug fixes

This release has been made by @Alkarex, @math-GH, and newcomers @ramazansancar, @robinmetral

Full changelog:

  • Features
    • New button to export OMPL of a category #6519
    • Better git error messages in built-in Web update #6496
  • Bug fixing
    • Fix regression HTTP GET curl options #6492
    • Fix regression of mark as read if an identical title already exists #6536, #6543
    • Fix connection to PostgreSQL databases with uppercase letters #6482
    • Fix UI regression hover over title while having the navigation buttons in mobile view #6486
    • Fix UI for some drag & drops #6505, #6508
  • i18n
  • Misc.

FreshRSS 1.24.0

作者Alkarex
2024年5月23日 11:54

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
  • 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.

FreshRSS 1.23.1

作者Alkarex
2023年12月31日 14:32

This is a bug-fix release for the 1.23.0 release, addressing several regressions.

This release has been made by @Alkarex, @andris155, @math-GH, @yzqzss, @zhzy0077

Full changelog:

  • Bug fixing
    • Fix crash regression with the option Max number of tags shown #5978
    • Fix crash regression when enabling extensions defined by old FreshRSS installations #5979
    • Fix crash regression during export when using MySQL #5988
    • More robust assignment of categories to feeds #5986
    • Fix base_url being cleared when saving settings #5992
    • Fix unwanted button in UI of update page #5999
  • Deployment
    • Exclude more folders with .dockerignore #5996
  • i18n
    • Improve simplified Chinese #5977
    • Improve Hungarian #6000

FreshRSS 1.23.0

作者Alkarex
2023年12月31日 14:32

A few highlights ✨:

  • New Important feeds group in the main view, with corresponding new priority level for feeds #5782
    • Entries from important feeds are not marked as read during scroll, during focus, nor during Mark all as read
  • Add filter actions (auto mark as read) at category level and at global levels #5942
  • Increase SQL fields length to maximum possible #5788, #5570
  • Many bug fixes

Breaking changes 💥:

  • Require PHP 7.4+
  • Soft require Apache 2.4+ (but repair minimal compatibility with Apache 2.2)
  • Use GitHub Actions to build Docker images, offering architectures amd64, arm32v7, arm64v8 with automatic detection #5808
    • So no -arm suffix anymore
  • Upgraded extensions require FreshRSS 1.23.0+ Extensions#181

This release has been made by several contributors: @Alkarex, @ColonelMoutarde, @FireFingers21, @Frenzie, @kasimircash, @andris155, @b-reich, @foux, @jaden, @jan-vandenberg, @joestump, @jtracey, @mark-monteiro, @martinrotter, @math-GH, @passbe

Full changelog:

  • Features
    • New Important feeds group in the main view, with corresponding new priority level for feeds #5782
      • Entries from important feeds are not marked as read during scroll, during focus, nor during Mark all as read
    • Add filter actions (auto mark as read) at category level and at global levels #5942
    • Improve reliability of Max number of articles to keep unread #5905
    • New option to mark entries as read when focused from keyboard shortcut 5812
    • New display option to hide My labels in article footers #5884
    • Add support for more thumbnail types in feeds enclosures #5806
    • Support for favicons with non-absolute paths #5839
    • Increase SQL (VARCHAR) text fields length to maximum possible #5788
    • Increase SQL date fields to 64-bit to be ready for year 2038+ #5570
  • Compatibility
    • Require PHP 7.4+, and implement typed properties #5720
    • Require Apache 2.4+ (but repair minimal compatibility with Apache 2.2) #5791, #5804
  • Bug fixing
    • Fix regression in Docker CRON_MIN if any environment variable contains a single quote #5795
    • Improve filtering of cron environment variables #5898
    • Fix the TRUSTED_PROXY environment variable used in combination with trusted sources #5853
    • Fix regression in marking as read if an identical title already exists #5937
    • Fix JavaScript regression in label dropdown #5785
    • Fix regression when renaming a label #5842
    • Fix API for adding feed with a title #5868
    • Fix regression in UI of update page #5802
    • Fix XPath encoding #5912
    • Fix notifications, in particular during login #5959
  • Deployment
    • Use GitHub Actions to build Docker images, offering architectures amd64, arm32v7, arm64v8 with automatic detection #5808
    • Docker alternative image updated to Alpine 3.19 with PHP 8.2.13 and Apache 2.4.58 #5383
  • Extensions
    • Upgrade extensions code to PHP 7.4+ #5901, #5957
    • Breaking change: upgraded extensions require FreshRSS 1.23.0+ Extensions#181
    • Pass FreshRSS version to JavaScript client side for extensions #5902
    • Add GitHub Actions and PHPStan for automatic testing of the Extensions repository Extensions#185
  • API
    • Improve handling of new lines in enclosure descriptions (e.g., YouTube video descriptions) #5859
  • Security
    • Avoid printing exceptions in favicons #5867
    • Remove unneeded execution permissions on some files #5831
  • UI
    • Ensure that enough articles are loaded on window resize #5815
    • Improve Nord theme #5885
    • Do not show message Add some feeds #5827
    • Various UI and style improvements #5886
  • i18n
    • Fix font priority for languages using Han characters #5930
    • Improve Dutch #5796
    • Improve Hungarian #5918
  • Misc.

❌