Fork me on GitHub
  • Posted by fiammybe
  • Posted on 14/5/2019

PHP 7 is coming

ImpressCMS 1.4 alpha will be released tomorrow, offering support for PHP 7

We asked, you answered, and we listened.

We did a small survey with users from our community about ImpressCMS, about the positive points and what we needed to improve in the short run.

One of the key points was that the latest release version of ImpressCMS (v1.3.11) still doesn't support PHP7. We couldn't agree more, so we dove into the code and got the 1.3 branch working on PHP 7.2. The first alpha release of this 1.4 branch will be released tomorrow.

ImpressCMS 1.4

We chose this point to increase the minor version number, as this move to run on PHP7 is quite a big deal. Because of this, quite a few bits of code have needed extra care in order to remove no-longer-valid language constructs. Our maintenance branch for ImpressCMS 1.3 contained quite a few backports of code from the ImpressCMS 2 branch that helped obtain PHP7 compatibility quicker.

PHP 5.6, last call!

As you might be aware, all support for PHP 5.6 has ceased at the beginning of 2019. That alone should be a good incentive to move on to the more recent PHP 7.x versions. You get the added bonus that PHP 7 introduced a major focus on efficiency and speed in the PHP core, so you should see a significant improvement in execution speed of your scripts simply by moving to PHP 7.

PHP7 version support

At the time of this writing, ImpressCMS 1.4 has been tested on PHP 7.1 and PHP 7.2. PHP 7.2 will still be supported for 6 months, and PHP 7.3 is the most recent version. We should have confirmed PHP 7.3 compatibility by the time ImpressCMS 1.4.0 reaches final version.

Out with the old, in with the new

One of our core values at ImpressCMS is to keep up to date with the technology surrounding your site, as well as with ImpressCMS itself. This has the following implications if you are running ImpressCMS on any version lower than PHP 7.2:

  • Every ImpressCMS 1.4 site will have a notice on the administration page telling you that you are running an out-of-date PHP version, and that you should upgrade asap
  • ImpressCMS 1.4 is the last version that will support PHP5.6. The following versions will no longer have support for PHP 5.6 or database access other than PDO.

ImpressCMs 1.2 EOL

Because of this, ImpressCMS 1.2 will be halted immediately, given that it only runs on platforms that are now long out of support by their vendors as well. Now is the time to plan your migration from 1.2 to 1.4.

What about ImpressCMS 2?

The new major version has been very long in the making (we know). Part of the reason for releasing ImpressCMS 1.4 is because we understand that we are still several months away before the beta releases can be done. ImpressCMS 2 is a major undertaking, where we want to do too many things at once :

  • modernise code structure
  • extract tightly-coupled external libraries and shift to using them with composer
  • review the way addons are handled
  • use more external libraries for generic functionalities such as logs, file system handling, ...

This is taking a rather long time, longer than foreseen, with sometimes periods without improvements being done to the code while we look at improve the website or looking into bug reports.

At this time, there are still a few foundation blocks missing that really need to be in the first release of ImpressCMS 2, such as module management using composer and a system to have 'nice urls'. Once those are done, we can start the release cycle (beta, RC, final).

Contributions (very) welcome!

In order to speed all this up, do not hesitate to join in and contribute where you can. We need translations, website improvements, themes, tutorials, social media campaigns, and certainly lots of things we haven't even thought about until now. Pop in on our Slack channel and have a chat with us if you want to help, it's most appreciated.

The comments are owned by the poster. We aren't responsible for their content.