Jump to content

PW 3.0.220 – Core updates


ryan
 Share

Recommended Posts

I've just bumped the dev branch version to 3.0.220. Relative to 3.0.219, this version is largely focused on issue resolutions, and there are 11 of them, among 14 commits. See the dev branch commit log for details. This is just a brief update so I don't have more to add other than that I hope you are having a great week, and have a great weekend!

  • Like 21
Link to comment
Share on other sites

  • 2 weeks later...

[See this post as a PUBLIC DRAFT for an upcoming post / aka thought dump]

It's just a thought in my (confused) head right now... but shouldn't we, ProcessWire, the Community, and the ProcessWire Module Devs somehow focus/target a master release/version with PHP 8.1 as minimal version in the near future?

Not only for ProcessWire itself but all modules.
I'm not talking about ProcessWire 4.x but maybe 3.1.x or 3.2.x or something?
Just to have a clear cut in some way.
Almost everyone I talk to is looking for and talking about PHP 8.1.

Right now there are so many fast moving parts in ProcessWire (CKEditor/TinyMCE, JS Updates, Core Modules split and moving to the database, and what not) itself and in terms of PHP 8.1 - either it works or it's somehow having issues, while everyone seems already working with it.

  • Like 3
Link to comment
Share on other sites

PHP development has quite a momentum the last couple of years with older versions dropping out of the support line sometimes faster than users or hosting companies like. Some CMS/CMF already aligned their release cycle with PHPs cycle. Most hosting companies I know in Germany adapt quite fast to new PHP versions and often do not allow older versions more than one major release less than actual PHP version (8.x actual -> 7.x.latest last supported version). 

While full support for PW core for latest PHP 8.x will work quite smooth I guess, many of the third party modules are not updated regularly or are already abonded and hence may break. 10 years ago the PHP development speed was quite slow. Nowadays most hosting companies drop older PHP version anyway and you can‘t run PHP 5 on many hosts in Germany today. So I normally test my stuff with latest PHP version available and have latest 7.x for testing. I do not test anything below PHP 7.x latest anyway. So often some stuff I build won‘t run on old PHP versions. Thats why I put PHP>=8.1 in my modules. 

  • Like 3
Link to comment
Share on other sites

On 6/21/2023 at 1:26 AM, wbmnfktr said:

ProcessWire Module Devs somehow focus/target a master release/version with PHP 8.1 as minimal version in the near future?

I would not recommend setting ProcessWire's PHP requirements too high. Why would that help? If anyone wants to use PHP 8.1 or higher then that's fine but why should we "punish" those who cannot switch just yet? Why would "unifying" the required minimum PHP version help in any way? You cannot "force" module developers (who share their modules for free) do that.

Am I missing the point, perhaps?

BTW, I always use ProcessWire two versions behind the up to date major version of PHP because I do not want to deal with deprecated issues. I do not have time for that, and it saves me tons of time not to hurry just because...

  • Like 2
Link to comment
Share on other sites

To be abolute honest here... right now working with ProcessWire (Dev) on a recent hosting setup using my loved modules, feels a bit awkward. Besides one of my main hosters, all use PHP 8.1 as the default now - old instances not included, they still run 5.4+.

I don't want to force anyone doing things they don't want to do right now, because it's not really/absolutely necessary. 
I'm totally fine with this. Latest PW Stable, PHP 7.4... total peace and harmony.
My thought, see above, doesn't name a date or even a date range.
Yet I somehow have the feeling that ProcessWire should somehow set a date for a minimal PHP 8.x version so everyone, especially module devs, have a roadmap/timeline for their modules.

Even Core modules have issues with PW Dev on PHP 8.1 so I know that this isn't a thing we could or would see in the next 3-6 months. Still somehow developing with the latest and greatest PW/PHP seems a bit wonky (sometimes).

To make it absolute clear here:  Even though it sounds like I am complaining (which is fair, and true), it's more that I am worried.

I have had 2 encounters now were people asked me why certain errors/warnings show up.
They used a PHP 8.1 setup AND the latest PW DEV with some of our awesome modules as they were curious and wanted to try it, after I pushed them towards it. I did miss to say: Don't use PHP 8.1, which is a hype right now. Sorry!

This is more a feeling, than a fact.

  • Like 3
