5.8-SERIES

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:-)



RFC #0231: Remove xp.contrib's "dba" module

at 2012-01-22 in 5.8-SERIES5.9-SERIESRFCs by friebe

Scope of Change
The module "dba" will be completely removed.

Rationale
The io.dba classes where deprecated in the 5.8-SERIES and moved to the ports repository (what is now "xp.contrib") for backwards compatibility on 2010-02-14, almost two years ago at the time of writing.

Read the full RFC here



XP 5.9 branch created

at 2011-12-21 in 5.9-SERIES5.8-SERIES by friebe

With a growing number of pull requests and feature requests stacking up which affect the XP Framework in a way that requires a series change, we've decided to create a branch for you to be able to preview the upcoming features.

After a git pull, you can set up a local branch by typing git branch --track xp5_9 origin/xp5_9. Afterwards, changing branches is as easy as git checkout xp5_9.

Shell screenshot

Features intended for the 5.8 series will be continued to be developed in the master branch and then merged to xp5_9.



5.8.0 Re-released

at 2011-01-18 in Releases5.8-SERIES by friebe

We discovered a bug in the 5.8.0 release files which lead to the XP compiler classes not being available in xp-tools.xar, and effectively the xcc command yielding:

  Uncaught exception: Exception lang.ClassNotFoundException
(Class "xp.compiler.Runner" could not be found)
This has been fixed and if you re-install the release everything will work as expected. Happy compiling!:-)



5.8.0-RELEASE: XP Compiler, Extension methods, Generics revamped, ...

at 2011-01-11 in ReleasesUnicodeAnnouncements5.8-SERIES by friebe

After almost one and a half years of development since the 5.8 branch was created and almost four months the active development branch, SVN trunk, was changed from 5.7 to 5.8, after six release candidates - we finally, and proudly present: XP 5.8, release zero:-)

The most noteable changes are the following:

  • The minimum required PHP version is 5.2.10
  • The XP Compiler is now part of the framework. It compiles XP Language to XP Framework classes and supports syntactically what the framework does with "tricks": Type-safe enums, anonymous classes, finally, to name just a few.
  • Not having the date.timezone setting configured will now yield a startup error. PHP behaves in undefined ways when working with dates in this situation! The installer takes care of detecting it from the operating system on setup.
  • Extension methods have been added - see here for an example
  • Generics have been reworked to support runtime reflection and primitive types, and thus behave more like the C# than like the Java implementation.
  • Reflection API can now access private and protected methods and fields using setAccessible() - regardless of the underlying PHP version!
  • Support for array and hash keys (key[], key[name]) in ini files
  • Several additions to the xml.meta API - showcased in the article Hudson and the xml.meta API
  • The new indexer access functionality, this()
  • Unicode forward compatibility in the io.streams classes TextWriter and TextReader

The complete changelog can be found here:
http://releases.xp-framework.net/xml/release?5.8.0

To test a Unicode-ready version og this release, you can grab and install UnicodeRC2 as follows:
  $ wget http://releases.xp-framework.net/setup/5.8.0~unicodeRC2 -O - | php -- -d ~/bin/
Enjoy!:-)



5.8.0RC6: Happy new year 2011!

at 2011-01-03 in ReleasesAnnouncements5.8-SERIES by friebe

This pre-release of the upcoming 5.8.0-RELEASE consists, compared to RC5 of lots of small parts of Unicode forward compatibility and various bugfixes, but also some enhancements:

  • The xml.Tree class will now inherit the XML parser's encoding
  • The unittest command now shows the time taken to run the testsuite
  • The util.Properties class now supports array and hash keys, e.g. class[]=util.Date or make[model]="EOS 350D"
  • Fixes to the xar command when alternate file names are used (e.g. manifest.ini=META-INF/manifest.ini)
  • The Process' class close() method now raises a special exception instead of a NPE caused by internal implementation details when called on processes retrieved by getByProcessId().
  • Injection, casting and factory support in the xml.meta API
  • Strings, Characters and BOM support for io.streams.TextWriter
  • A fluent interface to peer.http.FormRequestData
  • A new lang.RuntimeOptions::withClassPath() method
  • Feature additions to out Google custom search API implementation

You can grab a release as always by using our setup routine:
  $ cd ~/xp
$ wget http://releases.xp-framework.net/setup/5.8.0RC6 -O - | php -- -d ~/bin/



The new lang.Closeable interface and ARM blocks

at 2010-12-31 in LanguageExamples5.8-SERIES by friebe

The new lang.Closeable interface and the io.streams classes being retrofitted to implement it may not seem very useful on the first glance, although they serve the purpose of supporting the so-called ARM blocks. These are a feature supported by XP Language and reuse the try keyword:

  try ($expression[, $expression[, ...]]) {
// Statements
}

Any of the expressions are expected to be instanceof lang.Closeable and their close() methods are guaranteed to be called in the declaration order regardless of whether the block raises an exception or not.


(more)

5.8.0RC5: Feature completion

at 2010-11-22 in ReleasesAnnouncements5.8-SERIES by friebe

The XP group is proud to announce the immediate availabality of 5.8.0, release candidate #5. Since RC4, the following items have been added:

  • Checks for correct configuration of timezone have been added to the bootstrap mechanism
  • Compiler profiles - xcc -p {rad,default,strict,optimized,inlining}
  • The new lang.Closeable interface to work with ARM statements
  • Enhancements to the regex API: Replacing and lazy compilation
  • BOM detection in TextReader
  • ...and various more bugfixes and features

You can grab a release as always by using our setup routine:
  $ cd ~/xp
$ wget http://releases.xp-framework.net/setup/5.8.0RC5 -O - | php -- -d ~/bin/

...to give it a test run. Enjoy:-)



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