Skip to content

Commit

Permalink
Merge pull request FreshRSS#2049 from FreshRSS/dev
Browse files Browse the repository at this point in the history
FreshRSS 1.12.0
  • Loading branch information
Alkarex authored Oct 28, 2018
2 parents 44bd07e + 4234dfe commit e04804d
Show file tree
Hide file tree
Showing 162 changed files with 4,432 additions and 541 deletions.
41 changes: 41 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,46 @@
# FreshRSS changelog

## 2018-10-28 FreshRSS 1.12.0

* Features
* Ability to add *labels* (custom tags) to articles [#928](https://github.com/FreshRSS/FreshRSS/issues/928)
* Also available through Google Reader API (full support in News+, partial in FeedMe, EasyRSS). No support in Fever API.
* Handle article tags containing spaces, as well as comma-separated tags [#2023](https://github.com/FreshRSS/FreshRSS/pull/2023)
* Handle authors containing spaces, as well as comma or semi-colon separated authors [#2025](https://github.com/FreshRSS/FreshRSS/pull/2025)
* Searches by tag, author, etc. accept Unicode characters [#2025](https://github.com/FreshRSS/FreshRSS/pull/2025)
* New option to disable cache for feeds with invalid HTTP caching [#2052](https://github.com/FreshRSS/FreshRSS/pull/2052)
* UI
* New theme *Swage* [#2069](https://github.com/FreshRSS/FreshRSS/pull/2069)
* Click on authors to initiate a search by author [#2025](https://github.com/FreshRSS/FreshRSS/pull/2025)
* Fix CSS for button alignments in older Chrome versions [#2020](https://github.com/FreshRSS/FreshRSS/pull/2020)
* Updated to jQuery 3.3.1 [#2021](https://github.com/FreshRSS/FreshRSS/pull/2021)
* Updated to bcrypt.js 2.4.4 [#2022](https://github.com/FreshRSS/FreshRSS/pull/2022)
* Security
* Improved flow for password change (avoid error 403) [#2056](https://github.com/FreshRSS/FreshRSS/issues/2056)
* Allow dot `.` in username (best to avoid, though) [#2061](https://github.com/FreshRSS/FreshRSS/issues/2061)
* Performance
* Remove some counterproductive preload / prefetch rules [#2040](https://github.com/FreshRSS/FreshRSS/pull/2040)
* Improved fast flush (earlier transfer, fetching of resources, and rendering) [#2045](https://github.com/FreshRSS/FreshRSS/pull/2045)
* Only available for Apache running PHP as module (not for NGINX, or PHP as CGI / FPM) because we want to keep compression
* Deployment
* Fix Docker bug with some cron values [#2032](https://github.com/FreshRSS/FreshRSS/pull/2032)
* Perform `git clean -f -d -f` (removes unknown files and folders) before git auto-update method [#2036](https://github.com/FreshRSS/FreshRSS/pull/2036)
* Bug fixing
* Make article GUIDs case-sensitive also with MySQL [#2077](https://github.com/FreshRSS/FreshRSS/issues/2077)
* Ask confirmation for important configuration actions [#2048](https://github.com/FreshRSS/FreshRSS/pull/2048)
* Fix database size in the Web UI for users about to be deleted [#2047](https://github.com/FreshRSS/FreshRSS/pull/2047)
* Fix actualize bug after install [#2044](https://github.com/FreshRSS/FreshRSS/pull/2044)
* Fix manual / Web actualize for which the final commit coud be done too early [#2081](https://github.com/FreshRSS/FreshRSS/pull/2081)
* Fix regression from version 1.11.2, which might have wrongly believed that the server address was private [#2084](https://github.com/FreshRSS/FreshRSS/pull/2084)
* Please check in `data/config.php` that you have `'pubsubhubbub_enabled' => true,` if your server has a public address
* Extensions
* Update built-in extension to again fix Tumblr feeds from European Union due to GDPR [#2053](https://github.com/FreshRSS/FreshRSS/pull/2053)
* I18n
* Fix missing German translations, e.g. for *Sharing with Known* [#2059](https://github.com/FreshRSS/FreshRSS/pull/2059)
* Misc.
* Better port detection behind a proxy [#2031](https://github.com/FreshRSS/FreshRSS/issues/2031)


## 2018-09-09 FreshRSS 1.11.2

* Features
Expand Down
5 changes: 5 additions & 0 deletions CREDITS.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ People are sorted by name so please keep this order.
* [Amaury Carrade](https://github.com/AmauryCarrade): [contributions](https://github.com/FreshRSS/FreshRSS/commits?author=AmauryCarrade), [Web](https://amaury.carrade.eu/)
* [Anton Smirnov](https://github.com/sandfoxme): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:sandfoxme), [Web](http://sandfox.me/)
* [ASMfreaK](https://github.com/ASMfreaK): [contributions](https://github.com/FreshRSS/FreshRSS/commits?author=ASMfreaK)
* [chemical1979](https://github.com/chemical1979): [contributions](https://github.com/FreshRSS/FreshRSS/commits?author=chemical1979)
* [Craig Andrews](https://github.com/candrews): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:candrews), [Web](http://candrews.integralblue.com/)
* [Crupuk](https://github.com/Crupuk): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:Crupuk)
* [Damstre](https://github.com/Damstre): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:Damstre)
Expand All @@ -25,6 +26,7 @@ People are sorted by name so please keep this order.
* [gsongsong](https://github.com/gsongsong): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:gsongsong)
* [Guillaume Fillon](https://github.com/kokaz): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:kokaz), [Web](http://www.guillaume-fillon.com/)
* [Guillaume Hayot](https://github.com/postblue): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:postblue), [Web](https://postblue.info/)
* [Gregor Nathanael Meyer](https://github.com/spackmat): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:spackmat), [Web](https://der-meyer.de)
* [hckweb](https://github.com/hckweb): [contributions](https://github.com/FreshRSS/FreshRSS/commits?author=hckweb)
* [hoilc](https://github.com/hoilc): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:hoilc)
* [Jan van den Berg](https://github.com/jan-vandenberg): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:jan-vandenberg), [Web](https://j11g.com/)
Expand All @@ -45,6 +47,7 @@ People are sorted by name so please keep this order.
* [Nicolas Lœuillet](https://github.com/nicosomb): [contributions](https://github.com/FreshRSS/documentation/commits?author=nicosomb), [Web](http://www.loeuillet.org/)
* [Nicola Spanti](https://github.com/RyDroid): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:RyDroid), [Web](http://www.nicola-spanti.info/)
* [Olivier Dossmann](https://github.com/blankoworld): [contributions](https://github.com/FreshRSS/FreshRSS/commits?author=blankoworld), [Web](https://olivier.dossmann.net)
* [Patrick Crandol](https://github.com/pattems): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:pattems)
* [perrinjerome](https://github.com/perrinjerome): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:perrinjerome)
* [plopoyop](https://github.com/plopoyop): [contributions](https://github.com/FreshRSS/FreshRSS/commits?author=plopoyop)
* [Paulius Šukys](https://github.com/psukys): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:psukys), [Web](http://sukys.eu)
Expand All @@ -53,9 +56,11 @@ People are sorted by name so please keep this order.
* [Quentin Dufour](https://github.com/superboum): [contributions](https://github.com/FreshRSS/documentation/commits?author=superboum), [Web](http://quentin.dufour.io/)
* [Ramón Cutanda](https://github.com/rcutanda): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:rcutanda)
* [romibi](https://github.com/romibi): [contributions](https://github.com/FreshRSS/FreshRSS/commits/dev?author=romibi)
* [sirideain](https://github.com/sirideain): [contributions](https://github.com/FreshRSS/FreshRSS/commits/dev?author=sirideain)
* [subic](https://github.com/subic): [contributions](https://github.com/FreshRSS/documentation/commits?author=subic)
* [Tets42](https://github.com/Tets42): [contributions](https://github.com/FreshRSS/FreshRSS/commits?author=Tets42)
* [Thomas Citharel](https://github.com/tcitworld): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:tomgue), [Web](https://www.tcit.fr/)
* [tomgue](https://github.com/tomgue): [contributions](https://github.com/FreshRSS/FreshRSS/commits?author=tomgue)
* [Twilek-de](https://github.com/Twilek-de): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:Twilek-de)
* [Uncovery](https://github.com/uncovery): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:uncovery)
* [Wanabo](https://github.com/Wanabo): [contributions](https://github.com/FreshRSS/FreshRSS/commits?author=Wanabo)
2 changes: 1 addition & 1 deletion Docker/entrypoint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ chown -R :www-data .
chmod -R g+r . && chmod -R g+w ./data/

if [ -n "$CRON_MIN" ]; then
sed -r -i "/FreshRSS/s/^[^ ]+ /$CRON_MIN /" /var/spool/cron/crontabs/root
sed -r -i "\#FreshRSS#s#^[^ ]+ #$CRON_MIN #" /var/spool/cron/crontabs/root
fi

exec "$@"
13 changes: 4 additions & 9 deletions README.fr.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@
* [English version](README.md)

# FreshRSS
FreshRSS est un agrégateur de flux RSS à auto-héberger à l’image de [Leed](http://projet.idleman.fr/leed/) ou de [Kriss Feed](https://tontof.net/kriss/feed/).
FreshRSS est un agrégateur de flux RSS à auto-héberger à l’image de [Leed](http://leed.idleman.fr/) ou de [Kriss Feed](https://tontof.net/kriss/feed/).

Il se veut léger et facile à prendre en main tout en étant un outil puissant et paramétrable.

Il permet de gérer plusieurs utilisateurs, et dispose d’un mode de lecture anonyme.
Il supporte [PubSubHubbub](https://github.com/pubsubhubbub/PubSubHubbub) pour des notifications instantanées depuis les sites compatibles.
Il supporte les étiquettes personnalisées, et [PubSubHubbub](https://github.com/pubsubhubbub/PubSubHubbub) pour des notifications instantanées depuis les sites compatibles.
Il y a une API pour les clients (mobiles), ainsi qu’une [interface en ligne de commande](cli/README.md).
Enfin, il permet l’ajout d’[extensions](#extensions) pour encore plus de personnalisation.

Expand Down Expand Up @@ -70,13 +70,7 @@ Plus d’informations sur l’installation et la configuration serveur peuvent
sudo apt-get install apache2
sudo a2enmod headers expires rewrite ssl #Modules Apache

# Pour Ubuntu <= 15.10, Debian <= 8 Jessie
sudo apt-get install php5 php5-curl php5-gmp php5-intl php5-json php5-sqlite
sudo apt-get install libapache2-mod-php5 #Pour Apache
sudo apt-get install mysql-server mysql-client php5-mysql #Base de données MySQL optionnelle
sudo apt-get install postgresql php5-pgsql #Base de données PostgreSQL optionnelle

# Pour Ubuntu >= 16.04, Debian >= 9 Stretch
# Exemple pour Ubuntu >= 16.04, Debian >= 9 Stretch
sudo apt install php php-curl php-gmp php-intl php-mbstring php-sqlite3 php-xml php-zip
sudo apt install libapache2-mod-php #Pour Apache
sudo apt install mysql-server mysql-client php-mysql #Base de données MySQL optionnelle
Expand Down Expand Up @@ -187,6 +181,7 @@ Tout client supportant une API de type Fever ; Sélection :
* iOS
* [Fiery Feeds](https://itunes.apple.com/app/fiery-feeds-rss-reader/id1158763303) (Propriétaire)
* [Unread](https://itunes.apple.com/app/unread-rss-reader/id1252376153) (Propriétaire)
* [Reeder-3](https://itunes.apple.com/app/reeder-3/id697846300) (Propriétaire)
* MacOS
* [Readkit](https://itunes.apple.com/app/readkit/id588726889) (Propriétaire)

Expand Down
13 changes: 4 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@
* [Version française](README.fr.md)

# FreshRSS
FreshRSS is a self-hosted RSS feed aggregator such as [Leed](http://projet.idleman.fr/leed/) or [Kriss Feed](https://tontof.net/kriss/feed/).
FreshRSS is a self-hosted RSS feed aggregator such as [Leed](http://leed.idleman.fr/) or [Kriss Feed](https://tontof.net/kriss/feed/).

It is at the same time lightweight, easy to work with, powerful and customizable.

It is a multi-user application with an anonymous reading mode.
It supports [PubSubHubbub](https://github.com/pubsubhubbub/PubSubHubbub) for instant notifications from compatible Web sites.
It supports custom tags, and [PubSubHubbub](https://github.com/pubsubhubbub/PubSubHubbub) for instant notifications from compatible Web sites.
There is an API for (mobile) clients, and a [Command-Line Interface](cli/README.md).
Finally, it supports [extensions](#extensions) for further tuning.

Expand Down Expand Up @@ -70,13 +70,7 @@ More information about installation and server configuration can be found in [ou
sudo apt-get install apache2
sudo a2enmod headers expires rewrite ssl #Apache modules

# For Ubuntu <= 15.10, Debian <= 8 Jessie
sudo apt-get install php5 php5-curl php5-gmp php5-intl php5-json php5-sqlite
sudo apt-get install libapache2-mod-php5 #For Apache
sudo apt-get install mysql-server mysql-client php5-mysql #Optional MySQL database
sudo apt-get install postgresql php5-pgsql #Optional PostgreSQL database

# For Ubuntu >= 16.04, Debian >= 9 Stretch
# Example for Ubuntu >= 16.04, Debian >= 9 Stretch
sudo apt install php php-curl php-gmp php-intl php-mbstring php-sqlite3 php-xml php-zip
sudo apt install libapache2-mod-php #For Apache
sudo apt install mysql-server mysql-client php-mysql #Optional MySQL database
Expand Down Expand Up @@ -187,6 +181,7 @@ Supported clients are:
* iOS
* [Fiery Feeds](https://itunes.apple.com/app/fiery-feeds-rss-reader/id1158763303) (Closed source)
* [Unread](https://itunes.apple.com/app/unread-rss-reader/id1252376153) (Closed source)
* [Reeder-3](https://itunes.apple.com/app/reeder-3/id697846300) (Closed source)
* MacOS
* [Readkit](https://itunes.apple.com/app/readkit/id588726889) (Closed source)

Expand Down
8 changes: 4 additions & 4 deletions app/Controllers/categoryController.php
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ public function firstAction() {
Minz_Error::error(403);
}

$catDAO = new FreshRSS_CategoryDAO();
$catDAO = FreshRSS_Factory::createCategoryDao();
$catDAO->checkDefault();
}

Expand All @@ -27,7 +27,7 @@ public function firstAction() {
* - new-category
*/
public function createAction() {
$catDAO = new FreshRSS_CategoryDAO();
$catDAO = FreshRSS_Factory::createCategoryDao();
$url_redirect = array('c' => 'subscription', 'a' => 'index');

$limits = FreshRSS_Context::$system_conf->limits;
Expand Down Expand Up @@ -75,7 +75,7 @@ public function createAction() {
* - name
*/
public function updateAction() {
$catDAO = new FreshRSS_CategoryDAO();
$catDAO = FreshRSS_Factory::createCategoryDao();
$url_redirect = array('c' => 'subscription', 'a' => 'index');

if (Minz_Request::isPost()) {
Expand Down Expand Up @@ -116,7 +116,7 @@ public function updateAction() {
*/
public function deleteAction() {
$feedDAO = FreshRSS_Factory::createFeedDao();
$catDAO = new FreshRSS_CategoryDAO();
$catDAO = FreshRSS_Factory::createCategoryDao();
$url_redirect = array('c' => 'subscription', 'a' => 'index');

if (Minz_Request::isPost()) {
Expand Down
10 changes: 6 additions & 4 deletions app/Controllers/configureController.php
Original file line number Diff line number Diff line change
Expand Up @@ -243,8 +243,9 @@ public function archivingAction() {
* checking if categories and feeds are still in use.
*/
public function queriesAction() {
$category_dao = new FreshRSS_CategoryDAO();
$category_dao = FreshRSS_Factory::createCategoryDao();
$feed_dao = FreshRSS_Factory::createFeedDao();
$tag_dao = FreshRSS_Factory::createTagDao();
if (Minz_Request::isPost()) {
$params = Minz_Request::param('queries', array());

Expand Down Expand Up @@ -277,16 +278,17 @@ public function queriesAction() {
* lean data.
*/
public function addQueryAction() {
$category_dao = new FreshRSS_CategoryDAO();
$category_dao = FreshRSS_Factory::createCategoryDao();
$feed_dao = FreshRSS_Factory::createFeedDao();
$tag_dao = FreshRSS_Factory::createTagDao();
$queries = array();
foreach (FreshRSS_Context::$user_conf->queries as $key => $query) {
$queries[$key] = new FreshRSS_UserQuery($query, $feed_dao, $category_dao);
$queries[$key] = new FreshRSS_UserQuery($query, $feed_dao, $category_dao, $tag_dao);
}
$params = Minz_Request::fetchGET();
$params['url'] = Minz_Url::display(array('params' => $params));
$params['name'] = _t('conf.query.number', count($queries) + 1);
$queries[] = new FreshRSS_UserQuery($params, $feed_dao, $category_dao);
$queries[] = new FreshRSS_UserQuery($params, $feed_dao, $category_dao, $tag_dao);

FreshRSS_Context::$user_conf->queries = $queries;
FreshRSS_Context::$user_conf->save();
Expand Down
17 changes: 17 additions & 0 deletions app/Controllers/entryController.php
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ public function readAction() {
}

$params = array();
$this->view->tags = array();

$entryDAO = FreshRSS_Factory::createEntryDao();
if ($id === false) {
Expand Down Expand Up @@ -81,6 +82,12 @@ public function readAction() {
case 'a':
$entryDAO->markReadEntries($id_max, false, 0, FreshRSS_Context::$search, FreshRSS_Context::$state, $is_read);
break;
case 't':
$entryDAO->markReadTag($get, $id_max, FreshRSS_Context::$search, FreshRSS_Context::$state, $is_read);
break;
case 'T':
$entryDAO->markReadTag('', $id_max, FreshRSS_Context::$search, FreshRSS_Context::$state, $is_read);
break;
}

if ($next_get !== 'a') {
Expand All @@ -91,6 +98,13 @@ public function readAction() {
}
} else {
$entryDAO->markRead($id, $is_read);

$tagDAO = FreshRSS_Factory::createTagDao();
foreach ($tagDAO->getTagsForEntry($id) as $tag) {
if (!empty($tag['checked'])) {
$this->view->tags[] = $tag['id'];
}
}
}

if (!$this->ajax) {
Expand Down Expand Up @@ -193,6 +207,9 @@ public function purgeAction() {

$feedDAO->updateCachedValues();

$databaseDAO = FreshRSS_Factory::createDatabaseDAO();
$databaseDAO->minorDbMaintenance();

invalidateHttpCache();
Minz_Request::good(_t('feedback.sub.purge_completed', $nb_total), array(
'c' => 'configure',
Expand Down
12 changes: 9 additions & 3 deletions app/Controllers/feedController.php
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ public static function addFeed($url, $title = '', $cat_id = 0, $new_cat_name = '
FreshRSS_UserDAO::touch();
@set_time_limit(300);

$catDAO = new FreshRSS_CategoryDAO();
$catDAO = FreshRSS_Factory::createCategoryDao();

$url = trim($url);

Expand Down Expand Up @@ -192,7 +192,7 @@ public function addAction() {
// GET request: we must ask confirmation to user before adding feed.
Minz_View::prependTitle(_t('sub.feed.title_add') . ' · ');

$this->catDAO = new FreshRSS_CategoryDAO();
$this->catDAO = FreshRSS_Factory::createCategoryDao();
$this->view->categories = $this->catDAO->listCategories(false);
$this->view->feed = new FreshRSS_Feed($url);
try {
Expand Down Expand Up @@ -481,6 +481,9 @@ public static function actualizeFeed($feed_id, $feed_url, $force, $simplePiePush
if ($entryDAO->inTransaction()) {
$entryDAO->commit();
}

$databaseDAO = FreshRSS_Factory::createDatabaseDAO();
$databaseDAO->minorDbMaintenance();
}
return array($updated_feeds, reset($feeds), $nb_new_articles);
}
Expand Down Expand Up @@ -511,6 +514,9 @@ public function actualizeAction() {
$entryDAO->commitNewEntries();
$feedDAO->updateCachedValues();
$entryDAO->commit();

$databaseDAO = FreshRSS_Factory::createDatabaseDAO();
$databaseDAO->minorDbMaintenance();
} else {
list($updated_feeds, $feed, $nb_new_articles) = self::actualizeFeed($id, $url, $force, null, false, $noCommit);
}
Expand Down Expand Up @@ -556,7 +562,7 @@ public static function moveFeed($feed_id, $cat_id, $new_cat_name = '') {
}
FreshRSS_UserDAO::touch();

$catDAO = new FreshRSS_CategoryDAO();
$catDAO = FreshRSS_Factory::createCategoryDao();
if ($cat_id > 0) {
$cat = $catDAO->searchById($cat_id);
$cat_id = $cat == null ? 0 : $cat->id();
Expand Down
Loading

0 comments on commit e04804d

Please sign in to comment.