<feed xmlns='http://www.w3.org/2005/Atom'>
<title>FreshRSS (Customized)/lib/simplepie, branch 1.28.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.28.0</id>
<link rel='self' href='https://git.rdnlsmith.com/fresh-rss-custom/atom?h=1.28.0'/>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/'/>
<updated>2025-11-04T11:48:31+00:00</updated>
<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>Implement whitelist for SimplePie sanitizer (#7924)</title>
<updated>2025-11-01T23:28:35+00:00</updated>
<author>
<name>Inverle</name>
<email>inverle@proton.me</email>
</author>
<published>2025-11-01T23:28:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=500d05f3c5ec3a3dffa7791f7447bc0d31d6f7e0'/>
<id>urn:sha1:500d05f3c5ec3a3dffa7791f7447bc0d31d6f7e0</id>
<content type='text'>
* Implement whitelist for SimplePie sanitizer

ref: https://github.com/FreshRSS/FreshRSS/pull/7770#issuecomment-3140334326

https://github.com/FreshRSS/simplepie/pull/53
https://github.com/simplepie/simplepie/pull/947

* Remove `&lt;plaintext&gt;` from whitelist

* Improve order

* Remove some tags from whitelist

* Revert partially

* sync

* Display contents of `&lt;noscript&gt;` and `&lt;noembed&gt;`

* sync

* Allow use of `&lt;track&gt;`

* sync again

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

* Alphabetic order

* Reduce list of stripped attributes

* Temporarily strip some attributes

---------

Co-authored-by: Alexandre Alapetite &lt;alexandre@alapetite.fr&gt;</content>
</entry>
<entry>
<title>SimplePie: apply HTTPS policy also on GUIDs and permalinks (#8037)</title>
<updated>2025-10-01T21:13:23+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2025-10-01T21:13:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=e27ca6d9dd82404db23155fb3c04c6592ab28377'/>
<id>urn:sha1:e27ca6d9dd82404db23155fb3c04c6592ab28377</id>
<content type='text'>
* SimplePie: apply HTTPS policy also on GUIDs and permalinks
Fix WordPress duplicates HTTP vs. HTTPS
fix https://github.com/FreshRSS/FreshRSS/issues/5151

* Move code upstream
* https://github.com/simplepie/simplepie/pull/951
* https://github.com/FreshRSS/simplepie/pull/59</content>
</entry>
<entry>
<title>Fix SimplePie support of HTTP trailer headers (#7983)</title>
<updated>2025-10-01T21:07:38+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2025-10-01T21:07:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=49c96fe3ec2273309d99cd2a6d4d80332e09557b'/>
<id>urn:sha1:49c96fe3ec2273309d99cd2a6d4d80332e09557b</id>
<content type='text'>
* Fix SimplePie support of HTTP trailer headers
fix https://github.com/FreshRSS/FreshRSS/discussions/7981
https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Trailer
https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Server-Timing
We need to use content-length to know where the body stops, but content-length is wrong is any compression was used.
So let cURL perform the separation of HTTP headers and body instead of using the SimplePie parser.

* Minor whitespace

* Same change for lib_rss

* Move changes to SimplePie repo
https://github.com/FreshRSS/simplepie/pull/55
https://github.com/FreshRSS/simplepie/pull/57</content>
</entry>
<entry>
<title>SimplePie merge upstream (#7967)</title>
<updated>2025-09-15T11:40:14+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2025-09-15T11:40:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=bb56f59fcf245c00ce7738f077955a3b2ca42606'/>
<id>urn:sha1:bb56f59fcf245c00ce7738f077955a3b2ca42606</id>
<content type='text'>
* https://github.com/simplepie/simplepie/pull/936 (Normalize encoding uppercase)</content>
</entry>
<entry>
<title>Bump SimplePie to 1.9.0 (#7955)</title>
<updated>2025-09-12T22:19:31+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2025-09-12T22:19:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=b04104fd957801b547c232436e6584fde7fdb02f'/>
<id>urn:sha1:b04104fd957801b547c232436e6584fde7fdb02f</id>
<content type='text'>
Main change is https://github.com/simplepie/simplepie/pull/937 (PHP 8.5: Conditionally call deprecated functions)

P.S. a sync with SimplePie upstream was already done recently, hence the limited changes:
* https://github.com/FreshRSS/FreshRSS/pull/7775
</content>
</entry>
<entry>
<title>Fix regression on_http_response (#7824)</title>
<updated>2025-08-14T07:35:30+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2025-08-14T07:35:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=531b9286d94f2f38e8725284bc2bd038f32d743e'/>
<id>urn:sha1:531b9286d94f2f38e8725284bc2bd038f32d743e</id>
<content type='text'>
Fix regression (bad merge) from https://github.com/FreshRSS/FreshRSS/pull/7775
* https://github.com/FreshRSS/simplepie/pull/50
</content>
</entry>
<entry>
<title>SimplePie Fix regex backtrack limit in clean_hash() (#7813)</title>
<updated>2025-08-10T22:52:09+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2025-08-10T22:52:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=eaf69f591f8cf71319060c97da1aeddcd3a853cf'/>
<id>urn:sha1:eaf69f591f8cf71319060c97da1aeddcd3a853cf</id>
<content type='text'>
https://github.com/FreshRSS/simplepie/pull/48
and merge upstream https://github.com/FreshRSS/simplepie/pull/49
fix https://github.com/FreshRSS/FreshRSS/issues/7807
We had a risk of hitting `Backtrack limit was exhausted` in case of open XML comment `&lt;!--` not closed and followed by a very long document.
Fixed by:
* Limiting the max length of the comment
* Stopping at an apparent end of CDATA section `]]&gt;` as it is likely an error

It does not matter much if there are rare cases when the regex does not work perfectly, as it is only used for a cache hint.</content>
</entry>
<entry>
<title>Bump SimplePie with PHPStan Level 8 (#7775)</title>
<updated>2025-08-01T21:27:35+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2025-08-01T21:27:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=b817598f5711b784c05579e473847e1030b4f75e'/>
<id>urn:sha1:b817598f5711b784c05579e473847e1030b4f75e</id>
<content type='text'>
* Bump SimplePie with PHPStan Level 8
* https://github.com/FreshRSS/simplepie/pull/45
SimplePie increased to PHPStan Level 8:
* https://github.com/simplepie/simplepie/pull/857

* Merge upstream
Including my two PRs:
* https://github.com/simplepie/simplepie/pull/932
* https://github.com/simplepie/simplepie/pull/933

* Resolve upstream sync of Expose HTTP status
* https://github.com/FreshRSS/simplepie/pull/47
Finalise merge, following:
* https://github.com/simplepie/simplepie/pull/905#issuecomment-3007605779
* https://github.com/simplepie/simplepie/pull/909
* https://github.com/FreshRSS/FreshRSS/issues/7038</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>
