<feed xmlns='http://www.w3.org/2005/Atom'>
<title>FreshRSS (Customized)/app/install.php, branch 1.15.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.15.0</id>
<link rel='self' href='https://git.rdnlsmith.com/fresh-rss-custom/atom?h=1.15.0'/>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/'/>
<updated>2019-10-23T09:18:20+00:00</updated>
<entry>
<title>Take advantage of PHP 5.4+ short echo (#2585)</title>
<updated>2019-10-23T09:18:20+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2019-10-23T09:18:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=7a5236de3f13f08b8c51eb183c0dcf1c8c85beca'/>
<id>urn:sha1:7a5236de3f13f08b8c51eb183c0dcf1c8c85beca</id>
<content type='text'>
* Take advantage of PHP 5.4+ short echo

https://php.net/migration54.new-features thanks to
https://github.com/FreshRSS/FreshRSS/pull/2495

Use `&lt;?=  ?&gt;` instead of `&lt;?php echo; ?&gt;`
10kB of code saved :-)

Done with regular expression:
```
&lt;\?php echo (.+?);? *\?&gt;
&lt;?= \1 ?&gt;
```

* Try Travis fix

https://github.com/squizlabs/PHP_CodeSniffer/issues/2045#issuecomment-395238272
</content>
</entry>
<entry>
<title>Feature/new archiving (#2335)</title>
<updated>2019-10-22T22:52:15+00:00</updated>
<author>
<name>Alexis Degrugillier</name>
<email>aledeg@users.noreply.github.com</email>
</author>
<published>2019-10-22T22:52:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=cc0db9af4f980829faa4bf0960617807b32fb4fa'/>
<id>urn:sha1:cc0db9af4f980829faa4bf0960617807b32fb4fa</id>
<content type='text'>
* Change archiving config page layout

I've changed some wording and moved actions into a
maintenance section.

* Update purge action

Now we have more control on the purge action. The configuration allows
us to choose what to keep and what to discard in a more precise way.
At the moment, the configuration applies for all feeds.

* Add purge configuration on feed level

Now the extend purge configuration is available on feed level.
It is stored as attributes and will be used in the purge action.

* Update purge action

Now the purge action uses the feed configuration if it exists and
defaults on user configuration if not.

* Add empty option in period list

* Fix configuration warnings

* Add archiving configuration on categories

See #2369

* Add user info back

* Add explanations in UI

* Fixes for SQLite + error + misc.

* Fix invalid feed reference

* Short array syntax

Only for new code, so far

* Fix prefix error

* Query performance, default values

Work in progress

* Fix default values and confirm before leaving

Form cancel and confirm changes before leaving were broken.
And start taking advantage of the short echo syntax `&lt;?= ?&gt;` as we have
moved to PHP 5.4+

* More work

* Tuning SQL

* Fix MariaDB + performance issue

* SQL performance

* Fix SQLite bug

* Fix some attributes JSON encoding bugs

Especially for SQLite export/import

* More uniform, fix bugs

More uniform between global, category, feed settings

* Drop special cases for old articles during refresh

Instead will use lastSeen date with the new archiving logic.
This was generating problems anyway
https://github.com/FreshRSS/FreshRSS/issues/2154

* Draft drop index keep_history

Not needed anymore

* MySQL typo

Now properly tested with MySQL, PostgreSQL, SQLite

* More work for legacy values

Important to avoid overriding user's preference and risking deleting
data erroneously

* Fix PHP 7.3 / 7.4 warnings

@aledeg "Trying to use values of type null, bool, int, float or resource
as an array (such as $null["key"]) will now generate a notice. "
https://php.net/migration74.incompatible

* Reintroduce min articles and take care of legacy parameters

* A few changes forgotten

* Draft of migration + DROP of feed.keep_history

* Fix several errors

And give up using const for SQL to allow multiple database types (and we
cannot redefine a const)

* Add keep_min to categories + factorise archiving logic

* Legacy fix

* Fix bug yield from

* Minor: Use JSON_UNESCAPED_SLASHE for attributes

And make more uniform

* Fix sign and missing variable

* Fine tune the logic
</content>
</entry>
<entry>
<title>Catch error in install (#2556)</title>
<updated>2019-10-05T15:12:05+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2019-10-05T15:12:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=40686d68df629642be78a50a24a62dd6feaa699c'/>
<id>urn:sha1:40686d68df629642be78a50a24a62dd6feaa699c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>PDO refactoring for code simplification (#2522)</title>
<updated>2019-09-29T14:22:50+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2019-09-29T14:22:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=e3e5954394f4523850c78e80e496f1b916622677'/>
<id>urn:sha1:e3e5954394f4523850c78e80e496f1b916622677</id>
<content type='text'>
* PDO refactor

* Automatic prefix when using the syntax `_tableName`
* Uniformity: MySQL is now PDO::ATTR_EMULATE_PREPARES = false just like SQLite and PostgreSQL, with consequences such as only one statement per query
* Use PDO methods exec(), query(), prepare() + execute() in a more efficient way
* Remove auto-update SQL code for versions older than FreshRSS 1.5 (3 years old)
* The name of the default category is set in PHP instead of in the DB (simplies SQL and allows changing the name according to the FreshRSS language)
* Rename `-&gt;bd` to `-&gt;pdo` (less of a frenshism, and more informative)
* Fix some requests, which were not compatible with MySQL prepared statements

* Whitespace

* Fix syntax for PostgreSQL sequences

+ MySQL install

* Minor formatting

* Fix lastInsertId for PostgreSQL

* Use PHP 5.6+ const

Take advantage of https://github.com/FreshRSS/FreshRSS/pull/2527
https://www.php.net/manual/en/migration56.new-features.php

* A bit of forgotten PHP 5.6 simplification for cURL

* Forgotten $s

* Mini fix custom user config

https://github.com/FreshRSS/FreshRSS/pull/2490/files#r326290346

* More work on install.php but not finished

* install.php working

* More cleaning of PDO in install

* Even more simplification

Take advantage of PDO-&gt;exec() to run multiple statements

* Disallow changing the name of the default category

https://github.com/FreshRSS/FreshRSS/pull/2522#discussion_r326967724
</content>
</entry>
<entry>
<title>Remove JSON.php fallback (#2528)</title>
<updated>2019-09-18T15:18:36+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2019-09-18T15:18:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=e761202f8a4c30cd0cb22190728cf0a61a3271bb'/>
<id>urn:sha1:e761202f8a4c30cd0cb22190728cf0a61a3271bb</id>
<content type='text'>
After moving to PHP 5.6+ https://github.com/FreshRSS/FreshRSS/pull/2527
it should not be necessary to have the JSON.php fallback anymore, which
was mainly there due to an obscure licensing issue 6 years ago in Debian
https://wiki.debian.org/qa.debian.org/jsonevil , which broke Ubuntu
13.10 https://github.com/FreshRSS/FreshRSS/issues/306</content>
</entry>
<entry>
<title>Require PHP 5.6+</title>
<updated>2019-09-17T18:28:07+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2019-09-17T18:28:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=38117df976a5b8776a6df483ac7666895691b832'/>
<id>urn:sha1:38117df976a5b8776a6df483ac7666895691b832</id>
<content type='text'>
Discussion
https://github.com/FreshRSS/FreshRSS/pull/2495#issuecomment-531911473
Needed for constant arrays
https://www.php.net/manual/en/migration56.new-features.php which will be
used in https://github.com/FreshRSS/FreshRSS/pull/2522
</content>
</entry>
<entry>
<title>add: Allow admins to configure default feeds (#2515)</title>
<updated>2019-09-11T16:40:17+00:00</updated>
<author>
<name>Marien Fressinaud</name>
<email>dev@marienfressinaud.fr</email>
</author>
<published>2019-09-11T16:40:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=7b4cd3abae88bf1b8a04642489b68a741e4d2c6a'/>
<id>urn:sha1:7b4cd3abae88bf1b8a04642489b68a741e4d2c6a</id>
<content type='text'>
* Homogenize SQL_INSERT_FEEDS across database types

* Extract default feeds into system configuration

* Adapt default feeds init during installation
</content>
</entry>
<entry>
<title>Minz: New environment variable to control development mode (#2508)</title>
<updated>2019-08-22T18:04:26+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2019-08-22T18:04:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=6cedeeeae51f5e5220d7f786fb801951811bb743'/>
<id>urn:sha1:6cedeeeae51f5e5220d7f786fb801951811bb743</id>
<content type='text'>
* New environment variable to control development mode

Suggestion of new enviromnent variable, as discussed
https://github.com/FreshRSS/FreshRSS/pull/2492#issuecomment-523613920

* Update Docker/README.md

Co-Authored-By: Frans de Jonge &lt;fransdejonge@gmail.com&gt;

* Update Docker/README.md

Co-Authored-By: Frans de Jonge &lt;fransdejonge@gmail.com&gt;

* Update Docker/README.md

Co-Authored-By: Frans de Jonge &lt;fransdejonge@gmail.com&gt;

* Declare ENV in Dockerfile

Tested
</content>
</entry>
<entry>
<title>Require PHP 5.5+ (#2495)</title>
<updated>2019-08-20T12:55:43+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2019-08-20T12:55:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=fd33d92d413acb5ee48e04d8a78f251e35ef06c5'/>
<id>urn:sha1:fd33d92d413acb5ee48e04d8a78f251e35ef06c5</id>
<content type='text'>
* Require PHP 5.5+

https://github.com/FreshRSS/FreshRSS/issues/2469#issuecomment-522255093
I think it would be reasonable to require PHP 5.5+ for the core of
FreshRSS after all.

As Frenzie said, WordPress currently requires PHP 5.6.20+, and it is the
most popular PHP application.

We would loose about 20% of the PHP servers according to
https://w3techs.com/technologies/details/pl-php/5/all but I expect this
number to drop fast after the release of CentOS 8 (CentOS accounts for
17% of Linux servers
https://w3techs.com/technologies/details/os-linux/all/all ).

Distributions:
* no impact on Ubuntu, Fedora, Alpine, OpenWRT, FreeBSD, OpenSuze,
Mageia, as all active versions have PHP &gt; 7
* no impact on OpenSuze, Synology, as all active versions have PHP &gt; 5.5
* we drop Debian 8 Jessie (-2020) - we keep supporting Debian 9 Stretch
(2017-06) - current is Debian 10 Buster
* we drop Red Hat 7 (-2024) - we keep supporting RHEL 8 (2019-05)
* we drop CentOS 7 (-2024) - we will support CentOS 8 (to be released
soonish)

When dropping older versions, I can better like when it is for a good
reason, and there is actually one with PHP 5.5, namely generators
(yield) https://php.net/language.generators.overview which I consider
using.

* Version note for JSON.php

* hex2bin

* Update .travis.yml

Co-Authored-By: Frans de Jonge &lt;fransdejonge@gmail.com&gt;
</content>
</entry>
<entry>
<title>Default to SQLite (#2443)</title>
<updated>2019-07-14T12:37:46+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2019-07-14T12:37:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=f5fb8e8d2acfe1a1bd5323f2adc19edbfee27530'/>
<id>urn:sha1:f5fb8e8d2acfe1a1bd5323f2adc19edbfee27530</id>
<content type='text'>
Move SQLite as first option in install instead of MySQL. Lower barrier
to entry.</content>
</entry>
</feed>
