<feed xmlns='http://www.w3.org/2005/Atom'>
<title>FreshRSS (Customized)/app/Models/Feed.php, branch edge</title>
<subtitle>Customized version of FreshRSS, a self-hosted RSS feed aggregator</subtitle>
<id>https://git.rdnlsmith.com/fresh-rss-custom/atom?h=edge</id>
<link rel='self' href='https://git.rdnlsmith.com/fresh-rss-custom/atom?h=edge'/>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/'/>
<updated>2026-02-01T12:12:47+00:00</updated>
<entry>
<title>Implement sort order per feed (#8234)</title>
<updated>2026-02-01T12:12:47+00:00</updated>
<author>
<name>PeterVavercak</name>
<email>168563044+PeterVavercak@users.noreply.github.com</email>
</author>
<published>2026-02-01T12:12:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=ee7eb67f3c2e7795c51da95e770eb2d34e93a546'/>
<id>urn:sha1:ee7eb67f3c2e7795c51da95e770eb2d34e93a546</id>
<content type='text'>
* added local feed sorting

Addresses https://github.com/FreshRSS/FreshRSS/issues/4761

- Added number of sorted feeds and associative array for feed sorting option in Context.
- Number of sorted feeds and local sorting option by its index saved into Minz Request Parameters.
- Number of sorted feeds and local sorting options deleted when choosing another Option Of Global Sorting.
- Added option of allowing sorting by feed in configuration.
- Added variable for allowing local sorting in userConf.
- Added function to get feeds by current get in context.
- Added menu button for all individual feed sorting.
- New database options for individual feed sorting in EntryDAO.
- Considered choosing new entries based on chosen load limit.
- Local sorting parameter saved into continuation value in Index Controller.

How to test the feature manually:

1. At the bottom of Reading Configuration menu turn on individual sorting option menu 
2. Choose Sorting by feed option
3. Choose feed at next sorting menu and choose sorting option for that feed

* added feed sorting option

* added sort feeds display

* added template for sort feed name

* added title to feed sorting button

* added comments

* added local sorting option

* Added Docs

* css reset

* added getter and seter for local sort

* added getter and seter for local sort

* allowed sorting per feed

* allowed sorting per feed

* added sorting option for category

* deleted changes from NetryDAO

* add setting up sorting for category

* docs reset

* i18 reset

* updated i18 for category

* added i18 for categories

* added i18 for category

* added setting sorting for feeds and category

* removing userConf.allow-local-sort

* removing userConf.allow-local-sort

* removing white space

* added credits

* removed feeds_by_get

* removed whitespace

* changed escaping for values

* added escaping to user set values

* added in_array

* added secondary sort and order

* added secondary sort and order

* fixed readme

* removed whitespace change

* reseted i18n

* added translations

* added feed setting translations

* fixed i18n

* fixed i18n

* changes in sort order per feed

* changes in sort order per feed

* added secondary sort order

* primary sort

* changed to preferred sort order

* i18n

* Revert wrong whitespace changes

* Re-order new options

* added blank option

* fixed escaping

* fixed default sort in feed

* fixed default sort recovery

* siplyfied option

* added rand option

* Revert unrelated change

* Minor plaintext

* Whitespace and formatting fixes

* Avoid unneeded SQL requests and processing

* Improve syntax

* Improve logic

* Reuse existing translations as much as possible

* i18n

* Remove some options that make little sense

* Separators

* Fix old transation key

* Add help messages

* Progress on secondary sort

* raw name

* Pass parameters. Add TODO

* Progress

* Minor ordering

* Fix parenthesis

---------

Co-authored-by: root &lt;root@LAPTOP-C8TCHHPN.localdomain&gt;
Co-authored-by: Alexandre Alapetite &lt;alexandre@alapetite.fr&gt;</content>
</entry>
<entry>
<title>pubSub, if hub have same host it can be reached without being public (#8450)</title>
<updated>2026-01-29T09:08:08+00:00</updated>
<author>
<name>rupak</name>
<email>nnew234567@gmail.com</email>
</author>
<published>2026-01-29T09:08:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=edc750fe444b6af65eccee879a048cf3e0cdd215'/>
<id>urn:sha1:edc750fe444b6af65eccee879a048cf3e0cdd215</id>
<content type='text'>
Compares host of hub and baseUrl, to detect they can connect each other ofr pubSubHub

Helps https://github.com/FreshRSS/FreshRSS/issues/8442

Changes proposed in this pull request:

- if host of hub and baseUrl are same then they hub can access freshrss even in localhost

How to test the feature manually:

- Create pubsub server on localhost and connect to RSS instance on localhost.

---------

Co-authored-by: Alexandre Alapetite &lt;alexandre@alapetite.fr&gt;</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>Use native PHP #[Deprecated] (#8325)</title>
<updated>2025-12-17T09:11:18+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2025-12-17T09:11:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=00cd5df294c875ea1e00ab2f645a338a6bd92c8e'/>
<id>urn:sha1:00cd5df294c875ea1e00ab2f645a338a6bd92c8e</id>
<content type='text'>
https://php.watch/versions/8.4/Deprecated
And enfore it with PHPUnit + PHPStan.
Especially useful for extensions.</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>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>Bump phpstan/phpstan from 2.1.29 to 2.1.31 (#8156)</title>
<updated>2025-10-25T09:21:28+00:00</updated>
<author>
<name>dependabot[bot]</name>
<email>49699333+dependabot[bot]@users.noreply.github.com</email>
</author>
<published>2025-10-25T09:21:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=f1c91c84ddee0a9f3ef6d0775f630822c184963f'/>
<id>urn:sha1:f1c91c84ddee0a9f3ef6d0775f630822c184963f</id>
<content type='text'>
* Bump phpstan/phpstan from 2.1.29 to 2.1.31

Bumps [phpstan/phpstan](https://github.com/phpstan/phpstan-phar-composer-source) from 2.1.29 to 2.1.31.
- [Commits](https://github.com/phpstan/phpstan-phar-composer-source/commits)

---
updated-dependencies:
- dependency-name: phpstan/phpstan
  dependency-version: 2.1.31
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] &lt;support@github.com&gt;

* Fixes

---------

Signed-off-by: dependabot[bot] &lt;support@github.com&gt;
Co-authored-by: dependabot[bot] &lt;49699333+dependabot[bot]@users.noreply.github.com&gt;
Co-authored-by: Alexandre Alapetite &lt;alexandre@alapetite.fr&gt;</content>
</entry>
<entry>
<title>API optimisation: more streaming of outputs (#8041)</title>
<updated>2025-10-01T18:21:24+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2025-10-01T18:21:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=2601897c55e2040c21591f7b4f6041f71393346b'/>
<id>urn:sha1:2601897c55e2040c21591f7b4f6041f71393346b</id>
<content type='text'>
* API optimisation: more streaming of outputs
I spotted a memory issue when testing https://github.com/FreshRSS/FreshRSS/pull/7714
Attempt to stream results more, instead of keeping too much in memory.
Could be further improved.

* Apply suggestions from code review

Co-authored-by: Alexis Degrugillier &lt;aledeg@users.noreply.github.com&gt;

* Minor whitespace JSON formatting

---------

Co-authored-by: Alexis Degrugillier &lt;aledeg@users.noreply.github.com&gt;</content>
</entry>
<entry>
<title>Add hook enums (#8036)</title>
<updated>2025-09-30T20:59:41+00:00</updated>
<author>
<name>Alexis Degrugillier</name>
<email>aledeg@users.noreply.github.com</email>
</author>
<published>2025-09-30T20:59:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=72884813e13596d211471482ffdc6d723ed678c9'/>
<id>urn:sha1:72884813e13596d211471482ffdc6d723ed678c9</id>
<content type='text'>
- add an enum to handle hook types (enum are available since PHP 8.1)
- change hook calls from string value to enum value
</content>
</entry>
</feed>
