Message Icon:*
url email imgsrc image php hide code quote
English Nederlands 
alignleft aligncenter alignright bold italic underline linethrough   



Re: Updates and upgrades for 2.0

by fiammybe on 2023/1/30 14:25:51

This all depends on requirements and how far we want to go here. Getting this release out sooner, while it is not yet fully 8.0 compliant could be an option. However once that branch is out, I don't intend to focus much more time on it, so further releases to polish up this branch would be mostly up to you then. This renumbering has had too much of an impact already on the development of the next version (former 2.0 branch).

If I spend time on modules, it will first of all be to rewrite them to be compliant with the next version. I might do bugfixes for the older version, but there are so many modules that need attention that I cannot commit to php version upgrades or feature improvements.

I would expect you could say that 2.0 will only upgrade from 1.4.4, partly because of the difficulty to get everything to run on such a wide range of PHP versions. But I'm not in that situation that I need to upgrade from sites older than 1.4.2.


Re: Updates and upgrades for 2.0

by skenow on 2023/1/29 14:33:23

According to PHP Code Sniffer and the PHP Compatibility rule, our current 1.5.x branch will have errors below PHP5.6. The changes to make ImpressCMS run on PHP7+ haven't raised the minimum required version as of this point.

There still are some things that need to be addressed to eliminate errors when running under PHP7.0 - PHP7.4. Some are external libraries, as @fiammybe noted, and some are in code that won't get used (mysql extenstions aren't used when PDO is the db connection type, but the code is still there) or get used often (mostly in external libraries).

We do need to become PHP8+ compliant ASAP. Will having another release come sooner get us more testing with the various environments everyone is using? Will it help get other modules updated to be compliant with the newer versions of PHP faster?

Once we have a proper scope, we can better estimate the timeline to deliver.

Re: Updates and upgrades for 2.0

by skenow on 2023/1/29 12:13:33

PHP7.4 is deprecated - that doesn't mean every site and server are running at that version. How many sites are still running under PHP5.6 or less? Even getting to that version could be an adventure. I've found a number of ImpressCMS sites that will have to take extra steps before they upgrade, some of mine are included in this list.

At a minimum, they will have to upload the new version and switch their server to the new version of PHP in order to complete the upgrade. If they haven't switched to PDO, they will have to do that, too, before they proceed. I use Formulize which implemented PDO independent of the core and activating PDO for the site causes problems with the module.

These changes are to be expected - I feel we need to be very open about what needs to happen and help them anticipate and navigate the requirements.

I've been thinking about a pre-upgrade script that could be uploaded to their site, or added as a custom block, that will do check the preliminaries a little more closely. We can't really do this in the current system block because they would have to upgrade to get the added tests. It could also scan for the use of deprecated functions and methods that were removed in 1.4 and the upcoming 1.5. The deprecated messages showing when debug is turned on is also a good place to make sure you're ready to move ahead.

Re: Updates and upgrades for 2.0

by fiammybe on 2023/1/29 7:03:39

For the time being, nothing changes to the github setup, even though it may be a bit confusing. The 1.5.x branch is being prepped to work under PHP 8.0. From the number of changes that need to be done, we accumulated quite a bit of technical debt there.

@skenow asked the question if we shouldn't just release the new version with PHP 7.4 support only, but I have some issues with officially releasing a version for an already deprecated PHP version

For those of you that are adventurous : the current codebase works perfectly well under PHP 7.4

Things I'm currently doing is upgrading the external libraries. Some of them (like HTMLPurifier) need a version upgrade to be PHP8 compatible.

Granted, this 8.0 requirement is turning out to be much more than anticipated, but I'm confident that it is a step that we need to take. It will give us better code overall, which is always a good thing stability-wise.

Re: Updates and upgrades for 2.0

by MekDrop on 2023/1/13 21:09:45

I agree that can be done but I think is much harder.

From what I see @jegestaff added only automated tests. Idk how much time would need to require to add add also automatic dependencies upgrading and other time-saving tasks.

Yes, maybe there is a way but at least for now I don't see something that would look easy.

In any case @skenow if you wish to maintain 1.x I don't mind but I just don't see any way how to keep up always with the required updates (run on newer PHP/MySQL and be secure) and that code.