Link to comment
Share on other sites

On 6/21/2023 at 1:26 AM, wbmnfktr said:

I'm not talking about ProcessWire 4.x but maybe 3.1.x or 3.2.x or something?

Ok... just thought about it again, maybe I was thinking about a ProcessWire 4.x release.
That would be a massive one. Even bigger than the 3.x release.

Link to comment
Share on other sites

I think there are pros and cons and I think @wbmnfktr has made a good suggestion in bringing up the topic.

While writing that post I've had to lookup the requirements page. This is what it says:

Quote

PHP version 5.4 or newer with PDO database support (PHP 7+ preferable)

I imagine if I didn't know anything about ProcessWire and someone gave me the link to the PW website and this was the first thing I saw I'd turn around and run. Actually that was what happened in 2013 but gebeer was patient and kind enough to make me have a second look.

PHP7+ recommended? How can a system that I should build my business on and that markets itself as security as top priority recommend a PHP version that has been end of life for more than half a year now: https://www.php.net/supported-versions.php ? And it's not like PHP8 is totally new... We have it since 2021 and PHP8.1 since 2022

So while I'm a huge fan of ProcessWire being a timeless tool that can run untouched for years without updating either PHP or PW I'm also really liking the idea of having a clear cut and maybe even bumping the version with that cut to PW3.1; Maybe it should just be communicated in another way! When looking at the requirements page nobody knows that it's a timeless tool and that this is besides security one of the top priorities.

Also... PW3.0.220... That's such a weird version number that I've never seen in any other library. In my ProcessWire lovestory I mentioned that and I framed it as "not a single breaking change for 220 weeks" and that's not a lie I guess, but my feeling says that moving forward to PW3.1 with minimum required PHP8.1 would be a good thing.

If anybody didn't like that he/she could just use PW3.0.222, no?

Also more feelings than facts 😉 

  • Like 3
  • Thanks 1
Link to comment
Share on other sites

10 minutes ago, bernhard said:

I imagine if I didn't know anything about ProcessWire and someone gave me the link to the PW website and this was the first thing I saw I'd turn around and run.

Absolutely.
Even though I didn't know that page was so... outdated while being up to date.

10 minutes ago, bernhard said:

PHP7+ recommended? How can a system that I should build my business on and that markets itself as security as top priority recommend a PHP version that has been end of life for more than half a year now: https://www.php.net/supported-versions.php ? And it's not like PHP8 is totally new... We have it since 2021 and PHP8.1 since 2022

Arguments for my thoughts and feelings. 👏

11 minutes ago, bernhard said:

my feeling says that moving forward to PW3.1 with minimum required PHP8.1 would be a good thing.

I really think the cut must be bigger - see my last post.
But YES.

  • Like 1
Link to comment
Share on other sites

Even if you don‘t set/increase PW minimum required PHP version, the PW Github dev branch should be running PHP 7.x up to latest PHP 8.2.x at least without throwing warnings or even worse errors or a white page of death. Modules could than be tested and maybe a compatibility list could be set up for those older modules showing warnings or worse wouldn‘t run on latest PHP versions.

Minimum PHP version guaranteed to work without warnings and errors (core) should be latest PHP 8.1.x, as most hosting companies allow at least to choose between the PHP version not having reached EOL yet. For upcoming PHP 8.3 the 2nd alpha is already available. 

  • Like 1
Link to comment
Share on other sites

4 hours ago, cwsoft said:

Even if you don‘t set/increase PW minimum required PHP version, the PW Github dev branch should be running PHP 7.x up to latest PHP 8.2.x at least without throwing warnings or even worse errors or a white page of death.

I think this is an unfair statement. In my experience PW had no warnings or errors with PHP 8.1 since PW 3.0.210. And for compatibility with PHP 8.2 there is a GitHub issue where you can report warnings or errors: https://github.com/processwire/processwire-issues/issues/1664

So if you @cwsoft really have experienced a warning, error or "blank page of death", could you please provide an example or report it to this thread? 😉

Since PHP 8.2 is the latest version and PW has a big core, I think it is fair not to expect it to be compatible with it over night.

 

Requirements

In my opinion I think the minimum recommended PHP version should be the last supported PHP version: https://www.php.net/supported-versions.php
So at the moment this would be PHP 8.0. Recommending an unsupported PHP version maybe would not make a good first impression.

