PHP 5.5.1 support verified

at 2013-08-13 in PHP5 by friebe

PHP 5On a short note: Compatibility with the recently released PHP 5.5.1 has been verified:

OK: 6762/7351 run (589 skipped), 6762 succeeded, 0 failed
Memory used: 63230.92 kB (75252.94 kB peak)
Time taken: 18.970 seconds

Final PHP 5.5.0 support in 5.9.5

at 2013-06-24 in 5.9-SERIESPHP5 by friebe

PHPThe PHP group released PHP 5.5.0 last week, including tons of features, bug fixes and syntax additions such as finally, generators and the classkeyword. While we've been supporting PHP 5.5.0 pre-releases for quite a while, the upcoming XP 5.9.5 release will be the first with non-preliminary support for it.

XP Language and compiler, 1.10.0RC1: Compact syntax

at 2013-05-10 in ReleasesPHP5Language5.9-SERIES by friebe

After releasing version 1.9.0 last week, we've finally pushed forward the long-planned "compact syntax" feature which allows you to write value objects more concisely.

  public class Person {
protected string

public __construct
($ { }
public void setName
($ { }
public this withName
($ { }
public string getName
() -> $;
For details, see this pull request.

Upgrading / installation is done via XPI.

5.9.0-RELEASE: PHP Namespaces adoption, core&contrib separation, PHP 5.5 Support

at 2013-05-05 in ReleasesPHP5Announcements5.9-SERIES5.8-SERIESHomepage by friebe

After three public release candidates (and 6 more private ones) and more than a year of development, the XP group is proud to announce the availability of XP Framework, 5.9.0-RELEASE.

The biggest changes over the 5.8-SERIES are the support for PHP namespaces (and with it the bump in the minimum required PHP version to 5.3.0) and the separation of the XP Framework's core release cycle from that of its contributed modules (such as Stomp connectivity, Google Search APIs, but also the XP Compiler), and runtime compatibility for PHP 5.5.0. On top, we're also including a long list of bugfixes and improvements, like the ability to handle multiple file uploads, pattern argument matching for the Mocking Framework, a REST file downloads API, and support for ".php" files inside .pth-files (think: vendor/example/Autoloader.php).

A word of caution: This release is not by all means backwards-compatible with the 5.8-SERIES! While generally we try to avoid this, from time to time it becomes necessary to introduce these changes. Please make sure you read through the Heads up section in the 5.9.0 ChangeLog!

Go get it:

  $ cd ~/xp
$ wget '' -O - | php -- -d ~/bin/
Requires: Any PHP version between 5.3.0 and 5.5.0


5.8.13-RELEASE: TDS, seekable result sets, REST finishing

at 2013-04-13 in ReleasesPHP5DatabasesAnnouncements5.8-SERIES by friebe

The XP group is proud to announce the immediate availability of the XP Framework release 5.8.13. This release's highlights are:

  • Various bugfixes to the TDS protocol implementation (MSSQL, Sybase) to support variants and Unicode nvarchar types correctly.
  • Seeking support in our userland database drivers' buffered result sets (mssql+x, sybase+x, mysql+x)
  • Serialization support for lang.types wrapper types in REST serializer
  • Access to marshalling and mapping facilities in REST context

This release also contains a workaround for the behaviour changes introduced into PHP in the course of fixing PHP Bug 64370, which has been released by the PHP group in both PHP 5.4.14 and PHP 5.3.24. The details are explained here.

You can grab a release as follows:
  $ cd ~/xp
$ wget -O - | php -- -d ~/bin/

Supports all PHP versions between PHP 5.2.10 - PHP 5.4.14.

Support for PHP 5.5.0 Beta 3

at 2013-04-11 in 5.9-SERIESPHP5 by friebe

Following up on our blog on PHP 5.5.0 support, we've successfully verified the XP Framework works with the most recent PHP 5.5 version, beta 3:

  $ unittest core/src/test/config/unittest/*ini
OK: 5820/6439 run (619 skipped), 5820 succeeded, 0 failed
Memory used: 60472.76 kB (72210.46 kB peak)
Time taken: 13.954 seconds

PHP 5.5.0 support

at 2013-03-29 in PHP55.9-SERIES by friebe

When the PHP group announced the first publicly available PHP 5.5 alpha back in November 2012, we were excited to see almost all of our tests passing (well, that is, after removing finally():-)), and after adjusting for some changes in preg_replace and unpack,first announced PHP 5.5 support at the end of 2012. The rest of the alpha versions so far have worked out equally well.

PHP 5Fast forward to a week ago, when the PHP group released beta 1, we didn't expect much to change. The test suite was showing quite a bit of error noise, didn't complete but stopped halfway through and worst of all, was showing failed assertions in suspicious places. While the whole story is covered in this GitHub issue, the summary is our mechanism for producing unique IDs was not sufficient anymore. We did find a workaround with an almost negligible performance hit, though.

Yesterday, PHP 5.5.0 beta 2 was made available to the public, and the test suite looks good with both opcache enabled and disabled. Looking at the PHP 5.5 todos, and given no release candidates have been published, we could still be a while away from a PHP 5.5.0 release, though. On the other side, there don't appear to be any game-changers in the backlog, so we still feel confident in stating XP 5.9 will support PHP 5.5.0 and the entire range from PHP 5.3.0 towards that!

Happy easter!

5.8.12, release candidate 2

at 2013-03-06 in ReleasesPHP55.8-SERIES by friebe

The second release candidate for XP 5.8.12 contains a fix for PHP 5.3.3 failing missing methods test. This PHP version is the only of the PHP 5.3 series containing a bug (which was actually a bug fix, see PHP Bug 51176) in which __callStatic() was invoked for the parent::method() notation instead of __call(), even for non-static methods. We've added a workaround for this to make all PHP 5.3 versions behave the same. Because this change affects the lang.Object class and is currently not guarded by a version_compare() (but tries to address this generically), we didn't go for an immediate final release but are instead pushing this release candidate and delaying 5.8.12 for a short while.

Here's the install command, as always:

  $ cd ~/xp
$ wget -O - | php -- -d ~/bin

Heads up: Current "master" now requires PHP 5.3.0+

at 2013-02-06 in PHP5Announcements5.9-SERIES by friebe

PHP 5With the implementation of RFC #0265, the minimum PHP version required to run the XP Framework's current 5.9-SERIES is PHP 5.3.0. This gives us the following version ranges:

  • 5.8-SERIES: PHP 5.2.0 .. PHP 5.4.x
  • 5.9-SERIES: PHP 5.3.0 .. PHP 5.5.x

By bumping the minimum version to 5.3.0, we can start (and have done so) removing various workarounds in place in the XP Framework.

PHP 5.5 Support in XP 5.9

at 2012-12-31 in PHP55.9-SERIES by friebe

PHP 5With the second alpha released, and preliminary work already committed to the 5.8-SERIES, we now officially support PHP 5.5 in the XP 5.9 branch. Thankfully, Travis-CI is an early adopter, so we're able to test 5.5 there!

Please note: The 5.8-SERIES doesn't work - its finally() core functionality conflicts with the new finally implementation present in PHP 5.5. We've deprecated it in the forward compatibility release 5.8.9 (details) but won't remove it until 5.9.0.


You can subscribe to the XP framework's news by using RSS syndication.


Further reading