Entries tagged as php releases
Related tagsclosures goto mysql namespaces php php qa php testfest php testing php53 phpqa phpt project managment coding .net ajax anniversary array assembler banshee BarCamp bazaar berkeley db birthday boredom Bryan Cantrill c# christmas comments conferences cvs database db debugging delphi development dsp DTrace ego english events exchange firefox frustration fun gecko german git google gsoc gsoc08 gsoc09 improvements ipc08 iterator java javafx json 23c3 acquisation berlin blogger ccc data center dtrace froscon froscon08 froscon10 hamburg hausdurchsuchung ipc ipc06 ipc07 ipc09 ipc10 james gosling lawblog montreal mysqlde mysqlnd mysqlnd plugins nuremberg oscon osdc osdc.il07 osdc09 php conferences php extensions php quebec php quebec 09 phpbarcelona entertainment MacOS microsoft ms paint opensource packages paint php 5 php 5.4 php 6 php.next processes solaris sun microsystems testing unicode video youtube easter gsoc2008 qa testfest bc blogging linkblog planet php presentations talks travel ulf mysql proxy phpmysqlproxy work karl valentin magic_quotes magic_quotes_gpc cta ide information_schema job launchpad memcache memcached memcche mysql 8.0 mysql analytics mysql cluster mysql fabric mysql json mysql plugins mysql storage engine mysql56 mysqli mysqlnd_ms netbeans mysqlnd_qc pdo query analyzer symfony2 type hints apc api design barcamp beer garden best practice charsets commits computer science 101 encoding exception file upload php oo php.iterator japanese php svn rumors svn oop releases testfest08 command line php interactive php session php shell sqlite sqlite3 codinge fileinfo party php security php54 php55 guidlines macos munich opensolaris parsecvs performance php 4 php bbq php coding php references play scm vcs windows new overloading test_helpers gopal pecl scream amber road blackbox brendand gregg contract employment gimp h0 hardware legal linux mÃ¤rklin mucosug storage sun blackbox toy train barcelona catalonia cdu concert csu dancehall daten frei dendemann gedanken gelbe sÃ¤cke glos google maps hiphop kaunas kinderzimmer productions lithuania live mÃ¼ll mÃ¼lltrennung merkel music open air
Mar 12: Future of PHP 6
Yesterday was a quite thrilling day for the PHP development team and led to some imprecise news articles so let's take a look at what happened: Over the last months many of the core contributors agreed that the current approach to bring Unicode into PHP's engine wasn't the right approach and a good thing would be to rethink it from the start. By a provocative move of one contributor the stalled situation got some more movement and Rasmus declared the current implementation to be discontinued to restart.
When the foundation of what should have become PHP 6 was created a decision was made to use UTF-16 as internal encoding for "everything" inside the engine. The choice for UTF-16 was made due to the fact that PHP 6 would use the ICU library which is focused on offering UTF-16 string functions. By using UTF-16 as default encoding we'd have to convert the script code and all data passed from or to the script (request data, database results, output, ...) from another encoding, usually UTF-8, to UTF-16 or back. The need for conversion doesn't only require CPU time and more memory (a UTF-16 string takes double memory of a UTF-8 string in many cases) but makes the implementation rather complex as we always have to figure out which encoding was the right one for a given situation. From the userspace point of view the implementation brought some backwards compatibility breaks which would require manual review of the code. These all are pains for a very small gain for many users where many would be happy about a tighter integration of some mbstring-like functionality. This all led to a situation for many contributors not willing to use "trunk" as their main development tree but either develop using the stable 5.2/5.3 trees or refuse to do development at all.
The presentYesterday the stagnation created by the situation has been resolved and it was decided that our trunk in svn will be based on 5.3 and we'll merge features from the old trunk and new features there so that 5.3 will be a true stable branch. The EOL for 5.2 has not yet been defined but I suggest you to really migrate over to 5.3, which usually can be done with very little work, as soon as possible.
The futureRight now we're starting different discussions to see what kind of Unicode support we really want. Many contributors react positive on a proposed "string class" which wraps string operations in Unicode and binary forms without going deep in the engine. In my opinion such an approach might also be a way to solve some of the often criticized inconsistencies in PHP's string APIs without the need to break old code. (new code uses the new class, old code the old functions) But that idea is far from a proper proposal or even the implementation, current status is about refocusing the development and get the requirement and design discussions going. By that it's a bit early to decide whether the next version of PHP will be called PHP 5.4, PHP 6 or maybe even PHP 7.
PHP is alive and kicking!
Oct 21: PHP 5.3.1RC2
Just a quick heads-up: After quite some time from RC1 PHP 5.3.1RC2 has finally been packaged and released. The PHP bug tracker is welcoming reports about issues, I also welcome positive feedback.
- Windows binaries:
Jun 30: PHP 5.3 is released
It was a long run and I'm sure it felt like an eternity for many - for me it certainly did. PHP 5.3 was branched of over two years ago and finally is ready to be called 5.3.0.
The php.net website and many other blogs discuss the features - from often loved closures, to well discussed namespaces to the sometimes hated goto - so I think I don't have to this here but instead can focus on that what really matters:
- Thanks to all the developers - Without them no new features would be there.
- Thanks to the documentation team - Without them one would have to decipher the NEWS file and guess what exactly is meant.
- Thanks to all participants during the Testfest! - During the Testfest we received many good tests for our regression test suite. Many of these tests represent what people do, not what developers think they should do which is important to reduce the risk of regressions. I hope people don't stop sending tests!
- Thanks to all the testers who reported bugs, and to the ones who reported that their applications worked without issues! - Regression tests are important but many possible issues can only be found in real life scenarios with real applications.
- Thanks to the whole community to make pressure on the developers to finally get it out as everybody is waiting for the new features.
- And last, but certainly not least: Thanks to Lukas! - Handling developers who are passionate for their work can be tough. Lukas made sure that the developers focus on what really matters and really helped me with all the work needed
So with that: In case you didn't do already: Browse over to php.net and grab your copy, it's for free!
If you want to celebrate the release and are close to Munich: We're planing a PHP Release Party on July 17th, details on that will follow.
May 7: PHP 5.3.0 RC 2 released
5.3 isÂ rather big release including support for namespaces, closures, phar archives, internatioalization support via the new intl extension, improved SQLite support, mysqlnd as backend for the MySQL exensions, impressive performance improvements, ... and tons of other bigger and minor things.
Even though this server is running 5.3 already it's not suggested to be used in production evironments, yet but I'd really like to encourage everybody to test it and give feedback! I'm also interested in positive feedback, not only bug reports to support my good feeling about this release
Jan 29: PHP 5.3 reached beta status
It's done 5.3 finally, after quite some discussions, reached beta state. So if you're not already on it it's now the perfect time to test it. Problems found now can be fixed before we mark it stable. Issues not find might need workarounds in your software which will cost you more time in the end. Or the way I often put it: Test now and complain or don't test and live with the consequences - we do our best but we certainly can't cover every edge cases especially in a version like 5.3 where we did quite some internal cleanup and added tons of new features.
The NEWS entry file is, compared to some previous alpha versions, quite short this time but still worth reading if you tested a previous alpha release.
Dec 8: magic_quotes
Mal ein deutsches Posting zu PHP: Im Rahmen der "Weg mit magic_quotes"-Diskussion muss ich einfach Karl Valentin zitieren:
MÃ¶gen hÃ¤tt ich schon wollen, aber dÃ¼rfen hab ich mich nicht getraut.
On Thursday morning I'll give a presentation about PHP 5.3, which will be quite interesting as one of the biggest features, namespaces, is still undergoing heavy discussions and the final syntax probably won't be clear when presenting - fortunately PHP 5.3 is much more than namespaces!
Sun will also be present at the conference, so if you're looking for an open source PHP IDE you might talk to Petr and Wen about the upcoming NetBeans 6.5 release which will feature PHP support, if you're running a startup company you might talk to Stefan Schneider who will represent the Startup Essential Program which has interesting discounts on Sun products.
Unfortunately I won't be able to attend Brian Aker's keynote about Drizzle or Ulf's session about new and hot stuff in mysqlnd, one of the new feature in PHP 5.3.
As most of you might have seen we recently announced the first alpha of PHP 5.3.0. The major changes are listed in the announcement. Source tarballs can be found on PHP's downloads site, as it's the first release I packaged I'm especially interested in feedback, whether it works or not . But we didn't only have changes on the source builds: A new team took over the creation of Windows builds. As they also did a major update to the Windows build architecture (supporting newer compiler versions on Windows and added experimental support for 64bit platforms) the build process got a bit delayed but builds should be available soon.
Remember: It's a release we packaged to get feedback from our users. So please test it. If you find issues please report them - the sooner we know about issues the sooner they can be addressed. Although our test coverage increased we can't cover all cases in our tests so please test it now and don't wait for the stable release, once the stable release is out your edge case might trigger a bug on a productive system, bugs reported now can be fixed before we release a final version.
If you want to give back to the PHP project - hey you probably make a living out of software you get for free - and can't fix bugs or assist in a similar way you probably could help our documentation team with improving the documentation, there are a few features without proper documentation, yet.
Dmitry posted results of performance test comparing PHP 5.2 and 5.3 to internals which are impressive numbers:
- Drupal 20% faster
- Qdig 2% faster
- typo3 30% faster
- wordpress 15% faster
- xoops 10% faster
Up to 30% performance win by simply updating PHP! Please help us with the quality assurance and test your applications using a 5.3 snapshot - we can't cover every usecase, you can!
And again as a sidenote: 5.2.6RC2 is out, please test that, too
Around Easter there are different holidays, in Germany for instance Friday and Monday are holidays. This gives you some time without annoying customers and colleagues asking you to do stuff. So what could you PHP geeks do when getting bored? - A good idea is to test PHP development snapshots.
Currently we have the second release candidate for PHP 5.2.6 out. Test it now with your code! We do our best to test it but we can't cover every use case so we need your testing! The simple rule is: Who doesn't test in time shouldn't complain later if their application breaks. 5.2.6 shouldn't brake anything but sometimes there are unexpected side-effects. Now we can fix them, it's harder after the release.
For 5.3 things are different. We are going to break stuff, but only with good intentions. The latest break we did is dropping the zend.ze1_compatibility_mode ini setting. That setting was broken from day one and gave lots of confusion. So test your applications in time and report unintended breaks you discover.
Of course you should always test the latest snapshots while doing your development but a few more free days might simply give you more time and a chance to give something back to the PHP project. For supporting PHP you might also read about the upcoming PHP TestFest and GSoC.
Oct 13: PHP 5.3 update
There are quite a few new features already committed to the CVS tree, some of them are documented in the NEWS file and READMEs in CVS, most of them have been commented on Planet PHP so I suggest searching there for more information and keep this list short:
- Namespaces: A way to help you organizing your code.
- Late Static Binding: Gives you the class name used when calling a static method.
- Dynamic static calls: $c = "classname"; $c::someMetod();
- Improved ini-handling: .htaccess file like per-directory configuration and much more
- __callStatic magic method: similar to __call but for static calls
- mysqlnd: a replacement for libmysql for better PHP-MySQL-Integration
- getopt() on any platform (inclding windows)
As you can see there's lots of stuff which needs testing! The earlier bugs are found the earlier they can be fixed! In case you ever wondered how you could give back something to PHP (which you certainly should do) you might take a look at our test coverage reports to see which areas of PHP need more testing and provide additional tests. (See qa.php.net and Marcus's slides for an introduction to test writing) Having more tests is important for us - and you don't have to know much about PHP internals to write proper tests (sometimes it's even better to write black-box tests...)
But well, there's not only PHP 5.3: If you're interested in unicode you should certainly take a look at PHP 6 and if you're running older systems you should consider upgrading to the latest 5.2 release instead of waiting for PHP 5.3 - the stable release is not expected within this year and many things there can change till it's released.
And as a final note: Test the snaps as often as you can - generic tests can never cover all use-cases and - as said above - fixing regressions is harder after a release than during development. (And be warned: We won't take any complaints from people not testing in time)
Aug 18: Test the latest stuff!
Ilia recently published the probably final release candidate of the current stable tree: PHP 5.2.4RC2. The stable release can be expected soon. This release fixes quite some bugs from older versions and does a few minor adjustments. Please test the RC release so unexpected regressions can be detected and fixed before it's marked stable. If regressions and other problems aren't detected now it will take a few months till the next version will be released, so do your best to make sure it's worth being called stable! Please file found issues, after checking for other reports and the documentation, into the bug tracker. The recent trend to report bugs using blogs isn't working well!
In other news one could read that there were also some major improvements in the development of PHP 6 made: Next to all that Unicode related work which was made over the last months PHP got, due to Andrey, mysqlnd as PHP-optimized replacement for libmysql and, thanks to Dmitry's work, namespace support. So this weekend might be the perfect time for sending you're family visting other parts of the family, letting them sweat on some beach or having fun at some theme park - then you can sit down, relax, and, after testing PHP 5.2.4RC2, give that new stuff in PHP 6 a test.
For getting started with PHP 6, which you can get, as you're hopefully used to, from the snaps site, you should first read Andrei's slides about Unicode and PHP 6. The most important Unicde+PHP facts are also collected inside a README file. For namespaces there's, again, a README file, David Coallier has written a nice summary and Stanislav wrote a short FAQ. If you are curious what mysqlng is: simply read Ulf's blog postings or Andrey's slides.