Versioning

In my opinion I also would recommend switching the versioning of PW. PW 3.0.xxx started in 2015 and while I understand the explanation for the versioning process, from a marketing and user perspective there is lack of distinction between the different versions. Other CMS celebrate major upgrades with a major version bump (3.1 or 4.0) and some give those versions even silly names just to make it clear in the marketing or for the users, that this version has something special to offer. 😀

 

But as always, much love for PW. ❤️

Edited by AndZyk
fixed wording for recommended PHP version
  • Like 3
Link to comment
Share on other sites

19 minutes ago, AndZyk said:

In my opinion I think the minimum required PHP version should be the last supported PHP version: https://www.php.net/supported-versions.php

In a perfect life, yes. But is it perfect? :) Jokes aside, as PHP development has been speeding up recently, I do not think it is realistic to expect Ryan and module developers to keep up with that pace. 

10 hours ago, wbmnfktr said:

Besides one of my main hosters, all use PHP 8.1 as the default now - old instances not included

Luckily, I do not have such an experience but I would blame hosting companies for being so rigid. It is not they who have the burden to upgrade PHP websites to be able to run on PHP 8.1 or higher, so why do they force anyone to do that in the first place?

I would also blame the PHP core team for not providing security fixes beyond one year:
https://www.php.net/supported-versions.php

While I agree that new features in PHP are welcome, I do not think they are so essential that I could not live without them for a few years more, if I wanted to.

"if it ain't broke, don't fix it"

  • Like 1
Link to comment
Share on other sites

@AndZykThe term „ideally should“ in German means one should at least try to target no warnings/errors or even blank pages in public Github main/dev branches in general - no matter what project it is.

I have not written PW dev does not run with PHP 8.2 nor that I found errors or experienced a white page of death. I have seen some deprecation warnings some weeks back, thats all. 

Hope this makes things more clear. There is always a chance for getting things wrong in forums, especially if you have to write in languages other than your first language. 

  • Like 4
Link to comment
Share on other sites

37 minutes ago, szabesz said:

In a perfect life, yes. But is it perfect? 🙂 Jokes aside, as PHP development has been speeding up recently, I do not think it is realistic to expect Ryan and module developers to keep up with that pace. 

My wording "required" wasn't good. Looking at competitors I think it should be maybe:

Minimum PHP 7.2 or PHP 7.4. Recommended PHP 8.

If you still use PHP 5 in 2023 I think you should search help. 😊

10 minutes ago, cwsoft said:

Hope this makes things more clear. There is always a chance for getting things wrong in forums, especially if you have to write in languages other than your first language. 

Thank you for making things clear. I understood your first sentence exactly, that you had experienced those issues with PW, which is not my experience at all.

I also think that GitHub branches in general should try to target no warning/errors or blank pages. Regarding PW that is already the case in my opinion. 

  • Like 2
Link to comment
Share on other sites

1 hour ago, szabesz said:

"if it ain't broke, don't fix it"

PHP says something different https://www.php.net/manual/en/security.current.php and this blog post https://kinsta.com/blog/php-versions/ lists some good reasons for staying up to date. So in general I think it's a good idea to stay up to date.

Note that my intention is not to blame anyone not updating his/her setups or modules. I'm still running some sites on PHP7.4 because that are low budget sites or sites for friends or personal projects. There are reasons why it can be better to stay on an old version, but there are also many good reasons to keep up to date. For example better performance and better security.

Personally the php-supported-versions page has helped me to communicate to my clients that some kind of maintenance is important for every project. Some clients have the expectation that developing software means pay once and then it works forever without any additional costs. And we all know that this is not true. And even though PW is a lot better than other systems (which I find great) I think that we as web professionals have to educate our clients to continuously invest something into the assets that we made for them. I'm not talking about WP Update Hell but doing maintenance every 2 or 3 years should really not be too much for a professional website. And it also makes sense from a business perspective for ourselves!

