Announcements

5.8.4RC3: JSON, Configuration, Properties and FC

at 2012-02-03 in 5.8-SERIES5.9-SERIESAnnouncementsReleases by friebe

We would like to announce the immediate availability of the third release candidate for XP 5.8.4. On top of the second RC, we have included JSON serialization for objects, the possibility to supply multiple configuration sources for both XPCLIs and web applications based on RFC #0221, extended the util.Properties class to be case-insensitive when parsing boolean values and added a method lang.reflect.Field::getTypeName() for forward compatibility with the upcoming 5.9-SERIES.

You can download and install as always:

  $ cd ~/xp
$ wget http://releases.xp-framework.net/setup/5.8.4RC3 -O - | php -- -d ~/bin/

Enjoy:-)



New method Field::getTypeName()

at 2012-01-28 in 5.8-SERIESAnnouncements by friebe

In preparation for the upcoming change of lang.reflect.Field::getType(), due to fix its inconsistency with other parts of the reflection API, we have added a forward-compatible lang.reflect.Field::getTypeName() method that you can start migrating your code to so it will work in both XP Framework versions.

For an example of what needs to be changed, see this pull request to the XP compiler.



5.8.4RC2

at 2012-01-23 in 5.8-SERIESAnnouncementsReleases by friebe

We would like to announce the immediate availability of the second release candidate for XP 5.8.4. On top of the first RC, we have included fixes for the HTTP transport based on the curl extension and bugfixes for XMLRPC deserialization. We would like to thank the contributors from over at GamePay for these patches! Also, there have been several optimization to the XP compiler in generating dependencies.

You can download and install as always:

  $ cd ~/xp
$ wget http://releases.xp-framework.net/setup/5.8.4RC2 -O - | php -- -d ~/bin/

Enjoy:-)



5.8.4RC1

at 2012-01-12 in AnnouncementsReleases by friebe

We would like to announce the immediate availability of the first release candidate for XP 5.8.4. This release contains various fixes and enhancements like SQLite3 support in the rdbms package, as well as the extended server protocol, the first release of our mocking library, a REST client and support for combining application properties from varios sources.

You can download and install as always:

  $ cd ~/xp
$ wget http://releases.xp-framework.net/setup/5.8.4RC1 -O - | php -- -d ~/bin/

Enjoy:-)



Heads up: Using local sockets to connect to MySQL

at 2012-01-08 in AnnouncementsDatabases by friebe

MySQL logoMySQL allows running MySQL servers with disabled networking. This is suggested as security measure if the application and the database server run on the same machine, but in reality we usually don't have this kind of a setup except on the developers' machines. This is where we hit an inconsistency in our userland MySQL driver "mysqlx": It wasn't connecting to the MySQL server on localhost, where the standard MySQL driver was. This has been fixed in the meantime.

Some research into this topic revealed the following:

  • MySQL uses an AF_UNIX socket on Un*x systems. By default, this is in /tmp/mysql.sock
  • On Windows, a named pipe serves the same purpose. It's usually called \\.\pipe\MySQL
  • The MySQL libraries will connect via these local sockets if "localhost" is supplied as host name

Especially the last part is a bit frustrating, because it's magic, and magic behaviour is never good in software. This is why the XP group has decided to be inconsistent with the MySQL libraries and not support this in mysqlx. Furthermore, we have decided to remove the magic from the standard MySQL driver implementations in order to be consistent. Instead, use the dot (.) as a notation for "this machine", as seen in the following examples:

  // Connect to the MySQL server on this machine via local sockets.
// Determine socket by using OS-dependant lookup mechanisms.
$conn= DriverManager::getConnection('mysql://./NEWS');

// Supply local socket's name
$conn= DriverManager::getConnection('mysql://./NEWS?socket=/tmp/mysql.sock');
$conn= DriverManager::getConnection('mysql://./NEWS?socket=\\\\.\\pipe\\mysql');
In contrast, this will now always use TCP/IP:

  $conn= DriverManager::getConnection('mysql://localhost/NEWS');



Support for SQLite3 / SQLite2 deprecation

at 2012-01-06 in AnnouncementsDatabases by friebe

With pull request #104 implemented the XP Framework now supports SQLite v3 databases via PHP's sqlite3 extension. To acquire a "connection" to an SQLite database, use "." as the hostname and supply the filename where you usually put the database in the DSN string:

  $conn= DriverManager::getConnection('sqlite://./test.db?autoconnect=1');

Note: At the same time, the sqlite scheme was changed to default to this new implementation instead of the older SQLite version 2, which will be deprecated in PHP 5.4. To stick with the old implementation, use sqlite+std as scheme to forcefully select the old driver. If you want to be forward-compatible, you may upgrade existing SQLite files as follows: sqlite old.db .dump | sqlite3 new.db.



5.8.3-RELEASE:

at 2011-12-09 in AnnouncementsReleases by kiesel

The XP group would like to announce the immediate availability of XP, version 5.8.3. This is the second production quality release based on Github infrastructure. It contains code provided by the first Github-hosted RFCs and several pull requests.
The release contains code from 7 difference developers mentioned in the ChangeLog, this went up by 1 compared to the previous release - but in 3 months development time compared to last releases' 6 months!
The release focuses on the replacement of the old JSON parser, experimental PHP 5.4 compatibility and lots of small feature additions.

For a full list of changes and to download the release, visit:
http://releases.xp-framework.net/xml/release?5.8.3



Preliminary PHP 5.4 support added

at 2011-10-30 in PHP5AnnouncementsHomepage by friebe

PHP 5 LogoWith a couple of forward-compatible tweaks, workarounds for PHP bug #60167 and PHP bug #60169 and some test refactoring to account for magic quotes deprecation, the XP Framework now runs with the current PHP 5.4 beta release.

You can read about the details here or just jump directly to the diff if you're interested in what was necessary on the code-level.

Please note that we'll have to wait for the real PHP 5.4 release until we officially support it.



5.8.3RC1

at 2011-10-21 in ReleasesAnnouncements by friebe

The XP group is proud to announce the immediate availability of XP 5.8.3, release candidate 1. This release includes a revamped annotation parser in lang.XPClass, a new JSON client-side implementation with streaming capabilities, REST serverside implementation (RFC #0216) and various smaller improvements and bugfixes.

  $ cd ~/xp
$ wget http://releases.xp-framework.net/setup/5.8.3RC1 -O - | php -- -d ~/bin/



RFCs now on GitHub

at 2011-10-20 in RFCsAnnouncements by friebe

The XP Framework's RFCs have all been migrated to our new home over at GitHub. Unfortunately, GitHub doesn't offer an importing facility, and the regular API calls neither allow impersonation nor setting dates backwards, so we've lost a bit of information here. In the long run, we believe this isn't going to play much of a role; and since the benefits outweigh the downsides. For example, this way, we now make creating RFCs accessible to the general coding public - your ideas are welcome!

You can find the RFCs in the issue list of our rfc repository.

Enlighten us:-)



Subscribe

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


Categories

News
General
PHP5
Announcements
RFCs
Further reading
Examples
Editorial
EASC
Experiments
Unittests
Databases
5.8-SERIES
Unicode
Language
5.9-SERIES