Two and a half years ago, we announced ActiveCollab 5.14, which specified new requirements needed to run ActiveCollab on your server. At the time, we switched from PHP 5.6 to 7.1 and started requiring MySQL 5.7.
Today we are announcing upcoming requirement changes that will affect ActiveCollab 7.0. The minimal requirements for the database remain the same: version 5.7.8 if you run MySQL; version 10.2.7 if you run MariaDB.
PHP 7.1 reached its life's end in December 2019. and it no longer received bug fixes and security patches. This is why it's no longer advised that we recommend or support that version of PHP in production. As of version 7.0, ActiveCollab installer and auto-upgrade systems will check for and require PHP 7.4.
This version has been around for over six months, and we know that it works really well. Our team in charge of the ActiveCollab Cloud infrastructure started the migration to PHP 7.4 a couple of months ago. The rollout was progressive - we started with one node. Once we made sure that everything ran OK, we started taking out, upgrading, and putting back up other nodes. This process was completed over a month ago, and now all ActiveCollab Cloud nodes run PHP 7.4.
Why PHP 7.4? Why not 7.3, or 7.2?
The first reason for skipping versions 7.2 and 7.3 and going straight to 7.4 is that more than two-thirds of ActiveCollab self-hosted instances are on PHP 7.1. That version reached the end of its life, and these environments should be upgraded to receive security updates and bug fixes from the PHP community. Upgrading to the latest stable release of PHP instead of an older one is a rational move.
The second reason behind this decision is that PHP 7.4 will help us improve ActiveCollab. While new features that were added to versions 7.2 and 7.3 are useful, they did not warrant a bump in system requirements. Version 7.4 is different in that regard. Typed properties will help us be more deliberate with our classes and help us catch any errors sooner. Preloading promises that we can improve the performance of the system by keeping commonly used classes and functions in memory between requests, instead of loading them on each request. When we combine that with features of version 7.2, 7.3, and other features that 7.4 brings, we get a strong case to go with this upgrade.
The third is the general competitiveness of the market. ActiveCollab is at a disadvantage if we do not use the best tools that we can get our hands on. We try to be pragmatic about this and not force upgrades on self-hosted customers unless they bring something substantially better. The last time we did this was two and a half years ago, which speaks volumes. Now it's time to refresh the toolset and reap benefits of new language features.
Will this bring any new features?
Probably not. There's not that much that languages can do to enable features that we can't build already. What they do provide are better ways to build software. New versions of languages help us write code faster, make it more readable and reliable, and run faster in many cases. At least that was the case with PHP - each new release in the past couple of years was faster than the previous versions.
ActiveCollab 7.0 is scheduled to be released in August 2020. Once released, it will not affect your current operations. You will need to upgrade your environment to meet the new requirements only if you wish to upgrade to ActiveCollab 7.0 or newer.