普通视图

发现新文章,点击刷新页面。
昨天以前未分类

FreshRSS 1.25.0

作者 Alkarex
2024年12月23日 19:19

In this release, the coding focus has been on moving to PHP 8.1+ and refactoring the integration of the SimplePie library (which was long due). At the same time, plenty of new features have been added. Enjoy! 🎄

Breaking changes 💥:

  • Require PHP 8.1+ (and improved support of PHP 8.4+)
  • Require PostgreSQL 10+ or MariaDB 10.0.5+ or MySQL 8+

A few highlights ✨:

  • Add support for regex search (regular expressions)
    • ⚠️ Advanced regex syntax for searches depends on the database used (SQLite, PostgreSQL, MariaDB, MySQL),
      but FreshRSS filter actions such as auto-mark-as-read and auto-favourite always use PHP PCRE2 syntax.
  • Allow dynamic search operator in user queries, like search:UserQueryA date:P1d
  • New feed mode HTML+XPath+JSON dot notation (JSON in HTML)
  • Better HTTP compliance with support for HTTP response headers Cache-Control: max-age and Expires
  • New unicity policies and heuristic for feeds with bad article IDs (reduce the problem of duplicated articles)
  • New option to automatically mark new articles as read if an identical title already exists in the same category
  • Add ability to remove content from articles with CSS selectors, also when not using full content
  • New condition option to selectively retrieve full content of articles
  • New UI feature to download a user’ SQLite database or a database SQLite export (to be produced by CLI)
  • Supported by Capy Reader (Android, open source)
  • Many bug fixes, UI improvements, and a lot more

This release has been made by @aledeg, @Alkarex, @Art4, @ColonelMoutarde, @Frenzie, @math-GH, @ramazansancar
and newcomers @DevGrohl, @UserRoot-Luca, @aarnej, @andrey-utkin, @bhj, @christophehenry, @davralin, @drego85, @ev-gor, @killerog, @kwarraich, @minna-xD, @mtalexan, @oshaposhnyk, @patHyatt

Full changelog:

  • Features
    • Add support for regex search (regular expressions) #6706, #6926
      • ⚠️ Advanced regex syntax for searches depends on the database used (SQLite, PostgreSQL, MariaDB, MySQL),
        but FreshRSS filter actions such as auto-mark-as-read and auto-favourite always use PHP PCRE2 syntax.
    • Allow dynamic search operator in user queries, like search:UserQueryA date:P1d #6851
    • New feed mode HTML+XPath+JSON dot notation (JSON in HTML) #6888
    • Better HTTP compliance with support for HTTP response headers Cache-Control: max-age and Expires #6812, FreshRSS/simplepie#26
    • Support custom HTTP request headers per feed (e.g. for Authorization) #6820
    • New unicity policies and heuristic for feeds with bad article IDs #4487, #6900
    • Fallback to GUID if article link is empty #7051
    • New option to automatically mark new articles as read if an identical title already exists in the same category #6922
    • New reading view option to display unread articles + favourites #7088
      • And corresponding new filter state &state=96 (no UI button yet)
    • Add ability to remove content from articles with CSS selectors, also when not using full content #6786, #6807
    • Update phpgt/cssxpath library with improved CSS selectors #6618
      • Support for :last-child, :first-of-type, :last-of-type, ^=, |=
    • New condition option to selectively retrieve full content of articles
      #33fd07f6f26310d4806077cc87bcdf9b8b940e35, #7082
    • Allow parentheses in quoted search #7055
    • New UI feature to download a user’ SQLite database or a database SQLite export (to be produced by CLI) #6931
    • New button to delete errored feeds from a category #7030
    • Better import of Inoreader user labels #6791
    • Rebuild feed favicon on cache clear #6961
    • New sharing with Bluesky #7116
    • New sharing with Telegram #6838
  • Bug fixing
    • Fix searches with a parenthesis before an operator like ("a b") or (!c) #6818
    • Fix auto-read tags #6790
    • Fix CSS selector for removing elements #7037, #7073,
      #7081, #7091, #7083
    • Fix redirection error after creating a new user #6995
    • Fix favicon error in case of wrong URL #6899
    • Use cURL to fetch extensions list (allows e.g. IPv6) #6767
    • Fix XML encoding in cURL options #6821
    • Fix initial UI scroll for some browsers #7059
    • Fix menu for article tags in some cases #6990
    • Fix share menu shortcut #6825
    • Fix HTML regex pattern during install for compatibility with v mode #7009
    • More robust creation of user data folder #7000
  • API
    • Fix API for categories and labels containing a + #7033
      • Compatibility with FocusReader
    • Supported by Capy Reader (Android, open source) capyreader#492
    • Improved UI for API #7048
    • Allow adding multiple feeds to a category via API #7017
    • API support edit multiple tags #7060
    • API return all categories also those without any feed #7020
  • Compatibility
  • Deployment
    • Docker: dev image freshrss/freshrss:oldest updated to Alpine 3.16 with PHP 8.1.22 and Apache 2.4.59 #6711
    • Docker alternative image updated to Alpine 3.21 with PHP 8.3.14 and Apache 2.4.62 #5383
    • Update Dockerfiles to newer key-value format #6819
    • Docker minor improvement of entrypoint #6827
  • SimplePie
  • Security
    • Apache protect more non-public folders and files #6881, #6893, #7008
    • Add privacy settings on extension list retrieval #4603, #7132
    • Fix login in unsafe mode when using a password with special XML characters #6797
    • Fix login in e.g. Brave browser by avoiding synchronous XHR #7023
    • Fix invalid login message #7066
    • Modernise windows.open noopener (to avoid flash of white page in dark mode) #7077, #7089
  • UI
    • Searchable My Labels field #6753
    • Add subscription management button to reading view #6946
    • New option for showing label menu in article row #6984
    • Move to next unread label on mark as read #6886
    • Improved article footer for small / mobile screens #7031
    • Improve Web accessibility: fix aria-hidden bug, and use HTML5 hidden #6910
    • Default styles for <pre> and <code> #6770
    • Refactor the sharing menu to use a <template> instead of duplicated HTML code #6751, #7113
    • Refactor the label menu to use a <template> #6864
    • Rework UI for authors #7054
      • Avoid Unicode escape of authors in HTML UI #7056
    • Improved subscription management page #6816
    • Improve user query management page #7062
    • Restore JavaScript form validation compatibility with Web browsers using older engines (SeaMonkey) #6777
    • Reorganise some options #6920
    • New shortcut ? to show shortcut page and help #6981
    • Use of consistent colours in statistics #7090
    • Various UI and style improvements #6959
  • Extensions
    • New extension hook simplepie_after_init #7007
  • I18n
  • Misc.

