Automatic Updater: an easier way to upgrade phpList

BLOG

A fuss-free means of upgrading to the latest phpList features is the most community-requested feature of all time, and now it’s here for testing. From phpList 3.3.7 onwards, upgrading to the next version can be achieved in four clicks.

This feature has been regularly requested in the Forum, Issue tracker, and at meetups. A key goal for introducing the Updater is making it easier to stay up to date with phpList features, which helps community members to support each other, and encouraging the timely reporting of issues, and the sharing of ideas.

How to use it

The four upgrade steps are:

  • Checking for updates
  • Backing up your data (optional)
  • Downloading the new phpList
  • Performing the codebase update

The Automatic Updater does not upgrade your database or any plugins which you have installed yourself. You will be prompted to upgrade the database as before, conveniently via your dashboard. Plugins can be reinstalled either using the Plugin management page, or manually by copying files to your server.

Additional features

The Automatic Updater can be used for testing Release Candidates (RCs) of phpList too – you will be notified when these are available, and upgrade in the same way as with stable releases. RC versions can be upgraded to stable versions as well. Future versions will include phpList 4 and the new REST API. Stay tuned!

Under the hood

The Automatic Updater is written in stand-alone, object- oriented PHP and uses PDO for database connections. In this way it offers a fresh entry point for new phpList developers – instead of working with the procedural code of phpList 3, or the Symfony 3 Framework used by phpList 4, you can hack the Updater codebase using simple yet Object Oriented PHP. For more information on the updater architecture and features, see the README.md documentation in its dedicated repository.

Taking care

Updating a web application is a complex and potentially dangerous task. The Automatic Updater has been released as a Beta version for wide-scale testing in order to gather feedback and performance from the variety of servers, control panels, permissions, and software versions which are used with phpList. Please be careful when using it during this phase, and report any problems to the phpList Issue Tracker, which has a new category for just this purpose.

  1. With v3.5.2 I received an error that the ‘config’ dir wasn’t writeable. I’m running Centos7 w/Apache and I have selinux enforce set. This is what I executed to set the selinux context. Your path will vary depending on where you’ve placed phplist folder.
    semanage fcontext -a -t httpd_sys_rw_content_t /var/www/html/lists/config
    chcon -Rv –type=httpd_sys_rw_content_t /var/www/html/lists/config

Leave a Reply