Sooo.
Here we are again, looking at PHP version bumps. Our current minimum version is 5.2.3, released in June 2009 (5.2.0 was November 2006).
I'm proposing to at least bump to version 5.3.0 (as the minimal), release back in June 2006. Though a higher point release would be acceptable if anyone knows of any blocking bugs that were fixed later in the release series. Obviously, we want to try and use a version that gives both developers benefits, without hopefully causing most administrators issues having to manually update PHP etc.
From terms of version availability, Ubuntu 10.04 (from April 2010) Lucid LTS
gives PHP Version 5.3.2 [1]. From the Wikimedia Foundations setup this means we are sufficiently ahead that no extra work would be needed looking to attempt to backport versions. And with 12.04 not long away (granted, we're not going to be immediately upgrading), which has 5.3.10 (current stable release) [2].
From the developers point of view, we get some extras such as Namespace
support, Late static binding among other useful features. I have already committed some code to our repo as part of AntiSpoof that now has a 5.3 minimal php version. I know there was support from other developers to make this version bump.
It would be nice to have this change for the 1.20 release cycle if there are no major reasons not to.
One step closer to 5.4.0 and buh-bye to register_globals and safe_mode!
Thanks
Sam
On Mon, Feb 20, 2012 at 4:01 PM, Sam Reed reedy@wikimedia.org wrote:
I'm proposing to at least bump to version 5.3.0 (as the minimal), release back in June 2006. Though a higher point release would be acceptable if anyone knows of any blocking bugs that were fixed later in the release series. Obviously, we want to try and use a version that gives both developers benefits, without hopefully causing most administrators issues having to manually update PHP etc.
I'd suggest at least 5.3.2. The first release is always unstable, I wouldn't recommend people be using that for production sites. 5.3.1 is patently broken, so the next logical number would be 5.3.2. This would still give us a release in the 5.3 series that's fairly well supported.
Let's wait a couple of weeks until after the git migration. It'll give us enough time to bikeshed over 5.3.n±1.
-Chad
I noticed that new MediaWiki installations have a new meta tag which is not in the HTML specification and means that MediaWiki sites cannot be made W3C compliant.
For example, running the validator over mediawiki.org gives the following error (amongst a few others complaining about deprecrated cellpaddign etc):
"Bad value ResourceLoaderDynamicStyles for attribute name on element meta: Keyword resourceloaderdynamicstyles is not registered."
Would it be worth creating a short description page about the tag in mediawiki.org and registering it on http://wiki.whatwg.org/wiki/MetaExtensions to propose it be included in the specification?
On Mon, Feb 20, 2012 at 4:20 PM, Aran aran@organicdesign.co.nz wrote:
I noticed that new MediaWiki installations have a new meta tag which is not in the HTML specification and means that MediaWiki sites cannot be made W3C compliant.
For example, running the validator over mediawiki.org gives the following error (amongst a few others complaining about deprecrated cellpaddign etc):
"Bad value ResourceLoaderDynamicStyles for attribute name on element meta: Keyword resourceloaderdynamicstyles is not registered."
Would it be worth creating a short description page about the tag in mediawiki.org and registering it on http://wiki.whatwg.org/wiki/MetaExtensions to propose it be included in the specification?
We talked about this back in August. http://lists.wikimedia.org/pipermail/wikitech-l/2011-August/054561.html
-Chad
Le 20/02/12 22:01, Sam Reed a écrit :
Here we are again, looking at PHP version bumps. Our current minimum version is 5.2.3, released in June 2009 (5.2.0 was November 2006).
I'm proposing to at least bump to version 5.3.0 (as the minimal), release back in June 2006. Though a higher point release would be acceptable
Jeroen asked a few days ago too so there must be interest for PHP 5.3 new features.
We should stick to 5.2.x for now, the main reason would be to keep compatibility with HipHop Virtual Machine for PHP [1]. I have no idea which 5.3 features is/will be supported, Tim probably has more informations.
Also, would be great to avoid code which do not backport to 1.19. I suspect the day we had 5.3.x, people will start rewriting everything to use closure and namespaces, making the code totally different again, breaking back compatibility with extensions etc...
[1] https://www.facebook.com/note.php?note_id=10150415177928920
Hello,
Please note that CentOS is still running PHP 5.2.x out of the box. The same goes for the cheap controlpanel DirectAdmin.
With a test in cPanel users almost 90% is running CentOS 5.x with PHP 5.2.x
With changing the minimum version we would stop a lot of users from using mediawik...
Best,
Huib
On Tuesday, February 21, 2012, Antoine Musso wrote:
Le 20/02/12 22:01, Sam Reed a écrit :
Here we are again, looking at PHP version bumps. Our current minimum version is 5.2.3, released in June 2009 (5.2.0 was November 2006).
I'm proposing to at least bump to version 5.3.0 (as the minimal), release back in June 2006. Though a higher point release would be acceptable
Jeroen asked a few days ago too so there must be interest for PHP 5.3 new features.
We should stick to 5.2.x for now, the main reason would be to keep compatibility with HipHop Virtual Machine for PHP [1]. I have no idea which 5.3 features is/will be supported, Tim probably has more informations.
Also, would be great to avoid code which do not backport to 1.19. I suspect the day we had 5.3.x, people will start rewriting everything to use closure and namespaces, making the code totally different again, breaking back compatibility with extensions etc...
[1] https://www.facebook.com/note.**php?note_id=10150415177928920https://www.facebook.com/note.php?note_id=10150415177928920
-- Antoine Musso
______________________________**_________________ Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/**mailman/listinfo/wikitech-lhttps://lists.wikimedia.org/mailman/listinfo/wikitech-l
On Tue, Feb 21, 2012 at 2:11 AM, Huib Laurens sterkebak@gmail.com wrote:
Hello,
Please note that CentOS is still running PHP 5.2.x out of the box. The same goes for the cheap controlpanel DirectAdmin.
With a test in cPanel users almost 90% is running CentOS 5.x with PHP 5.2.x
With changing the minimum version we would stop a lot of users from using mediawik...
Maybe it would convince people to stop using cPanel.
I know it won't happen...but I can dream, can't I? ;-)
-Chad
Haha!
Its a fact that cPanel will make the upgrade easy to php 5.3 or CentOS 6.*
But I guess it will bring up a lot of questions when it would be bumped up right now, it seems that PHP 5.2.x is still widly in use..
Best,
Huib
Just checked, but parrelels plesk gives me a PHP 5.3 version, so all hosting companies should switch to Plesk :P
On Tue, Feb 21, 2012 at 1:11 PM, Chad innocentkiller@gmail.com wrote:
On Tue, Feb 21, 2012 at 2:11 AM, Huib Laurens sterkebak@gmail.com wrote:
Hello,
Please note that CentOS is still running PHP 5.2.x out of the box. The
same
goes for the cheap controlpanel DirectAdmin.
With a test in cPanel users almost 90% is running CentOS 5.x with PHP
5.2.x
With changing the minimum version we would stop a lot of users from using mediawik...
Maybe it would convince people to stop using cPanel.
I know it won't happen...but I can dream, can't I? ;-)
-Chad
Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l
On Tue, Feb 21, 2012 at 7:15 AM, Huib Laurens sterkebak@gmail.com wrote:
Haha!
Its a fact that cPanel will make the upgrade easy to php 5.3 or CentOS 6.*
If memory serves, nothing cPanel does is easy (read: pain free). But we're quickly digressing.
-Chad
On 21 February 2012 12:11, Chad innocentkiller@gmail.com wrote:
On Tue, Feb 21, 2012 at 2:11 AM, Huib Laurens sterkebak@gmail.com wrote:
Please note that CentOS is still running PHP 5.2.x out of the box. The same goes for the cheap controlpanel DirectAdmin. With a test in cPanel users almost 90% is running CentOS 5.x with PHP 5.2.x With changing the minimum version we would stop a lot of users from using mediawik...
Maybe it would convince people to stop using cPanel. I know it won't happen...but I can dream, can't I? ;-)
Presumably we have contacts at hosting companies and cPanel? It would be in order to warn them.
- d.
Le 21/02/12 13:28, David Gerard a écrit :
Presumably we have contacts at hosting companies and cPanel? It would be in order to warn them.
We can not contact / track PHP version of major hosting companies. Their customers will eventually ask them for an upgrade.
On Tue, Feb 21, 2012 at 8:53 AM, Antoine Musso hashar+wmf@free.fr wrote:
Le 21/02/12 13:28, David Gerard a écrit :
Presumably we have contacts at hosting companies and cPanel? It would be in order to warn them.
We can not contact / track PHP version of major hosting companies. Their customers will eventually ask them for an upgrade.
Agreed. Trying to push people to upgrade to 5.3 will be a colossal waste of time. Remember the pushes for PHP5 and to get people to drop PHP4? Hosting companies only got on board when there was finally sufficient demand for it, not because a bunch of people said "you're using old software, stop!"
The correct answer is "I'm sorry this is inconvenient, ask your hosting provider or find a better one."
-Chad
Hi!
Agreed. Trying to push people to upgrade to 5.3 will be a colossal waste of time. Remember the pushes for PHP5 and to get people to drop PHP4?
None of that frustration was around MediaWiki development - we dropped PHP4 swiftly, and I guess only Jeffrey Merkey complained. ;-) If MediaWiki is better on newer PHP, we should use newer PHP.
Domas
On Tue, Feb 21, 2012 at 10:08 AM, Domas Mituzas midom.lists@gmail.com wrote:
Hi!
Agreed. Trying to push people to upgrade to 5.3 will be a colossal waste of time. Remember the pushes for PHP5 and to get people to drop PHP4?
None of that frustration was around MediaWiki development - we dropped PHP4 swiftly, and I guess only Jeffrey Merkey complained. ;-)
I was speaking generally, not about MediaWiki.
If MediaWiki is better on newer PHP, we should use newer PHP.
It's "better" in that it's the active release branch and is supported. Although I'm less convinced that's the drive behind some people to want 5.3...I'm sure we'll get a ton of anonymous functions and LSB once the version's bumped. I can't wait ;-)
-Chad
Me too.
- Trevor
On Thu, Feb 23, 2012 at 12:56 PM, Antoine Musso hashar+wmf@free.fr wrote:
Le 21/02/12 16:08, Domas Mituzas wrote:
If MediaWiki is better on newer PHP, we should use newer PHP.
I have read that:
If MediaWiki is better on JS, we should use JS.
Go figure.
______________________________**_________________ Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/**mailman/listinfo/wikitech-lhttps://lists.wikimedia.org/mailman/listinfo/wikitech-l
The correct answer is "I'm sorry this is inconvenient, ask your hosting provider or find a better one."
I completely agree.
Being able to use features like namespaces and late static binding would be a huge win. I'm definitely in favor of bumping the minimum PHP version to 5.3.x.
On Thu, Feb 23, 2012 at 4:05 PM, Arthur Richards arichards@wikimedia.org wrote:
The correct answer is "I'm sorry this is inconvenient, ask your hosting provider or find a better one."
I completely agree.
Being able to use features like namespaces and late static binding would be a huge win. I'm definitely in favor of bumping the minimum PHP version to 5.3.x.
Namespaces are moderately useful. They would've been much nicer if PHP hadn't decided on completely batshit notation for them.
I'd also like to take a quick moment to put myself on the record as saying that I think LSB is a hack. It can has its uses, but the vast majority of examples I've seen in the wild so far are hacks to work around poor initial design decisions.
Please use features intelligently, not just because they're the shiny new tool in the drawer.
-Chad
The key features of PHP 5.3.0 include:
Support for namespaces Late static binding Lambda Functions and Closures
Syntax additions: NOWDOC, ternary short cut "?:" and jump label (limited goto), __callStatic() Under the hood performance improvements Optional garbage collection for cyclic references
More consistent float rounding...
Deprecation notices are now handled via E_DEPRECATED (part of E_ALL) instead of the E_STRICT error level
Several enhancements to enable more flexiblity in php.ini (and ini parsing in general)
On Feb 24, 2012 2:35 AM, "Arthur Richards" arichards@wikimedia.org wrote:
The correct answer is "I'm sorry this is inconvenient, ask your hosting provider or find a better one."
I completely agree.
Being able to use features like namespaces and late static binding would
be
a huge win. I'm definitely in favor of bumping the minimum PHP version to 5.3.x.
-- Arthur Richards Software Engineer, Mobile [[User:Awjrichards]] IRC: awjr +1-415-839-6885 x6687 _______________________________________________ Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l
On Thu, Feb 23, 2012 at 4:19 PM, Patrick Reilly preilly@wikimedia.org wrote:
Syntax additions: NOWDOC,
This is actually very useful.
ternary short cut "?:"
I don't think this syntax is all that intuitive. People are lazy though, so I guess it'll get used.
and jump label (limited goto), __callStatic()
If anyone uses jump I'm going to whack them over the head with a revert stick. I see zero reason why this should ever be needed.
Under the hood performance improvements Optional garbage collection for cyclic references
This is my favorite part of 5.3 <3
-Chad
There does not seem to have been a decision made here - is there even a process for making a decision like this?
We already have some extension code in production that requires PHP >= 5.3 ( https://www.mediawiki.org/wiki/Special:Code/MediaWiki/111691). I assume that's not the case for core, but it seems a slippery road for us to go down allowing code that requires PHP 5.3 into production if we intend to support PHP >= 5.2.
While we await some sort of decision about this, what is the appropriate thing to do when we see PHP code that's only compatible with PHP >= 5.3 in code review? I went ahead and tagged a couple of revisions I saw making use of late static bindings with 'php5.3' and left them as 'new' pending some sort of decision/guidance.
Arthur
On Thu, Feb 23, 2012 at 10:56 PM, Platonides Platonides@gmail.com wrote:
On 23/02/12 22:23, Chad wrote:
Under the hood performance improvements Optional garbage collection for cyclic references
This is my favorite part of 5.3 <3
-Chad
You don't need 5.2 incompatible code for that.
Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l
On Fri, Mar 9, 2012 at 6:11 PM, Arthur Richards arichards@wikimedia.org wrote:
There does not seem to have been a decision made here - is there even a process for making a decision like this?
We kind of just bikeshed it around on the list for a few weeks then somebody finally bumps it in trunk. That's what happened when we began requiring 5.2.3
While we await some sort of decision about this, what is the appropriate thing to do when we see PHP code that's only compatible with PHP >= 5.3 in code review? I went ahead and tagged a couple of revisions I saw making use of late static bindings with 'php5.3' and left them as 'new' pending some sort of decision/guidance.
Personally, I'd suggest reverting 5.3-isms until the minimum version is bumped. But I'm not about to start a holy war over it.
-Chad
wikitech-l@lists.wikimedia.org