FreshRSS 1.24.3

作者 Alkarex
2024年9月24日 18:04

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

A few highlights ✨:

  • Last version supporting PHP 7.4 before requiring PHP 8.1+
  • Last version supporting PostgreSQL 9.5 before requiring PostgreSQL 10+
  • Last version supporting MariaDB 5.5 before requiring MariaDB 10.0.5+
  • Last version supporting MySQL 5.5.3 before requiring MySQL 8+
  • Many bug and regression fixes

This release has been made by @Alkarex, @math-GH and newcomer @pando85

Full changelog:

  • Bug fixing
    • Fix mark-as-read from user query #6738
    • Fix regression for shortcut to move between categories #6741
    • Fix feed title option #6771
    • Fix XPath for HTML documents with broken root (used by CSS selectors to fetch full content) #6774
    • Fix UI regression in Mapco/Ansum themes #6740
    • Fix minor style bug with some themes #6746
    • Fix export of OPML information for date format of JSON and HTML+XPath feeds #6779
  • Security
    • OpenID Connect better definition of session parameters #6730
  • Compatibility
    • Last version supporting PHP 7.4
  • Misc.
    • Use charset for JSON requests from the UI #6710
    • Use .html extension for the local cache of full content pages instead of .spc #6724
    • Update dev dependencies #6739, #6758,
      #6759, #6760

FreshRSS 1.24.2

作者 Alkarex
2024年9月24日 04: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日 23: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日 17: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日 21: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日 21: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.

FreshRSS 1.22.1

作者 Alkarex
2023年10月31日 02:54

This release contains mostly some bug fixes for the recent 1.22.0.
This version 1.22.x is also the last to support PHP 7.2 before requiring PHP 7.4+.

A few highlights ✨:

  • Fix regression in extensions translations (i18n)
  • Better identification of proxied client IP
  • Better support of environment variables in K8s setups
  • And more!

This release has been made by several contributors: @Alkarex, @Frenzie, @MHketbi, @XtremeOwnageDotCom, @math-GH, @mossroy

