Miniflux 1.2.0 released

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. Run the import script described below for each user

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