5.9-SERIES5.9.3-RELEASE: Runtime class definitionat 2013-05-22 in Releases, Announcements, 5.9-SERIES by friebeThe XP Group is proud to announce the immediate availability of the fourth release in the 5.9 series, version 5.9.3. This small release changes the runtime class definition functionality ClassLoader::defineClass() and ClassLoader::defineInterface() to load classes passed to them as parameters instead of raising exceptions, and thus adhere more to the "autoloading" scheme introduced with our dependency on PHP 5.3.0 and namespaces. The full changelog is available in markdown format now. Installation goes as always: $ cd ~/xp 5.9.2-RELEASEat 2013-05-16 in 5.9-SERIES, Announcements, Releases by kieselThe XP Framework group is proud to announce the immediate availability of the 5.9.2-RELEASE. In this release we focussed on refactoring the test suite to use the new unittest parametrization features introduced in 5.9.1 and generally added some fine tuning to the code. 5.9.2 is out and ready to be used: $ cd ~/xp Requires: Any PHP version between 5.3.0 and 5.5.0 - Enjoy! 5.9.1-RELEASE: Unittest parameterization, generics fixesat 2013-05-10 in Releases, Announcements, 5.9-SERIES by friebeRoughly a week after releasing 5.9.0, we're already bumping the version to 5.9.1. This is due to the fact that RFC #0267 - Unittest parameterization, which we're now including, was opened after the feature freeze we announced with the availability of 5.9.0RC7. We're also including a series of fixes (and quite a bit of tests accompanying them) for generics. Long story short, here we are, 5.9.1 is out and ready to be used: $ cd ~/xpRequires: Any PHP version between 5.3.0 and 5.5.0, full ChangeLog here - Enjoy! XP Language and compiler, 1.10.0RC1: Compact syntaxat 2013-05-10 in Releases, PHP5, Language, 5.9-SERIES by friebeAfter 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 {For details, see this pull request. Upgrading / installation is done via XPI. XP Compiler, 1.9.0at 2013-05-05 in Releases, Language, Announcements, 5.9-SERIES by friebeThe XP group is proud to announce the immediate availability of XP Compiler, r1.9.0. This release is the first release to depend on XP 5.9.0 (hence we use the .9.0 in the version to give a hint) and the first in the now-separated release cycle. Besides this infrastrure change, this release includes support for the self keyword in parameters and return types and a bugfix for uniqid() no longer generating unique ids. XP Language is available as an "xpi"-installable module named xp-framework/xp-language. XPI - Install XP Modulesat 2013-05-05 in Releases, RFCs, 5.9-SERIES by friebeWith their release cycles separated, our contrib modules cannot be downloaded alongside the XP Framework's releases anymore. In order to work around this, we now provide the "xpi" utility. Basic usage # This will search for modules Local and global modules The "xpi" utility works on a per-directory basis: Modules installed inside directory "project-a" will only be added to that class path, and not to the global one. While this is the desired behaviour for most situations (you want to use a library such as stomp inside one project, but not all of them), some XP modules should be made available globally. An example would be the XP Compiler and language. We recommend using the ~/.xp directory for this, and adding that to your xp.ini's use directive. Global modules can then be easily installed by typing: $ cd ~/.xp Further reading For a complete overview of the XPI capabilities, see RFC #0270: XPI - Install XP modules. 5.9.0-RELEASE: PHP Namespaces adoption, core&contrib separation, PHP 5.5 Supportat 2013-05-05 in Releases, PHP5, Announcements, 5.9-SERIES, 5.8-SERIES, Homepage by friebeAfter 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 ~/xpRequires: Any PHP version between 5.3.0 and 5.5.0 Enjoy XP On Androidat 2013-05-04 in Experiments, 5.9-SERIES by friebeDoes XP run on different platforms? Yes! But usually, when we say that, we think about Windows PCs, Macs, your Ubuntu workstation or Un*x servers. The XP Framework contains code to make this possible, and cover as many details of the underlying platform for you as possibe. But what about tablets (or even smartphones)? Yes, we actually have been there a while ago. The most recent experiment in the row of platform adaption is XP on Android. To the right, see xp -v running on my GalaxyTab 2.How was it done? I used the APK provided by the PHP for Android project, which is a plugin for the Android-Scripting infrastructure. Both were installed using direct APK downloads, for which I needed to enable the "Install APKs from other sources" option. That gave me PHP (version 5.3.3) on Android. Unfortunately, this PHP binary comes without ext/tokenizer, a normally built-in PHP extension we rely on in parsing the annotations. Without this, the XP Framework won't work, so I started out handcrafting it. Once that was done, at least the framework's test suite would start. As expected, it was showing some errors, though. Debugging The process of editing on my Windows machine, then copying the file to the tablet, and then starting it by tapping the file inside the SL4A file list and choosing the "run in shell" option became a bit time-consuming. To my rescue, I found SSHDroid, which conveniently gave me SFTP and SSH shell access, something which can be better automated. Status With the new and more efficient setup I was able to make the XP Framework's core test suite pass completely on the tablet, yielding a green bar with OK: 931/1006 run (75 skipped), 931 succeeded, 0 failed inside. The changes in the framework and its test suite have already been committed and pushed. The next steps would be to put up the necessary patches somewhere on GitHub RFC #0208: Coding standards update: PHP 5.3 namespacesat 2013-04-27 in 5.9-SERIES, RFCs by friebeScope of change The official XP Framework coding standards will be adjusted for new sourcecode using PHP 5.3 namespaces, and will include breaking changes. The old coding standards will be left untouched as to not suddenly un-comply all existing files. Affected are indentation, file header, namespace and use statements, as well as class names. Rationale Adjust to modern-day sourcecode and infrastructure. Read the full RFC here - discussion welcome! 5.9.0, RC9at 2013-04-26 in Releases, Announcements, 5.9-SERIES by friebeIn the last three weeks since RC8, we'be been working on an easy, self-contained way to install XP contrib modules. Previously, these were just bundled with the release and available for download alongside the release files. Since we decoupled framework, compiler and contrib releases to allow separate release cycles, a replacement needed to be found: The all-new xpi utility accomplishes this job now. For more details, see RFC #270. This release candidate also contains the various bugfixes to the TDS protocol implementation (MSSQL, Sybase), seeking support in our userland database drivers' buffered result sets (mssql+x, sybase+x, mysql+x) and enhancements to the REST serialization and marshalling infrastructure released in our 5.8.13 release. Test-drive it using this: $ cd ~/xpRequires: Any PHP version between 5.3.0 and 5.5.0 |
|