Full changelog:

  • Bug fixing
    • Fix regression in i18n English fallback for extensions #5752
    • Fix identification of thumbnails #5750
    • OpenID Connect compatibility with colon : in OIDC_SCOPES #5753, #5764
    • Avoid a warning on non-numeric TRUSTED_PROXY environment variable #5733
    • Better identification of proxied client IP with RemoteIPInternalProxy in Apache #5740
  • Deployment
    • Export all environment variables to cron (to allow custom environment variables such as for Kubernetes) #5772
    • Docker: Upgraded Alpine dev image freshrss/freshrss:newest to PHP 8.3 #5764
  • Compatibility
    • Test compatibility with PHP 8.3 #5764
  • UI
  • i18n
    • Better i18n string for feed submenu for mark as read #5762
    • Improve Dutch #5759
  • Misc.
    • Move to GitHub Actions for our GitHub Pages #5681
    • Update dev dependencies and use stylelint-stylistic #5766

FreshRSS 1.22.0

作者 Alkarex
2023年10月28日 05:32

In this release, besides adding some initial support for OpenID Connect, the focus has been on increasing the quality rather than adding new features (which will have more focus again in the next release).
This version 1.22.x is also the last to support PHP 7.2 before requiring PHP 7.4+.

A few highlights ✨:

  • Add support for OpenID Connect (only in our Debian-based Docker image for x86_64, not Alpine, and not ARM) through libapache2-mod-auth-openidc. See our documentation
  • Rework trusted proxies
  • Improve scaling with many feeds and long processes, reduce database locks
  • Fix many bugs and regressions
  • Improve themes Origine (also with automatic dark mode), Nord, etc.
  • Several UI / UX improvements
  • New languages Hungarian, Latvian, Persian
  • Docker default image updated to Debian 12 Bookworm with PHP 8.2
  • Increase our code base from PHPStan level 5 to level 7
  • And more!

This release has been made by several contributors: @Alkarex, @Alwaysin, @ColonelMoutarde, @Exerra, @FromTheMoon85, @LleanaRuv, @Marjani, @NaeiKinDus, @Rufubi, @V-E-O, @aaronschif, @acbgbca, @aledeg, @andris155, @becdetat, @belidzs, @kemayo, @kgraefe, @marienfressinaud, @math-GH, @msdlr, @obrenckle, @otaconix, @robertdahlem, @sad270, @samc1213, @squaregoldfish, @vrachnis, @witchcraze, @yubiuser, @zhaofengli

