Alexandre Alapetite 2 недель назад
Родитель
Сommit
1d7f52e556
1 измененных файлов с 62 добавлено и 7 удалено
  1. 62 7
      CHANGELOG.md

+ 62 - 7
CHANGELOG.md

@@ -2,63 +2,118 @@
 
 
 See also [the FreshRSS releases](https://github.com/FreshRSS/FreshRSS/releases).
 See also [the FreshRSS releases](https://github.com/FreshRSS/FreshRSS/releases).
 
 
-## 2026-0X-XX FreshRSS 1.29.0-dev
+## 2026-05-XX FreshRSS 1.29.0-dev
 
 
 * Features
 * Features
 	* New sort order preferences at global, category, and feed levels [#8234](https://github.com/FreshRSS/FreshRSS/pull/8234)
 	* New sort order preferences at global, category, and feed levels [#8234](https://github.com/FreshRSS/FreshRSS/pull/8234)
 	* New filtering by date of *Server modification date* [#8131](https://github.com/FreshRSS/FreshRSS/pull/8131), [#8576](https://github.com/FreshRSS/FreshRSS/pull/8576)
 	* New filtering by date of *Server modification date* [#8131](https://github.com/FreshRSS/FreshRSS/pull/8131), [#8576](https://github.com/FreshRSS/FreshRSS/pull/8576)
 		* Corresponding search operator, e.g. `mdate:P1D` for finding articles modified by the author / server during the past day.
 		* Corresponding search operator, e.g. `mdate:P1D` for finding articles modified by the author / server during the past day.
 		* Especially useful for optimising the API synchronisation.
 		* Especially useful for optimising the API synchronisation.
+	* Use feed-provided icon [#8633](https://github.com/FreshRSS/FreshRSS/pull/8633)
+	* New option to automatically mark new articles as read if an identical GUID already exists in the same category [#8673](https://github.com/FreshRSS/FreshRSS/pull/8673)
 	* Automatic feed visibility/priority during search [#8609](https://github.com/FreshRSS/FreshRSS/pull/8609)
 	* Automatic feed visibility/priority during search [#8609](https://github.com/FreshRSS/FreshRSS/pull/8609)
 	* Add feed visibility filter to statistics view *unread dates* [#8489](https://github.com/FreshRSS/FreshRSS/pull/8489)
 	* Add feed visibility filter to statistics view *unread dates* [#8489](https://github.com/FreshRSS/FreshRSS/pull/8489)
 	* Add option to enable/disable notifications, also for PWA [#8458](https://github.com/FreshRSS/FreshRSS/pull/8458)
 	* Add option to enable/disable notifications, also for PWA [#8458](https://github.com/FreshRSS/FreshRSS/pull/8458)
+	* Add a form to create new user queries on the *User Queries* page [#8623](https://github.com/FreshRSS/FreshRSS/pull/8623)
 	* Allow WebSub hub push from same private network [#8450](https://github.com/FreshRSS/FreshRSS/pull/8450)
 	* Allow WebSub hub push from same private network [#8450](https://github.com/FreshRSS/FreshRSS/pull/8450)
 * Bug fixing
 * Bug fixing
 	* Fix wrong search `toString` in case of regex-looking string [#8479](https://github.com/FreshRSS/FreshRSS/pull/8479)
 	* Fix wrong search `toString` in case of regex-looking string [#8479](https://github.com/FreshRSS/FreshRSS/pull/8479)
+	* Fix article *last seen date* in case of feed errors [#8646](https://github.com/FreshRSS/FreshRSS/pull/8646)
 	* Fix search expansion with backslash [#8497](https://github.com/FreshRSS/FreshRSS/pull/8497)
 	* Fix search expansion with backslash [#8497](https://github.com/FreshRSS/FreshRSS/pull/8497)
 	* Fix user query parsing [#8543](https://github.com/FreshRSS/FreshRSS/pull/8543)
 	* Fix user query parsing [#8543](https://github.com/FreshRSS/FreshRSS/pull/8543)
 	* Fix redirect to wrong view after mark as read in *reader* and *global* views [#8552](https://github.com/FreshRSS/FreshRSS/pull/8552)
 	* Fix redirect to wrong view after mark as read in *reader* and *global* views [#8552](https://github.com/FreshRSS/FreshRSS/pull/8552)
 	* Fix SQLite paging when sorting by article length [#8594](https://github.com/FreshRSS/FreshRSS/pull/8594)
 	* Fix SQLite paging when sorting by article length [#8594](https://github.com/FreshRSS/FreshRSS/pull/8594)
+	* Fix change sorting during paging [#8688](https://github.com/FreshRSS/FreshRSS/pull/8688)
 	* Fix SQL keyset pagination when sorting by category name [#8597](https://github.com/FreshRSS/FreshRSS/pull/8597)
 	* Fix SQL keyset pagination when sorting by category name [#8597](https://github.com/FreshRSS/FreshRSS/pull/8597)
-	* Update user modify date when changing UserJS/UserCSS [#8607](https://github.com/FreshRSS/FreshRSS/pull/8607)
+	* Fix SQL duplicates in the user labels when sorting randomly [#8626](https://github.com/FreshRSS/FreshRSS/pull/8626)
+	* Fix wrong error redirect in subscription management [#8625](https://github.com/FreshRSS/FreshRSS/pull/8625)
+	* Fix do not include hidden feeds when counting total number of unread articles [#8715](https://github.com/FreshRSS/FreshRSS/pull/8715)
+	* Update user modify date when changing extensions UserJS / UserCSS [#8607](https://github.com/FreshRSS/FreshRSS/pull/8607)
 	* Non-strict OPML export [#eedefb](https://github.com/FreshRSS/FreshRSS/commit/eedefbd9fedbb14d3387b6b036afa64f75de4610)
 	* Non-strict OPML export [#eedefb](https://github.com/FreshRSS/FreshRSS/commit/eedefbd9fedbb14d3387b6b036afa64f75de4610)
 * Security
 * Security
+	* Limit cURL to protocols HTTP, HTTPS [#8713](https://github.com/FreshRSS/FreshRSS/pull/8713)
+	* Better sanitise favicon URLs [#8714](https://github.com/FreshRSS/FreshRSS/pull/8714)
+	* New setting for `<iframe>` referrer allow list [#8672](https://github.com/FreshRSS/FreshRSS/pull/8672)
 	* Fix email validation and allow error page for unverified email users [#8582](https://github.com/FreshRSS/FreshRSS/pull/8582)
 	* Fix email validation and allow error page for unverified email users [#8582](https://github.com/FreshRSS/FreshRSS/pull/8582)
 	* Add `allowfullscreen` to `<iframe>` [#8467](https://github.com/FreshRSS/FreshRSS/pull/8467)
 	* Add `allowfullscreen` to `<iframe>` [#8467](https://github.com/FreshRSS/FreshRSS/pull/8467)
 	* Rewrite `Set-Cookie` using native PHP support of `SameSite` [#8447](https://github.com/FreshRSS/FreshRSS/pull/8447)
 	* Rewrite `Set-Cookie` using native PHP support of `SameSite` [#8447](https://github.com/FreshRSS/FreshRSS/pull/8447)
 		* Sanitize lifetime of session cookies from `session.cookie-lifetime` in `php.ini`
 		* Sanitize lifetime of session cookies from `session.cookie-lifetime` in `php.ini`
+	* Update to `<meta name="referrer" content="no-referrer" />` from deprecated `never` [#8725](https://github.com/FreshRSS/FreshRSS/pull/8725)
 * UI
 * UI
-	* Add option to hide sidebar by default [#8528](https://github.com/FreshRSS/FreshRSS/pull/8528)
+	* New option to hide sidebar by default [#8528](https://github.com/FreshRSS/FreshRSS/pull/8528)
+	* Improve mobile view with multiple lines when thumbnails and summaries are shown [#8631](https://github.com/FreshRSS/FreshRSS/pull/8631)
+	* New option to disable unread counter in tab title and favicon [#8728](https://github.com/FreshRSS/FreshRSS/pull/8728)
+	* Show time since when a feed has problems [#8670](https://github.com/FreshRSS/FreshRSS/pull/8670)
+	* Improve add feed UI [#8683](https://github.com/FreshRSS/FreshRSS/pull/8683)
 	* Improve slider behaviour when using navigate back button [#8496](https://github.com/FreshRSS/FreshRSS/pull/8496), [#8524](https://github.com/FreshRSS/FreshRSS/pull/8524)
 	* Improve slider behaviour when using navigate back button [#8496](https://github.com/FreshRSS/FreshRSS/pull/8496), [#8524](https://github.com/FreshRSS/FreshRSS/pull/8524)
 	* Improve consistency of slider behaviour after submitting form [#8612](https://github.com/FreshRSS/FreshRSS/pull/8612)
 	* Improve consistency of slider behaviour after submitting form [#8612](https://github.com/FreshRSS/FreshRSS/pull/8612)
 	* Create dynamic favicons from SVG instead of PNG canvas [#8577](https://github.com/FreshRSS/FreshRSS/pull/8577), [#8588](https://github.com/FreshRSS/FreshRSS/pull/8588)
 	* Create dynamic favicons from SVG instead of PNG canvas [#8577](https://github.com/FreshRSS/FreshRSS/pull/8577), [#8588](https://github.com/FreshRSS/FreshRSS/pull/8588)
 	* Only display scrollbar everywhere if there's an overflow (especially for Chromium) [#8542](https://github.com/FreshRSS/FreshRSS/pull/8542)
 	* Only display scrollbar everywhere if there's an overflow (especially for Chromium) [#8542](https://github.com/FreshRSS/FreshRSS/pull/8542)
 	* Fix CSS padding of `.content pre code` [#8620](https://github.com/FreshRSS/FreshRSS/pull/8620)
 	* Fix CSS padding of `.content pre code` [#8620](https://github.com/FreshRSS/FreshRSS/pull/8620)
 	* Fix wrong navigation buttons layout on Chromium [#8606](https://github.com/FreshRSS/FreshRSS/pull/8606)
 	* Fix wrong navigation buttons layout on Chromium [#8606](https://github.com/FreshRSS/FreshRSS/pull/8606)
+	* Fix don’t mark as read if middle click is outside of article link [#8553](https://github.com/FreshRSS/FreshRSS/pull/8553)
 	* More robust JS [#8595](https://github.com/FreshRSS/FreshRSS/pull/8595)
 	* More robust JS [#8595](https://github.com/FreshRSS/FreshRSS/pull/8595)
-	* Various UI and style improvements: [#8537](https://github.com/FreshRSS/FreshRSS/pull/8537), [#8538](https://github.com/FreshRSS/FreshRSS/pull/8538), [#8541](https://github.com/FreshRSS/FreshRSS/pull/8541)
+	* Fix sidebar slide animation at narrow viewports [#8747](https://github.com/FreshRSS/FreshRSS/pull/8747)
+	* Visually dim disabled users in user management table [#8768](https://github.com/FreshRSS/FreshRSS/pull/8768)
+	* Improve multiple UI themes [#8711](https://github.com/FreshRSS/FreshRSS/pull/8711), [#8732](https://github.com/FreshRSS/FreshRSS/pull/8732), [#8733](https://github.com/FreshRSS/FreshRSS/pull/8733),
+		[#8734](https://github.com/FreshRSS/FreshRSS/pull/8734), [#8735](https://github.com/FreshRSS/FreshRSS/pull/8735), [#8736](https://github.com/FreshRSS/FreshRSS/pull/8736), [#8737](https://github.com/FreshRSS/FreshRSS/pull/8737),
+		[#8738](https://github.com/FreshRSS/FreshRSS/pull/8738), [#8739](https://github.com/FreshRSS/FreshRSS/pull/8739), [#8743](https://github.com/FreshRSS/FreshRSS/pull/8743), [#8746](https://github.com/FreshRSS/FreshRSS/pull/8746),
+		[#8749](https://github.com/FreshRSS/FreshRSS/pull/8749), [#8761](https://github.com/FreshRSS/FreshRSS/pull/8761)
+	* Various UI and style improvements: [#8537](https://github.com/FreshRSS/FreshRSS/pull/8537), [#8538](https://github.com/FreshRSS/FreshRSS/pull/8538), [#8541](https://github.com/FreshRSS/FreshRSS/pull/8541),
+		[#8624](https://github.com/FreshRSS/FreshRSS/pull/8624), [#8731](https://github.com/FreshRSS/FreshRSS/pull/8731), [#8774](https://github.com/FreshRSS/FreshRSS/pull/8774)
 * Deployment
 * Deployment
+	* Also push Docker images to [GitHub registry](https://github.com/FreshRSS/FreshRSS/pkgs/container/freshrss) [#8669](https://github.com/FreshRSS/FreshRSS/pull/8669)
 	* Improve support of PHP 8.5+ using `Pdo\Mysql` [#8526](https://github.com/FreshRSS/FreshRSS/pull/8526)
 	* Improve support of PHP 8.5+ using `Pdo\Mysql` [#8526](https://github.com/FreshRSS/FreshRSS/pull/8526)
 	* Add support for Podman in Makefile [#8456](https://github.com/FreshRSS/FreshRSS/pull/8456)
 	* Add support for Podman in Makefile [#8456](https://github.com/FreshRSS/FreshRSS/pull/8456)
 	* Re-add database status in installation check [#8510](https://github.com/FreshRSS/FreshRSS/pull/8510)
 	* Re-add database status in installation check [#8510](https://github.com/FreshRSS/FreshRSS/pull/8510)
+	* Docker / CLI: Allow chown/chmod to fail with warning [#8635](https://github.com/FreshRSS/FreshRSS/pull/8635)
 * Extensions
 * Extensions
-	* Add new hook: `Minz_HookType::ActionExecute` [#8599](https://github.com/FreshRSS/FreshRSS/pull/8599), [#8603](https://github.com/FreshRSS/FreshRSS/pull/8603)
+	* New Webhook extension for automated RSS notifications [Extensions#456](https://github.com/FreshRSS/Extensions/pull/456)
+	* New LLM Classification extension to automatically tag incoming articles based on a prompt sent to an LLM [Extensions#458](https://github.com/FreshRSS/Extensions/pull/458)
+	* New extension methods to get typed configuration values [#8696](https://github.com/FreshRSS/FreshRSS/pull/8696)
+	* New hook: `Minz_HookType::ActionExecute` [#8599](https://github.com/FreshRSS/FreshRSS/pull/8599), [#8603](https://github.com/FreshRSS/FreshRSS/pull/8603)
+	* New hook to modify the list of feeds to actualize [#8655](https://github.com/FreshRSS/FreshRSS/pull/8655), [#8675](https://github.com/FreshRSS/FreshRSS/pull/8675)
 	* Allow passing `Minz_HookType` as hook name in `registerHook()` [#8600](https://github.com/FreshRSS/FreshRSS/pull/8600)
 	* Allow passing `Minz_HookType` as hook name in `registerHook()` [#8600](https://github.com/FreshRSS/FreshRSS/pull/8600)
+	* Return more info and status from `httpGet()` [#8700](https://github.com/FreshRSS/FreshRSS/pull/8700)
+	* Make `httpGet()` cache nullable [#8705](https://github.com/FreshRSS/FreshRSS/pull/8705)
+	* Allow extensions’ configuration UI to use `select-input-changer` JavaScript helper [#8721](https://github.com/FreshRSS/FreshRSS/pull/8721)
+* SimplePie
+	* Bump upstream [#8628](https://github.com/FreshRSS/FreshRSS/pull/8628), [simplepie#71](https://github.com/FreshRSS/simplepie/pull/71)
+	* New function `get_icon_url()` for feed favicon [simplepie#974](https://github.com/simplepie/simplepie/pull/974)
+	* Fix Undefined array key in `get_thumbnail()` [#8634](https://github.com/FreshRSS/FreshRSS/pull/8634), [simplepie#970](https://github.com/simplepie/simplepie/pull/970)
+	* Fix int types for enclosures [#8702](https://github.com/FreshRSS/FreshRSS/pull/8702), [simplepie#975](https://github.com/simplepie/simplepie/pull/975)
+	* Fix HTTPS headers given to SimplePie, e.g. for some HTTP/2 cases [#8742](https://github.com/FreshRSS/FreshRSS/pull/8742)
+* CLI
+	* New `cli/purge.php` to apply purge policy [#8740](https://github.com/FreshRSS/FreshRSS/pull/8740)
 * I18n
 * I18n
-	* Improve German [#8491](https://github.com/FreshRSS/FreshRSS/pull/8491), [#8557](https://github.com/FreshRSS/FreshRSS/pull/8557)
+	* CLI validate language directory names [#8767](https://github.com/FreshRSS/FreshRSS/pull/8767)
+	* New functions to handle plural, and new `timeago()` [#8670](https://github.com/FreshRSS/FreshRSS/pull/8670)
+	* Improve German [#8491](https://github.com/FreshRSS/FreshRSS/pull/8491), [#8557](https://github.com/FreshRSS/FreshRSS/pull/8557), [#8689](https://github.com/FreshRSS/FreshRSS/pull/8689)
 	* Improve Italian [#8517](https://github.com/FreshRSS/FreshRSS/pull/8517), [#8519](https://github.com/FreshRSS/FreshRSS/pull/8519), [#8554](https://github.com/FreshRSS/FreshRSS/pull/8554),
 	* Improve Italian [#8517](https://github.com/FreshRSS/FreshRSS/pull/8517), [#8519](https://github.com/FreshRSS/FreshRSS/pull/8519), [#8554](https://github.com/FreshRSS/FreshRSS/pull/8554),
 		[#8555](https://github.com/FreshRSS/FreshRSS/pull/8555), [#8556](https://github.com/FreshRSS/FreshRSS/pull/8556), [#8566](https://github.com/FreshRSS/FreshRSS/pull/8566)
 		[#8555](https://github.com/FreshRSS/FreshRSS/pull/8555), [#8556](https://github.com/FreshRSS/FreshRSS/pull/8556), [#8566](https://github.com/FreshRSS/FreshRSS/pull/8566)
+	* Improve Latvian [#6553](https://github.com/FreshRSS/FreshRSS/pull/6553)
 	* Improve Polish [#8536](https://github.com/FreshRSS/FreshRSS/pull/8536)
 	* Improve Polish [#8536](https://github.com/FreshRSS/FreshRSS/pull/8536)
+	* Improve Portuguese [#8649](https://github.com/FreshRSS/FreshRSS/pull/8649)
 	* Improve Simplified Chinese [#8474](https://github.com/FreshRSS/FreshRSS/pull/8474), [#8475](https://github.com/FreshRSS/FreshRSS/pull/8475), [#8476](https://github.com/FreshRSS/FreshRSS/pull/8476)
 	* Improve Simplified Chinese [#8474](https://github.com/FreshRSS/FreshRSS/pull/8474), [#8475](https://github.com/FreshRSS/FreshRSS/pull/8475), [#8476](https://github.com/FreshRSS/FreshRSS/pull/8476)
+	* Improve Traditional Chinese [#8709](https://github.com/FreshRSS/FreshRSS/pull/8709), [#8716](https://github.com/FreshRSS/FreshRSS/pull/8716), [#8723](https://github.com/FreshRSS/FreshRSS/pull/8723),
+		[#8730](https://github.com/FreshRSS/FreshRSS/pull/8730), [#8748](https://github.com/FreshRSS/FreshRSS/pull/8748)
 	* Improve Spanish [#8572](https://github.com/FreshRSS/FreshRSS/pull/8572)
 	* Improve Spanish [#8572](https://github.com/FreshRSS/FreshRSS/pull/8572)
 * Misc.
 * Misc.
 	* Initial conventions for AI agents and humans: `AGENTS.md`, `SKILLS.md`, `instructions.md` [#8478](https://github.com/FreshRSS/FreshRSS/pull/8478)
 	* Initial conventions for AI agents and humans: `AGENTS.md`, `SKILLS.md`, `instructions.md` [#8478](https://github.com/FreshRSS/FreshRSS/pull/8478)
+	* Update to CSSXPath 1.5.0 [#8642](https://github.com/FreshRSS/FreshRSS/pull/8642)
 	* Update to PHPMailer 7.0.2 [#8483](https://github.com/FreshRSS/FreshRSS/pull/8483)
 	* Update to PHPMailer 7.0.2 [#8483](https://github.com/FreshRSS/FreshRSS/pull/8483)
 	* SQL improve PHP syntax uniformity [#8604](https://github.com/FreshRSS/FreshRSS/pull/8604)
 	* SQL improve PHP syntax uniformity [#8604](https://github.com/FreshRSS/FreshRSS/pull/8604)
 	* Trim SQL whitespace before parenthesis [#8522](https://github.com/FreshRSS/FreshRSS/pull/8522)
 	* Trim SQL whitespace before parenthesis [#8522](https://github.com/FreshRSS/FreshRSS/pull/8522)
+	* Improve PHP code [#8627](https://github.com/FreshRSS/FreshRSS/pull/8627), [#8644](https://github.com/FreshRSS/FreshRSS/pull/8644), [#8753](https://github.com/FreshRSS/FreshRSS/pull/8753),
+		[#8697](https://github.com/FreshRSS/FreshRSS/pull/8697)
+	* Add dev legacy rules PHPCS 3 [#8645](https://github.com/FreshRSS/FreshRSS/pull/8645)
 	* Update dev dependencies [#8469](https://github.com/FreshRSS/FreshRSS/pull/8469), [#8480](https://github.com/FreshRSS/FreshRSS/pull/8480), [#8499](https://github.com/FreshRSS/FreshRSS/pull/8499),
 	* Update dev dependencies [#8469](https://github.com/FreshRSS/FreshRSS/pull/8469), [#8480](https://github.com/FreshRSS/FreshRSS/pull/8480), [#8499](https://github.com/FreshRSS/FreshRSS/pull/8499),
 		[#8545](https://github.com/FreshRSS/FreshRSS/pull/8545), [#8546](https://github.com/FreshRSS/FreshRSS/pull/8546), [#8547](https://github.com/FreshRSS/FreshRSS/pull/8547),
 		[#8545](https://github.com/FreshRSS/FreshRSS/pull/8545), [#8546](https://github.com/FreshRSS/FreshRSS/pull/8546), [#8547](https://github.com/FreshRSS/FreshRSS/pull/8547),
-		[#8617](https://github.com/FreshRSS/FreshRSS/pull/8617)
+		[#8617](https://github.com/FreshRSS/FreshRSS/pull/8617), [#8638](https://github.com/FreshRSS/FreshRSS/pull/8638), [#8660](https://github.com/FreshRSS/FreshRSS/pull/8660), [#8661](https://github.com/FreshRSS/FreshRSS/pull/8661),
+		[#8662](https://github.com/FreshRSS/FreshRSS/pull/8662), [#8663](https://github.com/FreshRSS/FreshRSS/pull/8663), [#8664](https://github.com/FreshRSS/FreshRSS/pull/8664), [#8665](https://github.com/FreshRSS/FreshRSS/pull/8665),
+		[#8666](https://github.com/FreshRSS/FreshRSS/pull/8666), [#8667](https://github.com/FreshRSS/FreshRSS/pull/8667), [#8668](https://github.com/FreshRSS/FreshRSS/pull/8668), [#8685](https://github.com/FreshRSS/FreshRSS/pull/8685),
+		[#8752](https://github.com/FreshRSS/FreshRSS/pull/8752), [#8754](https://github.com/FreshRSS/FreshRSS/pull/8754), [#8755](https://github.com/FreshRSS/FreshRSS/pull/8755), [#8756](https://github.com/FreshRSS/FreshRSS/pull/8756),
+		[#8757](https://github.com/FreshRSS/FreshRSS/pull/8757), [#8758](https://github.com/FreshRSS/FreshRSS/pull/8758), [#8772](https://github.com/FreshRSS/FreshRSS/pull/8772)
 
 
 
 
 ## 2026-01-25 FreshRSS 1.28.1
 ## 2026-01-25 FreshRSS 1.28.1