From 52216dabc9c00354c21873164a6d1021d2670daa Mon Sep 17 00:00:00 2001 From: Frederic Guillot Date: Sun, 4 Jun 2017 18:46:35 -0400 Subject: [PATCH] Update CI setup --- tests/ci/feed.xml | 559 ++++++++++++++++++++++++++ tests/ci/install.sh | 4 + tests/functional/ApiTest.php | 6 +- tests/functional/FeverApiTest.php | 2 +- tests/phpunit.functional.mysql.xml | 1 + tests/phpunit.functional.postgres.xml | 1 + tests/phpunit.functional.sqlite.xml | 1 + 7 files changed, 570 insertions(+), 4 deletions(-) create mode 100644 tests/ci/feed.xml diff --git a/tests/ci/feed.xml b/tests/ci/feed.xml new file mode 100644 index 0000000..79d6da8 --- /dev/null +++ b/tests/ci/feed.xml @@ -0,0 +1,559 @@ + + + PicoFeed + Miniflux + https://miniflux.net/feed + 2017-05-26T22:33:10+00:00 + + + + Frédéric Guillot + https://github.com/fguillot + + + https://miniflux.net/news/version-1.2.2 + Miniflux 1.2.2 + + 2017-03-07T00:00:00+00:00 + 2017-03-07T00:00:00+00:00 + +
  • Offer the possibility to edit/delete groups
  • +
  • Add option to not redirect user when having nothing to read
  • +
  • Add hotkey Shift+A to mark all items as read
  • +
  • Add Hungarian translation
  • +
  • Add config parameter to define base URL
  • +
  • Select next unread item when opening current item
  • +
  • Show bookmark/read icons for all screen resolutions
  • +
  • Supports utf8mb4 encoding for Mysql schema
  • +
  • Fix wrong default value in config.default.php
  • +
  • Avoid infinite redirects in unread/group page
  • +
  • Do not scroll back to the top of the page after touch events
  • +
  • Avoid PHP notice when adding invalid feed with bookmarklet
  • +
  • Increase default body size to 10MB
  • +
  • Update Russian and Serbian translation
  • +
  • Reorganize templates into sub-folders
  • + +

    Links

    +]]>
    +
    + + https://miniflux.net/news/version-1.2.1 + Miniflux 1.2.1 + + 2017-01-18T00:00:00+00:00 + 2017-01-18T00:00:00+00:00 + New Features +
      +
    • Mysql support
    • +
    • Offer the possibility to define different URL for themes folder
    • +
    +

    Improvements

    +
      +
    • Improve Xpath query for favicons
    • +
    • Handle the fact that a user can be removed but have feeds in queue (worker)
    • +
    • Do not download items each time for feeds with content scraper enabled
    • +
    • Background jobs are not loading user settings properly
    • +
    • Allow producer to be executed only for a given user
    • +
    • Always use real URL instead XML feed URL
    • +
    • Move autoflush calls
    • +
    • Display list of groups for each subscription
    • +
    • Disable automatically duplicated feeds
    • +
    • Increase url field size for Postgres
    • +
    • Left swiping also mark item as read on mobile
    • +
    • Make import script compatible with Postgresql
    • +
    • Allow different limits for users in cronjob
    • +
    • Update to PicoFeed v0.1.31
    • +
    • Update Czech translations
    • +
    • Update zh_CN translations
    • +
    • Update ru_RU translations
    • +
    +

    Bug fixes

    +
      +
    • Marking special group "Unread" as read through Fever API does not work
    • +
    +

    Links

    +]]>
    +
    + + https://miniflux.net/news/migration-miniflux-hosting + Migration to Miniflux 1.2 for hosted accounts + + 2017-01-07T00:00:00+00:00 + 2017-01-07T00:00:00+00:00 + The hosting platform is currently migrating to Miniflux 1.2.

    +
      +
    • This is an important change because all accounts are migrated to Postgresql instead of Sqlite.
    • +
    • The time to import your data into the new database depends on the size of your database.
    • +
    • All favicons will be regenerated, there are thousands of feeds to refresh into the queue.
    • +
    +

    What is changing for you?

    +
      +
    • Everybody will use the same URL: https://app.miniflux.net/
    • +
    • The username and password are the same as before
    • +
    • If you are using a mobile client with the Fever API, you must update the API URL to https://app.miniflux.net/fever/
    • +
    +

    If you have any problem, send an email to support@miniflux.net

    +

    Thank you for your understanding

    ]]>
    +
    + + https://miniflux.net/news/version-1.2.0 + Miniflux 1.2.0 released + + 2017-01-05T00:00:00+00:00 + 2017-01-05T00:00:00+00:00 + This version brings a major change to the Miniflux database management.

    +

    Until now, Miniflux was designed to work for only one user. +Handling multiple users was possible by using a workaround that consists to create a Sqlite database for each user.

    +

    Now, the database schema and the code base have been modified to handle several users with only one database. +Moreover, Miniflux supports Postgresql in addition to Sqlite.

    +

    Using Postgres could avoid some potential issues when the concurrency on the database is too high (locking problems). +That also facilitates the deployment of Miniflux to some cloud providers that does not allow software to store persistent data on the local file system.

    +

    ChangeLog

    +
      +
    • Major change to the database structure to have a single database for multiple users
    • +
    • Web access token for the cronjob
    • +
    • New config parameter to disable web access for the cronjob
    • +
    • Debug mode parameter is moved to the config file
    • +
    • The console web page has been removed
    • +
    • Remove automatic software update from the user interface
    • +
    • New API methods (not backward compatible)
    • +
    • Fever API tokens are longer than before
    • +
    • Always update feed URL to avoid useless redirection for future requests
    • +
    • Add support for Wallabag service
    • +
    • Show last parsing error message in user interface
    • +
    • Disable a feed automatically after too many failures
    • +
    • Add support for Expires and Cache-Control headers (HTTP cache)
    • +
    • Flush all user remember me sessions when changing password
    • +
    • Update Docker image to Ubuntu 16.04 and PHP 7.0
    • +
    • Add Docker compose file
    • +
    • Add functional tests (Json-RPC API and Fever API)
    • +
    • Add unit tests
    • +
    • Minify Javascript and add automated syntax check on the CI
    • +
    • Minify CSS
    • +
    +

    Migration procedure from 1.1.x to 1.2.0

    +
      +
    1. Install Miniflux in a separate location as your current Miniflux folder
    2. +
    3. Run the import script described below for each user
    4. +
    +

    To import your old database to the new database format, use this script:

    +
    php scripts/migrate-db.php --sqlite-db=/path/to/my/db.sqlite --admin=1
    +]]>
    +
    + + https://miniflux.net/news/version-1.1.10 + Miniflux 1.1.10 released + + 2016-07-31T00:00:00+00:00 + 2016-07-31T00:00:00+00:00 + Here are the main changes of this version:

    +
      +
    • Code cleanup
    • +
    • Do not use anymore Closure compiler for Javascript
    • +
    • Added the possibility to swipe to archive an item on mobile devices
    • +
    • Make the whole menu row clickable on small screens
    • +
    • Add API methods for groups
    • +
    • Added Beanstalkd producer/worker
    • +
    • Use HTTP_HOST instead of SERVER_NAME to guess hostname
    • +
    • Run php-cs-fixer on the code base
    • +
    • Add sorting direction link to the history section
    • +
    • Make read/bookmark icons more usable in mobile view
    • +
    • Record last login timestamp in the database
    • +
    • Add japanese language
    • +
    • Replace help window by layer
    • +
    • Create automatically the favicon directory if missing
    • +
    • Add group filter to history and bookmarks section
    • +
    • Dependencies update
    • +
    +

    Thanks to all contributors!

    +

    Download archive

    ]]>
    +
    + + https://miniflux.net/news/version-1.1.9 + Miniflux 1.1.9 released + + 2016-02-21T00:00:00+00:00 + 2016-02-21T00:00:00+00:00 + Here are the main changes of this version:

    +
      +
    • Favicons are now stored on the file system instead of the database
    • +
    • PicoFeed updated to fix several bugs
    • +
    • More content scraper rules
    • +
    • Use case insensitive comparison when validating the fever API key (avoid issues with some clients)
    • +
    • Better groups navigation
    • +
    • Add a database parameter to the bookmark feed URL
    • +
    • Use function random_bytes() of PHP7 if available
    • +
    • Do not show feed title/url when browsing the articles of a chosen feed
    • +
    • Show article author if available
    • +
    • Move item action links to the top
    • +
    • Updated Czech translation
    • +
    • Updated zh_CN translation
    • +
    • Updates ru_RU translation
    • +
    • Add Turkish translation
    • +
    • Add items count per page: 10, 20, 30
    • +
    • Limit the heading to one line for desktop clients
    • +
    • Avoid orphan groups when deleting a feed
    • +
    • Remove error flag from feed on edit
    • +
    • Include groups into API
    • +
    • Updated Dockerfile
    • +
    +

    Thanks to all contributors!

    +

    Download archive

    ]]>
    +
    + + https://miniflux.net/news/version-1.1.8 + Miniflux 1.1.8 released + + 2015-09-12T00:00:00+00:00 + 2015-09-12T00:00:00+00:00 + +
  • Add feed groups (tags)
  • +
  • Add custom rules directory support
  • +
  • Add no referrer policy in meta tags and content security directives
  • +
  • Update of PicoFeed with new scraper rules
  • +
  • Enable Strict-Transport-Security header for HTTPS
  • +
  • Change CSP directives to allow data url (Fix issue with Firefox 40)
  • +
  • Toggle text direction for full content preview as well
  • +
  • Add Russian translation
  • +
  • Updated Czech translation
  • +
  • Mark items on page 2+ read as well
  • +
  • Allow to override the maximum feed size limit
  • +
  • Added a config option to select how many concurrent refreshes are done on the subscription page
  • +
  • Catch exceptions for image proxy
  • +
  • Improve CSS for preview full content
  • +
  • Minor feed edit dialog improvements
  • +
  • Expose all feed errors to the frontend when adding a subscription
  • +
  • Keep selected options on feed adding error
  • +
  • Fix bug when the summery helper doesn't contains whitespace
  • +
  • Fix Fever API bug: enable send bookmark to third-party services
  • + +

    Thanks to all contributors!

    +

    Download archive

    ]]>
    +
    + + https://miniflux.net/news/version-1.1.7 + Miniflux 1.1.7 + + 2015-04-06T00:00:00+00:00 + 2015-04-06T00:00:00+00:00 + +
  • New translations: Serbian and Arabic
  • +
  • The user interface can be displayed in Right-to-Left for Arabic language (work in progress)
  • +
  • It's now possible to cloak the referrer for specific feeds
  • +
  • Themes made contributors are moved outside of the archive (They can be downloaded on Github)
  • +
  • New config option to disable mark as read for original link
  • +
  • The debug mode have to be enabled in the settings page now (console logs)
  • +
  • Improved Image proxy (used to avoid mixed content warnings for people that use SSL)
  • +
  • New keyboard shortcuts to navigate between articles: left and right arrows
  • +
  • New content grabber rules
  • +
  • Better consistency for sub-menus
  • +
  • Use radio buttons for database selection
  • +
  • Better favicon support, also available from the Fever API
  • +
  • Existing translations updated
  • +
  • Code cleanup and bug fixes
  • + +

    Thanks to all contributors!

    +

    Download archive

    ]]>
    +
    + + https://miniflux.net/news/new-repository + New repository address for Miniflux + + 2015-02-07T00:00:00+00:00 + 2015-02-07T00:00:00+00:00 + I moved the repository to a Github organization instead of using my own account.

    + +

    Don't forget to change the origin url for contributors:

    +
    git remote set-url origin https://github.com/miniflux/miniflux.git
    ]]>
    +
    + + https://miniflux.net/news/version-1.1.6 + Miniflux 1.1.6 + + 2015-01-10T00:00:00+00:00 + 2015-01-10T00:00:00+00:00 + After so many changes in the development version, it was time to release a new version:

    +

    Third-party bookmark services

    +

    It's now possible to sync Miniflux bookmarks with external services: Instapaper and Pinboard.

    +

    External services

    +

    Feed reading/parsing improvements

    +
      +
    • Move to the last version of PicoFeed (the open source library used to parse RSS feeds)
    • +
    • Favicons support
    • +
    • Experimental image proxy to avoid SSL mixed content warnings (will be improved in the next release)
    • +
    • New content grabber rules
    • +
    +

    Other improvements

    +
      +
    • Add option to flush all unread items after X days, default 45 days (avoid very large database of unread items)
    • +
    • New keyboard shortcut to toggle the RTL mode (press the key "z")
    • +
    • Display & update the number of unread items on every page with an "unread items" menu
    • +
    • The Fever API can use multiple databases with Apache, read the documentation
    • +
    • Move token regeneration to the advanced config section and make clear which services get a new token
    • +
    • Add refresh link to the feed page items
    • +
    • Integration tests with Selenium
    • +
    • Many bug fixes and code improvements
    • +
    +

    Related projects

    + +

    You can list your own projects on the Miniflux's README, just send a pull-request through Github.

    +

    Special thanks to the contributor Mathias Kresin who make many patches and improvements to the code.

    +

    Thanks to translators, contributors and everybody that give feedbacks/bug reports.

    +

    Download archive

    ]]>
    +
    + + https://miniflux.net/news/version-1.1.5 + Miniflux 1.1.5 + + 2014-11-18T00:00:00+00:00 + 2014-11-18T00:00:00+00:00 + I just released a new version of Miniflux tonight. Here are the major improvements:

    +

    Compatibility with the Fever API

    +

    A first experimental version of the Fever API have been implemented.

    +

    The goal of this feature is to be able to use existing mobile and desktop clients with Miniflux. +It's also interesting for reading your feeds offline.

    +

    The API have been tested with Reeder 2 (OSX version) and Press (Android).

    +

    Here an example with Reeder 2 (desktop):

    +

    Reeder 2

    +

    More information available on the Fever documentation page.

    +

    Improved Right-to-Left language support

    +

    When you add a new feed or edit an existing feed you can force the RTL mode. +The content will be displayed correctly regardless of the language specified in the RSS feed.

    +

    RTL feeds

    +

    Better edit subscription page

    +

    Each subscription can be modified, disabled or removed from this page.

    +

    Edit subscription

    +

    Miniflux can run with Docker

    +

    A Dockerfile is available in the repository. +You can build your own image of Miniflux.

    +

    Other improvements

    +
      +
    • The settings page is divided into several pages (about, database, api and help)
    • +
    • Add a Cross Site Request Forgery protection for HTML forms
    • +
    • Google authentication have been removed because the OpenId method is now deprecated by Google
    • +
    • Mozilla Persona authentication is removed because very few people was using that and that simplify the code base
    • +
    • New content grabber rules: +
        +
      • degroupnews.com
      • +
      • sitepoint.com
      • +
      • undeadly.org
      • +
    • +
    +

    There is also many bug fixes and code cleanup.

    +

    Thanks to all contributors!

    +

    Download archive

    ]]>
    +
    + + https://miniflux.net/news/version-1.1.4 + Miniflux 1.1.4 is released + + 2014-09-19T00:00:00+00:00 + 2014-09-19T00:00:00+00:00 + Major improvements:

    +
      +
    • New themes: "Hello" and "Cards"
    • +
    • The bookmarklet is protected by a random token
    • +
    • Add a "Remember Me" feature
    • +
    • New option parameter to select the display mode on item listing pages (full contents or summaries)
    • +
    • Items are removed by an Ajax request
    • +
    • New content scraper rules: +
        +
      • monwindowsphone.com
      • +
      • blog.fefe.de
      • +
      • igen.fr
      • +
      • heise.de
      • +
    • +
    • Bug fixes
    • +
    +

    Note: Only the original theme is maintained by myself, other themes come from contributors.

    +

    Thanks to all contributors

    +

    Download archive

    ]]>
    +
    + + https://miniflux.net/news/version-1.1.3 + Miniflux 1.1.3 is released + + 2014-04-26T00:00:00+00:00 + 2014-04-26T00:00:00+00:00 + Major improvements:

    +
      +
    • RTL (Right to Left) languages support
    • +
    • Auto-update feature: update in one click to the last development version
    • +
    • Support for multiple users: each user have his own Sqlite database
    • +
    • Code refactoring
    • +
    • Bug fixes
    • +
    +

    Download archive

    ]]>
    +
    + + https://miniflux.net/news/version-1.1.2 + Miniflux 1.1.2 is released + + 2014-02-28T00:00:00+00:00 + 2014-02-28T00:00:00+00:00 + Major improvements:

    +
      +
    • Add a configuration option for the time zone
    • +
    • Change loading icon to use an utf8 symbol
    • +
    • Unread count next to each subscription
    • +
    • Add feed enclosure support (videos and podcasts can be use directly with the HTML5 player)
    • +
    • Improved mobile layout
    • +
    • New content scrapper rules
    • +
    • New theme: NoStyle (almost no CSS)
    • +
    • Bug fixes
    • +
    +

    Download archive

    ]]>
    +
    + + https://miniflux.net/news/version-1.1.1 + Miniflux 1.1.1 is released + + 2014-01-02T00:00:00+00:00 + 2014-01-02T00:00:00+00:00 + Major improvements:

    +
      +
    • New theme: Copper (By the contributor Nicolas Dewaele)
    • +
    • Display a message next to a feed when there is a parsing error
    • +
    • Change default value of autoflush to 15 days if not set to avoid large database
    • +
    • Add autoflush value "immediately"
    • +
    • Add an option to choose where to be redirected when there is nothing to read
    • +
    • Bug fixes
    • +
    +

    Download archive

    ]]>
    +
    + + https://miniflux.net/news/version-1.1.0 + Miniflux 1.1.0 is released + + 2013-10-26T00:00:00+00:00 + 2013-10-26T00:00:00+00:00 + The version 1.1.0 is released.

    +

    Download archive

    ]]>
    +
    + + https://miniflux.net/news/version-1.0.11 + Miniflux 1.0.11 is released + + 2013-09-02T00:00:00+00:00 + 2013-09-02T00:00:00+00:00 + The version 1.0.11 is released.

    +

    Download archive

    ]]>
    +
    + + https://miniflux.net/news/version-1.0.10 + Miniflux 1.0.10 is released + + 2013-07-22T00:00:00+00:00 + 2013-07-22T00:00:00+00:00 + The version 1.0.10 is released.

    +

    Download archive

    ]]>
    +
    + + https://miniflux.net/news/version-1.0.9 + Miniflux 1.0.9 is released + + 2013-06-29T00:00:00+00:00 + 2013-06-29T00:00:00+00:00 + The version 1.0.9 is released.

    +

    Download archive

    ]]>
    +
    + + https://miniflux.net/news/version-1.0.8 + Miniflux 1.0.8 is released + + 2013-06-02T00:00:00+00:00 + 2013-06-02T00:00:00+00:00 + The version 1.0.8 is released.

    +

    Download archive

    ]]>
    +
    + + https://miniflux.net/news/version-1.0.7 + Miniflux 1.0.7 is released + + 2013-04-30T00:00:00+00:00 + 2013-04-30T00:00:00+00:00 + The version 1.0.7 is released.

    +

    Download archive

    ]]>
    +
    + + https://miniflux.net/news/version-1.0.6 + Miniflux 1.0.6 is released + + 2013-04-12T00:00:00+00:00 + 2013-04-12T00:00:00+00:00 + The version 1.0.6 is released.

    +

    Download archive

    ]]>
    +
    + + https://miniflux.net/news/version-1.0.5 + Miniflux 1.0.5 is released + + 2013-04-07T00:00:00+00:00 + 2013-04-07T00:00:00+00:00 + The version 1.0.5 is released.

    +

    Download archive

    ]]>
    +
    + + https://miniflux.net/news/version-1.0.4 + Miniflux 1.0.4 is released + + 2013-04-04T00:00:00+00:00 + 2013-04-04T00:00:00+00:00 + The version 1.0.4 is released.

    +

    Download archive

    ]]>
    +
    + + https://miniflux.net/news/version-1.0.3 + Miniflux 1.0.3 is released + + 2013-03-26T00:00:00+00:00 + 2013-03-26T00:00:00+00:00 + The version 1.0.3 is released.

    +

    Download archive

    ]]>
    +
    + + https://miniflux.net/news/version-1.0.2 + Miniflux 1.0.2 is released + + 2013-03-21T00:00:00+00:00 + 2013-03-21T00:00:00+00:00 + The version 1.0.2 is released.

    +

    Download archive

    ]]>
    +
    + + https://miniflux.net/news/version-1.0.1 + Miniflux 1.0.1 is released + + 2013-03-20T00:00:00+00:00 + 2013-03-20T00:00:00+00:00 + The version 1.0.1 is released.

    ]]>
    +
    + + https://miniflux.net/news/version-1.0.0 + Miniflux 1.0.0 is released + + 2013-03-17T00:00:00+00:00 + 2013-03-17T00:00:00+00:00 + Today, the first stable version of Miniflux is released.

    ]]>
    +
    +
    diff --git a/tests/ci/install.sh b/tests/ci/install.sh index 9ea9807..c36cf7c 100755 --- a/tests/ci/install.sh +++ b/tests/ci/install.sh @@ -17,3 +17,7 @@ sudo a2enmod rewrite actions fastcgi alias ssl sudo cp -f tests/ci/apache_vhost.conf /etc/apache2/sites-available/default sudo sed -e "s?%TRAVIS_BUILD_DIR%?$(pwd)?g" --in-place /etc/apache2/sites-available/default sudo service apache2 restart + +cp assets/img/ + +ls -al diff --git a/tests/functional/ApiTest.php b/tests/functional/ApiTest.php index 50efcc0..4e8ebba 100644 --- a/tests/functional/ApiTest.php +++ b/tests/functional/ApiTest.php @@ -59,7 +59,7 @@ class ApiTest extends BaseApiTest public function testCreateFeed() { $this->assertNotFalse($this->getApiClient()->createFeed(array( - 'url' => 'https://miniflux.net/feed', + 'url' => FEED_URL, 'group_name' => 'open source software', ))); } @@ -69,7 +69,7 @@ class ApiTest extends BaseApiTest $feeds = $this->getApiClient()->getFeeds(); $this->assertCount(1, $feeds); $this->assertEquals(1, $feeds[0]['id']); - $this->assertEquals('https://miniflux.net/feed', $feeds[0]['feed_url']); + $this->assertEquals(FEED_URL, $feeds[0]['feed_url']); $this->assertTrue((bool) $feeds[0]['enabled']); $this->assertEquals('open source software', $feeds[0]['groups'][0]['title']); } @@ -79,7 +79,7 @@ class ApiTest extends BaseApiTest $this->assertNull($this->getApiClient()->getFeed(999)); $feed = $this->getApiClient()->getFeed(1); - $this->assertEquals('https://miniflux.net/feed', $feed['feed_url']); + $this->assertEquals(FEED_URL, $feed['feed_url']); $this->assertTrue((bool) $feed['enabled']); $this->assertEquals('open source software', $feed['groups'][0]['title']); } diff --git a/tests/functional/FeverApiTest.php b/tests/functional/FeverApiTest.php index 3cf4769..cdd4a2e 100644 --- a/tests/functional/FeverApiTest.php +++ b/tests/functional/FeverApiTest.php @@ -216,7 +216,7 @@ class FeverApiTest extends BaseApiTest protected function createFeedAndGroups() { $this->assertNotFalse($this->getApiClient()->createFeed(array( - 'url' => 'https://miniflux.net/feed', + 'url' => FEED_URL, 'group_name' => 'open source software', ))); } diff --git a/tests/phpunit.functional.mysql.xml b/tests/phpunit.functional.mysql.xml index 4916546..359923b 100644 --- a/tests/phpunit.functional.mysql.xml +++ b/tests/phpunit.functional.mysql.xml @@ -7,6 +7,7 @@ + diff --git a/tests/phpunit.functional.postgres.xml b/tests/phpunit.functional.postgres.xml index add6bae..d966e5b 100644 --- a/tests/phpunit.functional.postgres.xml +++ b/tests/phpunit.functional.postgres.xml @@ -7,6 +7,7 @@ + diff --git a/tests/phpunit.functional.sqlite.xml b/tests/phpunit.functional.sqlite.xml index 747ad9b..f85a6a1 100644 --- a/tests/phpunit.functional.sqlite.xml +++ b/tests/phpunit.functional.sqlite.xml @@ -7,6 +7,7 @@ +