Full changelog:

  • Features
    • Add support for OpenID Connect (only in our default Debian-based Docker image for x86_64, not Alpine) through libapache2-mod-auth-openidc
      #5351, #5463, #5481,
      #5523, #5646
    • Allow sharing in anonymous mode #5261
    • Support Unix socket for MySQL / MariaDB #5166
    • Use proxy settings also for fetching favicons #5421
    • Add mutual exclusion semaphore for better scaling of actualize script #5235
    • Better reporting of XPath failures #5317
    • Add sharing with Buffer.com #5286
    • Add sharing with Omnivore #5477
    • Improve sharing with Linkding #5433
    • Do not automatically update feeds after import, to better support multiple imports #5629
    • Compatibility for servers disabling set_time_limit() #5675
    • New configuration constant CLEANCACHE_HOURS #5144
  • Bug fixing
    • Fix cache refresh #5562
    • Fix and improvement of hash of articles using load full content #5576
    • Fix case of falsy GUIDs #5412
    • Fix and improve JSON export/import #5332, #5626
    • Fix enclosures in RSS output #5540
    • Fix parenthesis escaping bug in searches #5633
    • Fix regression in Fever API enclosures #5214
    • Fix regression in Fever API mark-all-as-read #5185
    • Fix regression in OPML export of single feeds #5238
    • Fix warning during OPML export with empty attributes #5559
    • Fix extensions in actualize script #5243
    • Fix link to configuration (system or user) for extensions #5394
    • Fix mark as read upon gone option in some conditions #5315,
      #5382, #5404
    • Fix mark selection as unread #5367
    • Fix warning in articles repartition statistics #5228
    • Fix count entries with some databases #5368
    • Fix MariaDB database size calculation #5655
    • Fix feed position attribute #5203
    • Fix warning when tagging entries #5221
    • Fix labels in anonymous mode #5650
    • Fix bug not allowing strings for tags in XPath #5653
    • Fix get and order when saving user query #5515
    • Fix search using user queries #5669
    • Fix regression of access to logs even when auto-update is disabled #5577
    • Fix access to Apache logs from Dev Container #5660
    • Fix malformed HTTP header in case of internal fatal error #5699
    • Fix rare exception for HTML notifications #5690
  • UI
    • New option to display website name and/or favicon of articles #4969
    • Support <meta name="theme-color" .../> #5105
    • Config user settings in slider #5094
    • Improve theme selector #5281, #5688
    • Improve share to clipboard with animation and icon #5295
    • Allow share to clipboard even for localhost and without HTTPS #5606
    • Feedback when tag with same name as category already exists #5181
    • Show base URL in configuration #5656, #5657
    • Show Terms of Service in config menu #5215
    • Show Terms of Service in footer #5222
    • Improve about page #5192
    • Improve update page #5420, #5636,
      #5647
    • Improve Step 1 of install process #5350
    • Improve Global view on mobile #5297
    • Reduce network overhead for Global view #5496
    • Fix Global view: Stick the article to the top when opened #5153
    • Fix configuration views that are using a slider #5469
    • Fix highlight next/prev article while using shortcuts #5211
    • Fix regression in statistics column name % of total #5232
    • Fix macOS feed title meta-click behaviour #5492
    • Improve themes
    • Delete previously deprecated themes: BlueLagoon, Screwdriver #5374,
      #5694
    • Various UI and style improvements #5147, #5216,
      #5303, #5304, #5397,
      #5398, #5400, #5603,
      #5695
  • Security
    • Rework trusted proxies (especially with Docker) #5549
    • Automatic trusted sources during install #5358
    • Show remote IP address in case of HTTP Basic Auth error #5314
  • Deployment
    • Docker listen on all interfaces by default, including IPv6 #5180
    • Docker default image updated to Debian 12 Bookworm with PHP 8.2.7 and Apache 2.4.57 #5461
    • Docker alternative image updated to Alpine 3.18 with PHP 8.1.23 and Apache 2.4.58 #5383
    • Docker quiet Apache a2enmod #5464
    • Docker: Add DATA_PATH to cron env #5531
  • i18n
  • Extensions
    • Fix fallback to English for extensions #5426
    • Allow deep-link to extension configuration #5449
    • New extension hook entry_auto_read #5505, #5561
    • Simplify extension method #5234
    • Remove obsolete core extensions Google Group and Tumblr #5457
  • SimplePie
    • Fix error_reporting for PHP 8.1+ #5199
  • Misc.

FreshRSS 1.21.0

作者 Alkarex
2023年3月8日 22:31

A few highlights ✨:

  • Require PHP 7.2+ (drop support for PHP 7.0 and 7.1) #4848
  • New XML+XPath mode for fetching XML documents when there is no RSS/ATOM feed #5076
  • Better support of feed enclosures (image / audio / video attachments) #4944
  • User-defined time-zone #4906
  • New CLI script cli/sensitive-log.sh to help e.g. Apache clear logs for sensitive information such as credentials #5001
  • Mark some themes as tentatively deprecated: BlueLagoon, Flat, Screwdriver #4807
    • 🙋 Reach out if you disagree, especially if you are interested in helping maintaining one of them
  • Many UI improvements

This release has been made by several new contributors @axeleroy, @hippothomas, @mincerafter42, @sad270, @zhzy0077, in addition to our regular contributors @Alkarex, @ColonelMoutarde, @Frenzie, @myuki, @aledeg, @marienfressinaud, @math-GH, @miicat, @nicofrand, @yzqzss ... Thank you!

Detailed tracked changes.

