<feed xmlns='http://www.w3.org/2005/Atom'>
<title>FreshRSS (Customized)/data, branch 1.20.2</title>
<subtitle>Customized version of FreshRSS, a self-hosted RSS feed aggregator</subtitle>
<id>https://git.rdnlsmith.com/fresh-rss-custom/atom?h=1.20.2</id>
<link rel='self' href='https://git.rdnlsmith.com/fresh-rss-custom/atom?h=1.20.2'/>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/'/>
<updated>2022-07-04T07:53:26+00:00</updated>
<entry>
<title>Dynamic OPML (#4407)</title>
<updated>2022-07-04T07:53:26+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2022-07-04T07:53:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=509c8cae6381ec46af7c8303eb92fda6ce496a4a'/>
<id>urn:sha1:509c8cae6381ec46af7c8303eb92fda6ce496a4a</id>
<content type='text'>
* Dynamic OPML draft
#fix https://github.com/FreshRSS/FreshRSS/issues/4191

* Export dynamic OPML
http://opml.org/spec2.opml#1629043127000

* Restart with simpler approach

* Minor revert

* Export dynamic OPML also for single feeds

* Special category type for importing dynamic OPML

* Parameter for excludeMutedFeeds

* Details

* More draft

* i18n

* Fix update

* Draft manual import working

* Working manual refresh

* Draft automatic update

* Working Web refresh + fixes

* Import/export dynamic OPML settings

* Annoying numerous lines in SQL logs

* Fix minor JavaScript error

* Fix auto adding new columns

* Add require

* Add missing 🗲

* Missing space

* Disable adding new feeds to dynamic categories

* Link from import

* i18n typo

* Improve theme icon function

* Fix pink-dark</content>
</entry>
<entry>
<title>Custom logo HTML (#4369)</title>
<updated>2022-05-23T12:03:19+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2022-05-23T12:03:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=f89819bd64bb5ada706f9b85abd6f7b600a95786'/>
<id>urn:sha1:f89819bd64bb5ada706f9b85abd6f7b600a95786</id>
<content type='text'>
* Custom logo HTML
Add option for custom HTML logo/title in the main Web UI view.
Can potentially be different per user.
#fix https://github.com/FreshRSS/FreshRSS/pull/3830/files#r850472247

* logo_html in main config
With new `./data/config.custom.php` to provide custom values before install

* Docker documentation

* whitespace

* Auto relax CSP to allow images for HTML logo

* Documentation</content>
</entry>
<entry>
<title>Implement Web scraping "HTML + XPath" (#4220)</title>
<updated>2022-02-28T19:22:43+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2022-02-28T19:22:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=1fe66ad020ca8f0560bb9c6e311852ed77228f78'/>
<id>urn:sha1:1fe66ad020ca8f0560bb9c6e311852ed77228f78</id>
<content type='text'>
* More PHP type hints for Fever
Follow-up of https://github.com/FreshRSS/FreshRSS/pull/4201
Related to https://github.com/FreshRSS/FreshRSS/issues/4200

* Detail

* Draft

* Progress

* More draft

* Fix thumbnail PHP type hint
https://github.com/FreshRSS/FreshRSS/issues/4215

* More types

* A bit more

* Refactor FreshRSS_Entry::fromArray

* Progress

* Starts to work

* Categories

* Fonctional

* Layout update

* Fix relative URLs

* Cache system

* Forgotten files

* Remove a debug line

* Automatic form validation of XPath expressions

* data-leave-validation

* Fix reload action

* Simpler examples

* Fix column type for PostgreSQL

* Enforce HTTP encoding

* Readme

* Fix get full content

* target="_blank"

* gitignore

* htmlspecialchars_utf8

* Implement HTML &lt;base&gt;
And fix/revert `xml:base` support in SimplePie https://github.com/simplepie/simplepie/commit/e49c578817aa504d8d05cd7f33857aeda9d41908

* SimplePie upstream PR merged
https://github.com/simplepie/simplepie/pull/723</content>
</entry>
<entry>
<title>tec: Remove data/do-install.txt (#3555)</title>
<updated>2021-03-26T18:41:33+00:00</updated>
<author>
<name>berumuron</name>
<email>dev@marienfressinaud.fr</email>
</author>
<published>2021-03-26T18:41:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=cc6c529562ef5751133d97e3fec067c0072f215b'/>
<id>urn:sha1:cc6c529562ef5751133d97e3fec067c0072f215b</id>
<content type='text'>
* Remove file data/do-install.txt

This file was painful during update because we had to remember to delete
it each time. It added a security issue by allowing an attacker to
reinstall FreshRSS during the update process.

The (more powerful) file data/applied_migrations.txt has been introduced
in 8619cf6fa to replace do-install.txt. We had to wait for at least one
release in order to make sure existing instances of FreshRSS created the
migration file. It should be ok now.

* Replace i18n install.not_deleted key

* Update documentation to update FreshRSS</content>
</entry>
<entry>
<title>Add a migration system (#2760)</title>
<updated>2020-07-08T10:11:55+00:00</updated>
<author>
<name>Marien Fressinaud</name>
<email>dev@marienfressinaud.fr</email>
</author>
<published>2020-07-08T10:11:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=8619cf6fa65bbd90871e7b7fe29816092a9d6c33'/>
<id>urn:sha1:8619cf6fa65bbd90871e7b7fe29816092a9d6c33</id>
<content type='text'>
* Add a Minz_Migrator class

Until now, we updated the database structure somewhere in the code but
it wasn't always consistent and somehow complicated to find. Also, this
code was always checked for nothing.

The Migrator aims to improve and ease the creation of migrations. It
should improve the way we apply the updates, making the update server
almost useless.

References:

- example of migration (before Migrator): https://github.com/FreshRSS/FreshRSS/commit/cc0db9af4f980829faa4bf0960617807b32fb4fa#diff-11a53443fa81512b128c66b065df0679R10
- update server: https://github.com/FreshRSS/update.freshrss.org
- PR moving the code of the update server to the core: https://github.com/FreshRSS/FreshRSS/pull/1760

* Automatically apply migrations

For now, administrators are used to have nothing to do during an update
else than getting the new code. I suggest to keep this behaviour and
automatically apply migrations if we detect new ones.

Another solution would be to create a CLI command and ask admins to call
it after getting the new code. It could hide migrations errors to end
users, but admin can forget to apply migrations since there are not used
to it.

* Add documentation for Minz Migrator

* Execute migrations even if next ones are applied

* Change mechanism to prevent multiple update at once

* Use mkdir to create the lock and to test it exists

Reference: https://stackoverflow.com/a/731634

* Append .lock to applied_migrations_path

There are no needs to define another file to serve as a lock.

* Change migrations naming convention

* Apply suggestions from code review

Co-Authored-By: Alexandre Alapetite &lt;alexandre@alapetite.fr&gt;

* Perform a low-cost migration versions comparaison

* Clarify version numbers concerning the migration system

Co-authored-by: Alexandre Alapetite &lt;alexandre@alapetite.fr&gt;</content>
</entry>
<entry>
<title>fix: Gitignore opml.xml (#2632)</title>
<updated>2019-11-04T17:24:08+00:00</updated>
<author>
<name>Marien Fressinaud</name>
<email>dev@marienfressinaud.fr</email>
</author>
<published>2019-11-04T17:24:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=90cb9a2162a5a6c9f4ea2fde6cd4a3df899025e3'/>
<id>urn:sha1:90cb9a2162a5a6c9f4ea2fde6cd4a3df899025e3</id>
<content type='text'>
This file is used to add default feeds to new users. It was added in
7819a43197d34ef7a6c5626e9e48d7db075c37c9

Problem is that the file is not ignored by Git and risk to be deleted
during a git update.</content>
</entry>
<entry>
<title>Add support for terms of service</title>
<updated>2019-09-17T07:21:23+00:00</updated>
<author>
<name>Marien Fressinaud</name>
<email>dev@marienfressinaud.fr</email>
</author>
<published>2019-09-13T15:33:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=a2ed6626c2f4e85878f775abcac897a1fd3a1f42'/>
<id>urn:sha1:a2ed6626c2f4e85878f775abcac897a1fd3a1f42</id>
<content type='text'>
This feature is optional. It is based on the presence of a
`data/tos.html` file that an administrator can create. If this file
exists, FreshRSS will automatically add a "ToS" checkbox on the
registration page that users must check to be able to create their
account.
</content>
</entry>
<entry>
<title>Configure user defaults (#2490)</title>
<updated>2019-09-16T19:18:42+00:00</updated>
<author>
<name>Joris Kinable</name>
<email>j.kinable@gmail.com</email>
</author>
<published>2019-09-16T19:18:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=80590daeb3627e5712be15fdc4bd98f0e2c40ea5'/>
<id>urn:sha1:80590daeb3627e5712be15fdc4bd98f0e2c40ea5</id>
<content type='text'>
* new users inherit defaults from config-user.php

* installer creates ./data/config-user.php

* fixed typo

* .gitignore fix

* fixed style issues

* Fixed comments

* Update according to feedback

- rename file into `data/config-user.custom.php`
- make it optional (and so, don't copy it during installation)

* fixup! Update according to feedback
</content>
</entry>
<entry>
<title>Patch for #2460: Run on Apache 2.4+ without mod_access_compat (#2461)</title>
<updated>2019-07-31T11:48:06+00:00</updated>
<author>
<name>koocotte</name>
<email>seb.github@koocotte.org</email>
</author>
<published>2019-07-31T11:48:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=f5fbc0c7f08efd616a4d24985916d88a846d1723'/>
<id>urn:sha1:f5fbc0c7f08efd616a4d24985916d88a846d1723</id>
<content type='text'>
* Update .htaccess

* Update htaccess for apache2.4

* Update htaccess for apache2.4

* Update htaccess for apache2.4
</content>
</entry>
<entry>
<title>Apache performance (#2202)</title>
<updated>2019-01-02T20:36:33+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2019-01-02T20:36:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=a6623b7b2fa3f026a0ea30e49b1a221f7a4a8e55'/>
<id>urn:sha1:a6623b7b2fa3f026a0ea30e49b1a221f7a4a8e55</id>
<content type='text'>
* Apache performance
API: Use SetEnvIf if available and fallback to RewriteRule
Docker: Disable unused modules.
Docker: Hard-include .htaccess to avoid having to scan for changes in
that file.
Docker: Disable security check of symlinks, which we do not use ayway.

* Apache readme

* Docker/Apache tuning
Run cron job with correct www-data user instead of root
Remove PHP GMP module uneeded for 64-bit Docker image
Add option to mount custom .htaccess for HTTP authentication
Re-add Apache module for HTTP authentication
Move Alpine-specific instructions to Docker file (instead of Apache
conf) to make it easier to have other base images than Alpine</content>
</entry>
</feed>
