<feed xmlns='http://www.w3.org/2005/Atom'>
<title>FreshRSS (Customized)/tests, branch 1.24.0</title>
<subtitle>Customized version of FreshRSS, a self-hosted RSS feed aggregator</subtitle>
<id>https://git.rdnlsmith.com/fresh-rss-custom/atom?h=1.24.0</id>
<link rel='self' href='https://git.rdnlsmith.com/fresh-rss-custom/atom?h=1.24.0'/>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/'/>
<updated>2024-04-18T12:00:17+00:00</updated>
<entry>
<title>i18n improved: dotted path -&gt; dot-notation (#6317)</title>
<updated>2024-04-18T12:00:17+00:00</updated>
<author>
<name>maTh</name>
<email>1645099+math-GH@users.noreply.github.com</email>
</author>
<published>2024-04-18T12:00:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=3261b7bafbb8e7cd0003c0cfbf26e4d4a4b65def'/>
<id>urn:sha1:3261b7bafbb8e7cd0003c0cfbf26e4d4a4b65def</id>
<content type='text'>
* dotted path -&gt; dot-notation

* dot-notation -&gt; dot notation

* rename json_dotpath =&gt; json_dotnotation

* Update app/i18n/fr/sub.php

Co-authored-by: Alexandre Alapetite &lt;alexandre@alapetite.fr&gt;

* Update app/i18n/fr/sub.php

Co-authored-by: Alexandre Alapetite &lt;alexandre@alapetite.fr&gt;

* Update app/i18n/fr/sub.php

Co-authored-by: Alexandre Alapetite &lt;alexandre@alapetite.fr&gt;

* Update app/i18n/nl/sub.php

Co-authored-by: Frans de Jonge &lt;fransdejonge@gmail.com&gt;

* Update app/i18n/nl/sub.php

Co-authored-by: Frans de Jonge &lt;fransdejonge@gmail.com&gt;

* Update app/i18n/nl/sub.php

Co-authored-by: Frans de Jonge &lt;fransdejonge@gmail.com&gt;

* Update app/i18n/nl/sub.php

Co-authored-by: Frans de Jonge &lt;fransdejonge@gmail.com&gt;

* Rename corresponding class

---------

Co-authored-by: Alexandre Alapetite &lt;alexandre@alapetite.fr&gt;
Co-authored-by: Frans de Jonge &lt;fransdejonge@gmail.com&gt;</content>
</entry>
<entry>
<title>PHP 8.3 #[\Override] (#6273)</title>
<updated>2024-04-10T13:33:43+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2024-04-10T13:33:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=350edf398c55b472e19a3017de9b4d2d3420b9e4'/>
<id>urn:sha1:350edf398c55b472e19a3017de9b4d2d3420b9e4</id>
<content type='text'>
* PHP 8.3 #[\Override]
https://php.watch/versions/8.3/override-attr

With PHPStan `checkMissingOverrideMethodAttribute` https://phpstan.org/config-reference#checkmissingoverridemethodattribute

And modified the call to phpstan-next on the model of https://github.com/FreshRSS/Extensions/pull/228 (more robust than the find method, which gave some strange errors)

* Update extension example accordingly</content>
</entry>
<entry>
<title>Command Line Parser Concept (#6099)</title>
<updated>2024-02-28T12:23:28+00:00</updated>
<author>
<name>Kasimir Cash</name>
<email>kasimir.cash@outlook.com</email>
</author>
<published>2024-02-28T12:23:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=4b29e666b06762b4b36438c9370c38bc43121f78'/>
<id>urn:sha1:4b29e666b06762b4b36438c9370c38bc43121f78</id>
<content type='text'>
* Adds logic for validation

* Adds validation to do-install

* Adds help to do-install

* Adds validation &amp; help to reconfigure

* Adds validation to check.translation

* Adds validation to manipulate.translation

* Small fixes to help texts

* Refactors language option validation

* Adds default options to validation

* Fixes validation with regex

* Refactors readAs functions

* Updates to new regex validation format

* Fixes typing around default values

* Adds file extension validation

* Restandardises validation &amp; parsing typing around array of strings

* Adds NotOneOf validation

* Adds ArrayOfString read as

* Refactors existing validation

* Adds validation throughout cli

* Removes unused file

* Adds new CL parser with goal of wrapping CLI behaviour

* Hides parsing and validation

* Rewites CL parser to make better use of classes

* Rolls out new parser across CL

* Fixes error during unknown option check

* Fixes misnamed property calls

* Seperates validations into more appropriate locations

* Adds common boolean forms to validation

* Moves CommandLineParser and Option classes into their own files

* Fixes error when validating Int type

* Rewrites appendTypedValues -&gt; appendTypedValidValues now filters invalid values from output

* Renames  -&gt;  for clarity

* Adds some docs clarifying option defaults and value taking behaviour

* Refactors getUsageMessage for readability

* Minor formatting changes

* Adds tests for CommandLineParser

* Adds more tests

* Adds minor fixs

* Reconfigure now correctly updates config

* More fixes to reconfigure

* Fixes required files for CommandLineParserTest

* Use .php extension for PHP file

* PHPStan ignore instead of wrong typing

* Refactors to support php 7.4

* Moves away from dynamic properties by adding 'Definintions' to all commands

* Renames target to definition for clarity

* Stops null from being returned as a valid value in a certain edge case

* Adds PHPStan ignore instead of incorrect typing

* Refactors tests to take account of new typing solution

* Marks file as executable

* Draft CLI rework

* Finish rewrite as object-oriented

* Fix PHPStan ignore and make more strongly typed

* Rename class Option to CliOption

* Light renaming + anonymous classes

---------

Co-authored-by: Alexandre Alapetite &lt;alexandre@alapetite.fr&gt;</content>
</entry>
<entry>
<title>New feature: shareable user query  (#6052)</title>
<updated>2024-02-26T08:01:03+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2024-02-26T08:01:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=39cc1c11ec596176e842cc98e6a54337e3c04d7e'/>
<id>urn:sha1:39cc1c11ec596176e842cc98e6a54337e3c04d7e</id>
<content type='text'>
* New feature: shareable user query
Share the output of a user query by RSS / HTML / OPML with other people through unique URLs.
Replaces the global admin token, which was the only option (but unsafe) to share RSS outputs with other people.
Also add a new HTML output for people without an RSS reader.

fix https://github.com/FreshRSS/FreshRSS/issues/3066#issuecomment-648977890
fix https://github.com/FreshRSS/FreshRSS/issues/3178#issuecomment-769435504

* Remove unused method

* Fix token saving

* Implement HTML view

* Update i18n for master token

* Revert i18n get_favorite

* Fix missing i18n for user queries from before this PR

* Remove irrelevant tests

* Add link to RSS version

* Fix getGet

* Fix getState

* Fix getSearch

* Alternative getSearch

* Default getOrder

* Explicit default state

* Fix test

* Add OPML sharing

* Remove many redundant SQL queries from original implementation of user queries

* Fix article tags

* Use default user settings

* Prepare public search

* Fixes

* Allow user search on article tags

* Implement user search

* Revert filter bug

* Revert wrong SQL left outer join change

* Implement checkboxes

* Safe check of OPML

* Fix label

* Remove RSS button to favour new sharing method
That sharing button was using a global admin token

* First version of HTTP 304

* Disallow some recusrivity
fix https://github.com/FreshRSS/FreshRSS/issues/6086

* Draft of nav

* Minor httpConditional

* Add support for offset for pagination

* Fix offset pagination

* Fix explicit order ASC

* Add documentation

* Help links i18n

* Note about deprecated master token

* Typo

* Doc about format</content>
</entry>
<entry>
<title>Fixes reversed behaviour by ignore (#6041)</title>
<updated>2024-01-17T07:45:11+00:00</updated>
<author>
<name>Kasimir Cash</name>
<email>kasimir.cash@outlook.com</email>
</author>
<published>2024-01-17T07:45:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=9b1f9713337bd9c1d1264688b7ac98be69d53c67'/>
<id>urn:sha1:9b1f9713337bd9c1d1264688b7ac98be69d53c67</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix PHP 7.4 compatibility (#6038)</title>
<updated>2024-01-13T16:02:39+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2024-01-13T16:02:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=74ed1e6c5772338f8a18f4cbf63bdfcf2ef9baaf'/>
<id>urn:sha1:74ed1e6c5772338f8a18f4cbf63bdfcf2ef9baaf</id>
<content type='text'>
Some recent PRs have broken PHP 7.4 compatibility due to `mixed` typing.</content>
</entry>
<entry>
<title>JSONFeeds, JSON scraping, and POST requests for feeds (#5662)</title>
<updated>2024-01-10T07:23:45+00:00</updated>
<author>
<name>eta-orionis</name>
<email>3466670+eta-orionis@users.noreply.github.com</email>
</author>
<published>2024-01-10T07:23:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=9c97d8ca729e3cfb067445c0d3c9ad8284132aeb'/>
<id>urn:sha1:9c97d8ca729e3cfb067445c0d3c9ad8284132aeb</id>
<content type='text'>
* allow POST requests for feeds

* added json dotpath and jsonfeed subscriptions. No translation strings yet

* debug and fix jsonfeed parser

* bugfix params saved when editing feed

* added translations for JSON features

* Update docs for web scraping

* make fix-all
and revert unrelated changes, plus a few manual fixes, but there are still several type errors

* Fix some i18n

* refactor json parsing for both feed types

* cleanup unnecessary comment

* refactored generation of SimplePie for XPath and JSON feeds

* Fix merge error

* Update to newer FreshRSS code

* A bit of refactoring

* doc, whitespace

* JSON Feed is in two words

* Add support for array syntax

* Whitespace

* Add OPML export/import

* Work on i18n

* Accept application/feed+json

* Rework POST

* Fix update

* OPML for cURL options

* Fix types

* Fix Typos

---------

Co-authored-by: Erion Elmasllari &lt;elmasllari@factorsixty.com&gt;
Co-authored-by: Alexandre Alapetite &lt;alexandre@alapetite.fr&gt;</content>
</entry>
<entry>
<title>Pass PHPStan level 8 (#5946)</title>
<updated>2023-12-18T16:59:16+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2023-12-18T16:59:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=a80a5f48a16e7d232168a7aaa68e9a1804235ce1'/>
<id>urn:sha1:a80a5f48a16e7d232168a7aaa68e9a1804235ce1</id>
<content type='text'>
* Pass PHPStan level 8
And prepare for PHPStan level 9 https://phpstan.org/user-guide/rule-levels

* Revert wrong replace in comment

* Fix PHPStan level 8

* Update PHPStan and other dev dependencies

* Remove obsolete comment

* noVariableVariables and towards bleedingEdge
https://github.com/phpstan/phpstan-strict-rules
https://phpstan.org/blog/what-is-bleeding-edge

* More bleedingEdge

* A bit more PHPStan level 9

* More PHPStan level 9

* Prepare for booleansInConditions
Ignore int and null

* Revert wrong line

* More fixes

* Fix keep_max_n_unread

* Stricter attribute functions

* Stricter callHooks and more PHPStan level 9

* More typing

* A tiny more</content>
</entry>
<entry>
<title>Add filter actions (auto mark read) at category and global levels (#5942)</title>
<updated>2023-12-15T22:04:29+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2023-12-15T22:04:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=6bb45a87268157aab961a6a4a728d9a9bbe043b0'/>
<id>urn:sha1:6bb45a87268157aab961a6a4a728d9a9bbe043b0</id>
<content type='text'>
* Add filter actions (auto mark read) at category level
fix https://github.com/FreshRSS/FreshRSS/issues/3497

* Add filter actions (auto mark read) at global level
fix https://github.com/FreshRSS/FreshRSS/issues/2788

* Fix feed category ID

* Minor comment</content>
</entry>
<entry>
<title>Use strict_types (#5830)</title>
<updated>2023-11-16T21:43:00+00:00</updated>
<author>
<name>Luc SANCHEZ</name>
<email>4697568+ColonelMoutarde@users.noreply.github.com</email>
</author>
<published>2023-11-16T21:43:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=30c7a61a9b410f023c56ef19b9389a61647d8768'/>
<id>urn:sha1:30c7a61a9b410f023c56ef19b9389a61647d8768</id>
<content type='text'>
* Little's optimisations and booleans in conditions

* Apply strict type

* Apply strict type

* Apply strict type

* Fix multiple bugs with PHP 8.2 and 8.3

* Many declares missing, more errors fixed

* Apply strict type

* Another approach

* Stronger typing for Minz_Session

* Fix case of SQLite

---------

Co-authored-by: Luc &lt;sanchezluc+freshrss@gmail.com&gt;
Co-authored-by: Alexandre Alapetite &lt;alexandre@alapetite.fr&gt;</content>
</entry>
</feed>