Full changelog:

  • Features
    • New XML+XPath mode for fetching XML documents when there is no RSS/ATOM feed #5076
    • Better support of feed enclosures (image / audio / video attachments) #4944
    • User-defined time-zone #4906
    • Improve HTML+XPath mode by allowing HTML content #4878
    • Search only on full tag names and not on parts of tag names #4882
    • Allows searching for parentheses with \( or \) #4989
    • Firefox-compatible sharing service for mailto: links for webmail services #4680
    • Add sharing to archive.org #5096
    • Increase max HTTP timeout to 15 minutes #5074
  • Compatibility
    • Require PHP 7.2+ (drop support for PHP 7.0 and 7.1) #4848
    • Workaround disabled openlog() or syslog() #5054
  • Deployment
    • Docker default image (Debian 11 Bullseye) updated to PHP 7.4.33
    • Docker: alternative image updated to Alpine 3.17 with PHP 8.1.16 and Apache 2.4.55 #4886
    • More uniform time-zone behaviour #4903, #4905
    • New CLI script cli/sensitive-log.sh to help e.g. Apache clear logs for sensitive information such as credentials #5001
    • New CLI script cli/access-permissions.sh to help apply file permissions correctly #5062
    • Improve file permissions on ./extensions/ #4956
    • Update Apache mime type font/woff #4894
    • Re-added a git latest branch (instead of a tag) to track the latest FreshRSS stable releases #5148
  • Bug fixing
    • Fix allow disabling curl proxy for specific feed, when proxy is defined globally #5082
    • NFS-friendly is_writable() checks #4780
    • Fix error handling when updating feed URL #5039
    • Fix feed favicon after editing feed URL #4975
    • Fix allow Ctrl+Click to open Manage feeds in new tab #4980
    • Fix empty window opened when pressing space after page load #5146
    • Fix keep current view when searching #4981
    • Fix mobile view: scroll main area again after closing slider #5092
    • Fix change confirmation when leaving sharing service config #5098
    • Fix sharing to Lemmy #5020
  • Security
    • API avoid logging passwords CVE-2023-22481
    • Remove execution rights on some files not needing it #5065
    • More robust application of file access permissions #5062
  • UI
  • Themes
  • i18n
  • SimplePie
    • No URL Decode for enclosure links #768
    • Fix case of multiple RSS2.0 enclosures #769
    • Sanitize thumbnail URL #770
    • Use single constant for default HTTP Accept header #784
  • Misc.

FreshRSS 1.20.1

作者 Alkarex
2022年11月14日 21:26

A few highlights ✨:

  • Focusing mostly on bug-fixes of 1.20.0
  • Several UI / themes improvements
  • Improved and new translations (Greek, Indonesian)

Detailed tracked changes.

Full changelog:

  • Features
    • Add support for custom XPath date/time format #4703
    • Add default redirect when authenticating #4778
    • Force default user before rendering login page #4620
  • API
    • Minor Google Reader API improvements #4763
  • Bug fixing
    • Fix SQL transaction rollbacks during auto-update #4622
    • Fix opcache bug during Web update #4629, update.freshrss.org#4
    • Fix export bug #4822
    • Fix OPML import of special feed attributes #4708
    • Fix JavaScript bug with remembering opened categories #4827
    • Fix curlopt options for HTML+XPath #4759
    • Fix charset bug for HTML+XPath #4623
    • Fix HTML-encoding of CSS selectors #4707, #4823
    • Fix some broken author links #4743
    • Fix show settings page after adding new feed #4631
    • Fix login page when user does not exist #4621
    • Fix feed manage link on stats page #4768
    • Fix minor layout bugs #4830
    • Fix minor UI bugs with Safari #4643
  • UI
    • Change some default settings related to marking articles as read #4736
    • Improve scrollbar when slider is open #4692
    • Improve Subscription Management: Show the category position number #4679
    • Improve Reader view: Mark article as read while scrolling #4652
    • Improve sharing / integration page #4774
    • Improve article summary text cut #4666
    • Improve HTML semantics for some boxes #4665
    • Change dynamic OPML icon #4673, #4810
    • Improve box layout for global view #4791
    • Improve logs layout #4594
    • Improve Feed configuration: number of articles #4625
    • Improve drop-down menus #4597
    • Show tile with explanation when hovering empty feeds #4617
    • Added bottom nav padding for iOS #4741
  • Themes
  • i18n
  • Compatibility
    • Compatibility PHP 8.1+ strip_tags() #4688
    • Fix GLOB_BRACE is not available on all platforms #4628
  • Deployment
    • Docker default image (Debian 11 Bullseye) updated to PHP 7.4.33
    • Docker: alternative image (Alpine 3.16) updated to PHP 8.0.25
  • Misc.
    • Added Linkding as a sharing method #4721
    • Exclude .git/ from tests #4824
    • Exclude extensions/ from eslint and stylelint tests #4606
    • Update GitHub Actions version #4717

FreshRSS 1.20.0

作者 Alkarex
2022年9月10日 23:02

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" or search:QueryA, or by ID: S:3
    • Allow many (50k+) feeds #4347
      • Note: only for new users or after an export/import or a manual database update
      • See also #4357, #4353,
        #4417, #4502
    • 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
    • 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
  • 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" and ab-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 change entry->isRead() #4331
  • i18n
  • API
  • 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) and php-xml (used by SimplePie) #4420
    • 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.

❌
❌