<feed xmlns='http://www.w3.org/2005/Atom'>
<title>FreshRSS (Customized)/lib/simplepie, 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-02-15T21:05:38+00:00</updated>
<entry>
<title>Don’t break NetNewsWire’s footnote detection</title>
<updated>2026-02-15T21:05:38+00:00</updated>
<author>
<name>Daniel Smith</name>
<email>daniel@rdnlsmith.com</email>
</author>
<published>2026-02-08T22:11:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=97edabb3bb8026d38ba45abc11fc5f17a007dfdd'/>
<id>urn:sha1:97edabb3bb8026d38ba45abc11fc5f17a007dfdd</id>
<content type='text'>
If NetNewsWire detects that a link points to a footnote within the same
post, then tapping on that link will produce a popover displaying the
text of said footnote. Otherwise, it is treated as a regular link and
opened in the default web browser.

Detecting a footnote requires two things:

1. The link URL must consist only of a fragment (i.e. it begins with
   `#`).

2. There must exist another element (typically `&lt;li&gt;`) in the post’s
   HTML with an `id` attribute matching the fragment (that is, the text
   after `#`).

Because FreshRSS’s web frontend can display multiple articles at once,
all relative URLs (including bare fragments) are automatically converted
to absolute URLs at ingestion time, and `id` attributes are replaced
with `data-sanitized-id` attributes. These changes avoid conflicts in
the web UI, but they break NNW’s footnote detection.

Since I use FreshRSS solely as a backend service for NNW (and other
clients), it is reasonable for me to disable those two sanitization
steps in order to take full advantage of NNW’s features.

Remove `id` from the list of attributes to rename, and add it to the
list of allowed attributes (as otherwise, it would be stripped
entirely). Convert the `absolutize_url()` function into a no-op if the
relative URL provided appears to be a local fragment.
</content>
</entry>
<entry>
<title>Bump SimplePie (#8445)</title>
<updated>2026-01-18T14:37:10+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2026-01-18T14:37:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=ff7ce7b21d158572e59951d5519a1cc7a1f0ce44'/>
<id>urn:sha1:ff7ce7b21d158572e59951d5519a1cc7a1f0ce44</id>
<content type='text'>
https://github.com/simplepie/simplepie/pull/957</content>
</entry>
<entry>
<title>Bump SimplePie (#8443)</title>
<updated>2026-01-17T11:09:04+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2026-01-17T11:09:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=db16450b93e300c22867823a27fa5c02f59f03db'/>
<id>urn:sha1:db16450b93e300c22867823a27fa5c02f59f03db</id>
<content type='text'>
* https://github.com/FreshRSS/simplepie/pull/68
* https://github.com/FreshRSS/simplepie/pull/69

fix https://github.com/FreshRSS/FreshRSS/issues/8441</content>
</entry>
<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>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>
</feed>
