<feed xmlns='http://www.w3.org/2005/Atom'>
<title>FreshRSS (Customized)/app/Utils, branch 1.28.1-custom</title>
<subtitle>Customized version of FreshRSS, a self-hosted RSS feed aggregator</subtitle>
<id>https://git.rdnlsmith.com/fresh-rss-custom/atom?h=1.28.1-custom</id>
<link rel='self' href='https://git.rdnlsmith.com/fresh-rss-custom/atom?h=1.28.1-custom'/>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/'/>
<updated>2026-01-03T17:43:15+00:00</updated>
<entry>
<title>Switch to using CURLOPT_ACCEPT_ENCODING instead of the deprecated CURLOPT_ENCODING (#8376)</title>
<updated>2026-01-03T17:43:15+00:00</updated>
<author>
<name>Michael Meier</name>
<email>mmeier1986@googlemail.com</email>
</author>
<published>2026-01-03T17:43:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=b07ec816b023c911f76c4149d00a2ffbdcab1d16'/>
<id>urn:sha1:b07ec816b023c911f76c4149d00a2ffbdcab1d16</id>
<content type='text'>
* Replace deprecated CURLOPT_ENCODING

The CURLOPT_ENCODING setting has been deprecated in favor of
CURLOPT_ACCEPT_ENCODING.

Signed-off-by: Michael Meier &lt;mmeier1986@gmail.com&gt;

* Sync with our SimplePie fork PR
https://github.com/FreshRSS/simplepie/pull/67
https://github.com/simplepie/simplepie/pull/960
https://github.com/simplepie/simplepie/pull/962

* Our SimplePie PR merged

---------

Signed-off-by: Michael Meier &lt;mmeier1986@gmail.com&gt;
Co-authored-by: Alexandre Alapetite &lt;alexandre@alapetite.fr&gt;</content>
</entry>
<entry>
<title>Handle fetch of text/plain as &lt;pre&gt; (#8340)</title>
<updated>2025-12-24T20:38:38+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2025-12-24T20:38:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=ae2ab45266d7d580879755ac94fc0cbc0ffb4732'/>
<id>urn:sha1:ae2ab45266d7d580879755ac94fc0cbc0ffb4732</id>
<content type='text'>
* Handle fetch of text/plain as &lt;pre&gt;
fix https://github.com/FreshRSS/FreshRSS/issues/8328

* class="text-plain"</content>
</entry>
<entry>
<title>Fix saveHTML() scrambling encoding in newer libxml2 (#8296)</title>
<updated>2025-12-08T22:18:33+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2025-12-08T22:18:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=ec2663812470820dc802628f9cb1b768f4f26fc6'/>
<id>urn:sha1:ec2663812470820dc802628f9cb1b768f4f26fc6</id>
<content type='text'>
fix https://github.com/FreshRSS/FreshRSS/pull/8279#issuecomment-3620674818</content>
</entry>
<entry>
<title>Web scraping support date format epoch milliseconds (#8266)</title>
<updated>2025-11-30T20:42:46+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2025-11-30T20:42:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=023cdf0d7a6408f670fb0ef5c60e65bd0bd409a9'/>
<id>urn:sha1:023cdf0d7a6408f670fb0ef5c60e65bd0bd409a9</id>
<content type='text'>
fix https://github.com/FreshRSS/FreshRSS/discussions/8264
Auto detect whether a `U` date format should be in seconds or milliseconds.</content>
</entry>
<entry>
<title>Fix undefined array key CURLOPT_PROXY (#8218)</title>
<updated>2025-11-16T11:30:44+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2025-11-16T11:30:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=9050598b08fd426aafe1a27ccea0ba445134a7ea'/>
<id>urn:sha1:9050598b08fd426aafe1a27ccea0ba445134a7ea</id>
<content type='text'>
&gt; PHP Warning:  Undefined array key 10004 in ./FreshRSS/app/Utils/httpUtil.php on line 276</content>
</entry>
<entry>
<title>Exclude local networks for domain-wide Retry-After (#8195)</title>
<updated>2025-11-13T10:46:45+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2025-11-13T10:46:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=947a8c015af1b93f6860fd0631299ddefe5bbd23'/>
<id>urn:sha1:947a8c015af1b93f6860fd0631299ddefe5bbd23</id>
<content type='text'>
* Exclude local networks for domain-wide Retry-After
Retry-After will be applied by URL and not by domain for local networks.
fix https://github.com/FreshRSS/FreshRSS/issues/7880

* Improved logic for detection of local domains

* Support ip6-localhost and a couple more variants

* On more: .lan

* Resolve IP address

* Add .intranet</content>
</entry>
<entry>
<title>Housekeeping lib_rss.php (#8193)</title>
<updated>2025-11-11T07:17:12+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2025-11-11T07:17:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=a18c35046daee15e7ac5f85db290d54541a03e3c'/>
<id>urn:sha1:a18c35046daee15e7ac5f85db290d54541a03e3c</id>
<content type='text'>
* Housekeeping lib_rss.php
`lib_rss.php` had become much too large, especially after https://github.com/FreshRSS/FreshRSS/pull/7924
Moved most functions to other places.
Mostly no change of code otherwise (see comments).

* Extension: composer run-script phpstan-third-party</content>
</entry>
<entry>
<title>Create separate `Retry-After` files for proxies (#8029)</title>
<updated>2025-11-04T11:48:31+00:00</updated>
<author>
<name>Inverle</name>
<email>inverle@proton.me</email>
</author>
<published>2025-11-04T11:48:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=7d4854a0a4f5665db599f18c34035786465639f3'/>
<id>urn:sha1:7d4854a0a4f5665db599f18c34035786465639f3</id>
<content type='text'>
* Create separate `Retry-After` files for proxies
Bad proxies are able to send a false `Retry-After` header and affect the availability of feeds (domain-wide) for other users.
This PR starts including the address of the proxy if present in filenames for `Retry-After` to mitigate the issue.

* Reduce code changes

* Sync SimplePie fork
https://github.com/FreshRSS/simplepie/pull/62

---------

Co-authored-by: Alexandre Alapetite &lt;alexandre@alapetite.fr&gt;</content>
</entry>
<entry>
<title>Include port number for HTTP Retry-After (#7875)</title>
<updated>2025-08-30T14:28:37+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2025-08-30T14:28:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=2b02ca59c6af1cfe087ec7e6ea9773cffd48fd50'/>
<id>urn:sha1:2b02ca59c6af1cfe087ec7e6ea9773cffd48fd50</id>
<content type='text'>
fix https://github.com/FreshRSS/FreshRSS/issues/7870 (partially)
</content>
</entry>
<entry>
<title>Implement support for HTTP 429 Too Many Requests (#7760)</title>
<updated>2025-07-31T07:17:42+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2025-07-31T07:17:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=7a0c423357818b19eb431775452b1357bc7fd3eb'/>
<id>urn:sha1:7a0c423357818b19eb431775452b1357bc7fd3eb</id>
<content type='text'>
* Implement support for HTTP 429 Too Many Requests
Will obey the corresponding HTTP `Retry-After` header at domain level.

* Implement 503 Service Unavailable

* Sanitize Retry-After

* Reduce default value when Retry-After is absent
And make configuration parameter

* Retry-After also for favicons</content>
</entry>
</feed>