It's like having a car and doing regular maintenance and changing oil etc. before the engine takes damage. Also it's better to take smaller steps (PHP5 --> 7 --> 8 --> 9 than waiting for a long time until you hit a "relaunch or die" situation). Personally I'm not recommending to my clients to update to the latest & hottest sh* all the time, because being an early adopter usually comes with additional costs. But I'm trying to keep them up to date with officially supported versions. And I try to use newer PHP versions on my own projects so that I can report issues that I find. That way we can continuously fix those issues when they come up and before they get critical (meaning fixing warnings rather than bugs/errors).

And I think it would be good if ProcessWire showed commitment for that and communicated that in clear and understandable way so that everybody interested sees the benefits and the reasons behind the strategy. And so that everybody sees ProcessWire as what it is: A serious and professional tool that you can trust and that is actively developed. "PW needs PHP5.4+ but we recommend PHP7+" clearly does not do that in my opinion.

When PW was mentioned on other platforms I read comments like "latest commit 2 years ago - that project is dead" or similar. Just because they didn't realise there is a dev branch. That shows the same problem from a different angle in my opinion. And it shows that having minor releases like PW3.1 or 3.2 can be a good thing.

And the solution (and intention) is not to push devs into a version number race but to have a strategy and communicate that clearly. So that everybody knows what to expect and so that we have less assumptions (which is clearly the case as this discussion shows).

Have a great weekend 😄 

  • Like 4
Link to comment
Share on other sites

14 minutes ago, AndZyk said:

If you still use PHP 5 in 2023 I think you should search help. 😊

I don't like this statement either. ProcessWire is a timeless tool and does care a lot about long time support. That's something great! We should not blame anybody for not being on the latest and greatest versions. But we should make clear, that this is not the recommendation and it's everybody's own decision and risk.

Like having some food where the expiry date is over. It's perfectly fine if you are alone and you smell it and decide to eat it. But it's a different story if you sell food to others!

  • Like 1
Link to comment
Share on other sites

3 minutes ago, bernhard said:

I don't like this statement either. ProcessWire is a timeless tool and does care a lot about long time support. That's something great! We should not blame anybody for not being on the latest and greatest versions. But we should make clear, that this is not the recommendation and it's everybodies own decision.

That was just my attempt of being funny. I thought the smiley would make it clear, but of course I don't want to blame or disrespect anybody. 😉

If you have reasons to use a PHP version, which had its end of life 4 years and 5 month ago, this is fine. Like you said it is your own decision.

  • Like 1
Link to comment
Share on other sites

I try to stay up with PHP/Python etc. like I do for my Windows/Linux systems too. 

So I would use PHP live cycle as a „target“. All EOL versions should be avoided for new projects or upgrades and not be promoted. At least try to update/recommend the lowest PHP version still maintained or at least still receives security fixes.

https://www.php.net/supported-versions.php

Personally I develop with PHP 8.1.x and test stuff with 8.2.x too so I spot possible deprecated stuff early. Similar to my Python, nodejs, npm projects.

  • Like 3
Link to comment
Share on other sites

5 hours ago, AndZyk said:

That was just my attempt of being funny. I thought the smiley would make it clear, but of course I don't want to blame or disrespect anybody. 😉

Forums often don't understand ironic, sarcastic or other kinds of conversations which normally do work face to face. In face to face conversations, your counterpart does not only hear your words (or read your text in the forum), but also sees the smile in your face or your mimic or gestures. Writting in formus gets even more difficult, if you need to translate things from your first language to a foreign language you learned 20 years back in school but with only little practice. Often the use of a smiley doesn't get the meaning of your text right if it was already missunderstood by the reader in first place. That is at least my experience in various forums 🙂.

  • Like 3
Link to comment
Share on other sites

ProcessWire might still work on older PHP versions, but it's not being actively tested on anything prior to PHP 7.x anymore. I'll update the version requirement to: "PHP 8.x recommended (PHP 7.x versions also supported)". I run on PHP 8.2 here, and I think that's the preferred version to run for the dev branch at least. 

  • Like 6
  • Thanks 2
Link to comment
Share on other sites

44 minutes ago, ryan said:

ProcessWire might still work on older PHP versions, but it's not being actively tested on anything prior to PHP 7.x anymore. I'll update the version requirement to: "PHP 8.x recommended (PHP 7.x versions also supported)". I run on PHP 8.2 here, and I think that's the preferred version to run for the dev branch at least. 

Excellent. Thanks for your reply on that topic. 

  • Like 2
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...