<feed xmlns='http://www.w3.org/2005/Atom'>
<title>FreshRSS (Customized)/lib, branch 1.21.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.21.0</id>
<link rel='self' href='https://git.rdnlsmith.com/fresh-rss-custom/atom?h=1.21.0'/>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/'/>
<updated>2023-03-04T10:18:56+00:00</updated>
<entry>
<title>SimplePie use single constant for default HTTP Accept header (#5083)</title>
<updated>2023-03-04T10:18:56+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2023-03-04T10:18:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=32acd6c13e92971714aa5ba47827cb3410c4cddf'/>
<id>urn:sha1:32acd6c13e92971714aa5ba47827cb3410c4cddf</id>
<content type='text'>
* Use single constant for default SimplePie HTTP Accept
And add missing headers in `SimplePie_Locator::body()`
Follow-up of https://github.com/simplepie/simplepie/commit/5d966b9f64a6034f89b019152d7cad9059f8819f

* Update SimplePie default HTTP Accept
Fix https://github.com/FreshRSS/FreshRSS/pull/5079#issuecomment-1421619176
The `*/*` breaks Mastodon content negotiation

* Revert "Update SimplePie default HTTP Accept"

This reverts commit 13a5a5cb3b2fa6bdd57be8b3f84dc37ed814ccf6.

* Same as upstream</content>
</entry>
<entry>
<title>XML+XPath (#5076)</title>
<updated>2023-02-09T12:57:20+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2023-02-09T12:57:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=05ae1b0d2684cea4eda664c5ea1a995cb9f0c4b9'/>
<id>urn:sha1:05ae1b0d2684cea4eda664c5ea1a995cb9f0c4b9</id>
<content type='text'>
* XML+XPath
#fix https://github.com/FreshRSS/FreshRSS/issues/5075
Implementation allowing to take an XML document as input using an XML parser (instead of an HTML parser for HTML+XPath)

* Remove noise from another PR

* Better MIME for XML

* And add glob *.xml for cache cleaning

* Minor syntax

* Add glob json for clean cache</content>
</entry>
<entry>
<title>More robust application of access permissions (#5062)</title>
<updated>2023-02-06T14:42:53+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2023-02-06T14:42:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=e899e4edd97c296a29b2a8da2c2e3b598622c36e'/>
<id>urn:sha1:e899e4edd97c296a29b2a8da2c2e3b598622c36e</id>
<content type='text'>
* More robust application of access permissions
We were in particular missing directory traversal `+X` in our current recommendations.
Extracted to own shell script so it can easily be invoked.
Update access permissions in Docker to account to be more robust.
#fix https://github.com/FreshRSS/FreshRSS/discussions/5037

* Minor simplification

* Restrict mkdir permissions
Default mkdir permissions are 0777, which is not good for security, so downgrade to 0770.</content>
</entry>
<entry>
<title>Type hinting and doc (#5063)</title>
<updated>2023-02-03T13:35:59+00:00</updated>
<author>
<name>Luc SANCHEZ</name>
<email>4697568+ColonelMoutarde@users.noreply.github.com</email>
</author>
<published>2023-02-03T13:35:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=40aa8b9264f1918cb48a0e2f6fc00455181a004a'/>
<id>urn:sha1:40aa8b9264f1918cb48a0e2f6fc00455181a004a</id>
<content type='text'>
* Type hinting and doc

* fix cs

* Remove declare strict

* Remove declare strict

* Pass PHPStan level 9
Revert too boolean syntax

* Minor wording

* Fix revert typo

---------

Co-authored-by: Luc &lt;sanchezluc+freshrss@gmail.com&gt;
Co-authored-by: Alexandre Alapetite &lt;alexandre@alapetite.fr&gt;</content>
</entry>
<entry>
<title>Remove -x on some files not needing it (#5065)</title>
<updated>2023-02-03T13:34:47+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2023-02-03T13:34:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=9b5de54a9c96110b42f71681aa635e2e2c3b8756'/>
<id>urn:sha1:9b5de54a9c96110b42f71681aa635e2e2c3b8756</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Workaround disabled openlog syslog (#5054)</title>
<updated>2023-01-30T19:31:46+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2023-01-30T19:31:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=4ad66c24bfd96a5f5a71eec895e9d3085d67f4a0'/>
<id>urn:sha1:4ad66c24bfd96a5f5a71eec895e9d3085d67f4a0</id>
<content type='text'>
* Workaround disabled openlog syslog
#fix https://github.com/FreshRSS/FreshRSS/issues/5053
#fix https://github.com/FreshRSS/FreshRSS/issues/5027

* COPY_SYSLOG_TO_STDERR

* Better return

* Simplify openlog</content>
</entry>
<entry>
<title>PHPStan level 9 for ./p/ and lib_rss.php (#5049)</title>
<updated>2023-01-29T17:53:51+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2023-01-29T17:53:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=4f316b2ed397bb331ef89f2cd2d8ce92a725ccba'/>
<id>urn:sha1:4f316b2ed397bb331ef89f2cd2d8ce92a725ccba</id>
<content type='text'>
And app/FreshRSS.php
Contributes to https://github.com/FreshRSS/FreshRSS/issues/4112</content>
</entry>
<entry>
<title>Fix error handling when updating URL (#5039)</title>
<updated>2023-01-26T07:59:34+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2023-01-26T07:59:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=07efaf71eac19934d858df678576823da131d1bb'/>
<id>urn:sha1:07efaf71eac19934d858df678576823da131d1bb</id>
<content type='text'>
Fix 3 related error handling when updating the feed URL with an invalid URL. Previously leading to unclear 500 page with additional PHP errors.</content>
</entry>
<entry>
<title>i18n safer vsprintf (#5022)</title>
<updated>2023-01-18T22:39:30+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2023-01-18T22:39:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=d105761fec48b388aa96e5089111b5c5ae941df2'/>
<id>urn:sha1:d105761fec48b388aa96e5089111b5c5ae941df2</id>
<content type='text'>
Fix bug introduced by https://github.com/FreshRSS/FreshRSS/pull/4807
though only for the French i18n, wich has some `%` signs in the URL, making `vsprintf` to crash.

Only use `vsprintf`` when we call the translation with some parameters, otherwise skip it (probably faster as well).</content>
</entry>
<entry>
<title>tec: Update the lib_opml (#4403)</title>
<updated>2023-01-18T09:12:21+00:00</updated>
<author>
<name>berumuron</name>
<email>dev@marienfressinaud.fr</email>
</author>
<published>2023-01-18T09:12:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=daaa391e33c5d92e3dd91bb0b81ac420abed7097'/>
<id>urn:sha1:daaa391e33c5d92e3dd91bb0b81ac420abed7097</id>
<content type='text'>
* fix: Fix undefined GLOB_BRACE on Alpine

The manual states that:

&gt; Note: The GLOB_BRACE flag is not available on some non GNU systems,
&gt; like Solaris or Alpine Linux.

This generated an error on Alpine.

Reference: https://www.php.net/manual/function.glob.php

* fix: List details of feeds for OPML exportation

The details are necessary to export the XPath information, the CSS full
content path and read actions filters.

* Update LibOpml to 0.4.0

* Refactor OPML importation to be more robust

First, it fixes two regressions introduced by the update of lib_opml:

- title attribute is used when text attribute is missing;
- the OPML category attribute is used as a fallback for feeds categories.

In a related way, if also fixes a problem when a feed had both a parent
category outline and a category attribute. Before, it only considered the
attribute as its category, but now it considers the parent outline.

Then, it counts category limit correctly by not increasing
`$nb_categories` if the category already exists.

* Exclude lib_opml from the CodeSniffer

* Fix variable names when logging some errors

* Fix catch of LibOpml Exception

* Make sure to declare the category

* Exclude lib_opml from PHPStan analyze

* Disable markdownlint for lib_opml

* Fix typos

* Use auto-loading and allow updates via Composer

* Fix broken links to lib_opml

* Bring back the ability to import the OPML frss:opmlUrl attribute

* Refactor the logs of OPML errors

* Update lib_opml to the version 0.5.0

Co-authored-by: Alexandre Alapetite &lt;alexandre@alapetite.fr&gt;</content>
</entry>
</feed>
