5.9.11-RELEASE Bugfix Release

at 2013-12-13 in 5.9-SERIESAnnouncementsReleases by mkraus

The XP Group hereby announces the immediate availability of XP Framework release 5.9.11.
Fixed REST marshalling and unmarshalling not working recursively.
Fixed unknown token exception for TDS_CURDECLARE* on certain queries with Sybase ASE 15
Fixed handling of 7bit encoded message parts.

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

Heads up: Update your runners!

at 2013-11-23 in 5.9-SERIES6.0-SERIESAnnouncementsUnicode by friebe

Fot the upcoming 6.0-SERIES, the XP Runners on Windows need an update to correctly support Unicode on the command line. As the runners are version agnostic, you can already start the upgrade now even with the 5.9-SERIES. It's as easy as typing xprt-update.bat:


The runners' minimum requirement has been bumped from .NET Framework 3.5 to 4.0. The latter has been around since 2010, so you will most probably have it:-)

5.9.10-RELEASE: Bugfix release

at 2013-11-22 in 5.9-SERIESAnnouncementsReleases by friebe

The XP Group hereby announces the immediate availability of XP Framework release 5.9.10. This release fixes a bug which renders the REST client unusable for more than one consecutive call. It is recommended to upgrade immediately if you're working with 5.9.9, or skip it in your upgrading course completely.

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

RFC #0279: Newinstance with closures

at 2013-11-13 in 6.0-SERIESRFCs by friebe

Scope of Change
The newinstance core functionality will be extended and support a map of closures to define the methods in addition to the string sourcecode.

Easier-to-read declarations.

Read the full RFC here

Repository reorganization for 6.0

at 2013-11-12 in RFCs6.0-SERIES by friebe

As announced in our XP6 plans, we've started reorganizing the XP Framework's repository. First of all, we've collapsed the core directory into the repository's root, yielding the following layout there:
|- src
| |- main/php
| `- test/php
|- tools
| |- lang.base.php
| |- class.php
| `- web.php
|- boot.pth
|- pom.xml
|- xpbuild.json
|- .travis.yml
In the second step, a bunch of modules has been split off into separate repositories, yielding a much lighter core repository on the one hand and an impressive list of modules on the other.

XP 6 plans

at 2013-11-09 in 5.9-SERIES6.0-SERIESUnicodeUnittests by friebe

With the release of 5.9.9, we're heading towards the end of the framework's 5.9-SERIES. We've started a meta-RFC to gather all plans for XP 6.0.0, which you can read through (and comment!) over on GitHub.

The essentials:

  • Core only. - the framework's filesystem layout will be reorganized into a new repository, and split into minimal pieces
  • Namespaces - All XP classes will be inside namespaces. Only the most commonly-used classes will receive global namespace aliases.
  • Unicode - Support will be added. All strings are to be considered being utf-8.
Feedback welcome!


at 2013-11-09 in ReleasesAnnouncements5.9-SERIES by friebe

The XP Group is proud to announce the XP Framework release 5.9.9. After three release candidates, this release contains quite an impressive ChangeLog (at least, compared to other 5.9.X releases:-)).

The biggest changes are

  • The responsibilities split in the REST APIs: Deserializers read from the stream formats, e.g. XML or JSON, to data structures, while unmarshallers then convert this to the target types, e.g. a value object. See RFC #269; and please note the breaking changes it brings along!
  • The new test actions API, which allows creating reusable test setup and teardown code. See RFC #272.
  • The switch to a more robust implementation of the annotation parser in lang.XPClass. This fixes previously undefined behaviour with class constants, and gives more verbose error messages for malformed annotations, both without having a negative impact on performance or memory usage. See pull request #328.
Installation goes as usual:

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

XP 5.9.9, RC3

at 2013-11-07 in ReleasesAnnouncements5.9-SERIES by friebe

We're getting there: Today, we release the third release candidate for the upcoming 5.9.9-RELEASE! Since the second release candiate, the following changes have been made:

  • The peer.http.FileData class has been renamed to peer.http.FileUpload
  • Issue #335 ("Inconsistent state in HttpRequest") has been fixed
  • The REST client has been changed to always append resources to base path, whether they're supplied in an absolute or relative form. See issue #334 for a discussion
  • The REST Response class has been fixed to allow fully qualified URLs in the Location: header
Installation goes as usual:

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

Heads up: Rest serialization API changes

at 2013-11-06 in Announcements by friebe

With the implementation of RFC #269, the way data flows from the HTTP request to the handler and back to the client has been changed. Previously, this was all more or less handled by Rest(De)Serializer::convert(). These methods have been removed and replaced by a new marshalling API. Here's the definition:

  • Serialization is the act of transforming formats such as JSON and XML to data structures, and vice versa.
  • Marshalling is the act of converting primitives, arrays and maps to complex objects, and vice versa.
If you were relying on these methods, see an example of how to adapt your code.

XP 5.9.9, RC2

at 2013-10-25 in ReleasesAnnouncements by friebe

Atfer releasing the first release candidate last week, the XP group is proud to announce the availability of RC2. Since RC1, we've fixed a bug in the REST client, removed PHP warnings from the web runner, polished the peer.mail API and added peer.http.HttpConnection::setTrace() for debugging HTTP request and response headers.

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


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


Further reading