After more than three years of development, Agavi has finally reached the first 1.0 milestone: 1.0.0 beta 1 is out! Grab it now at http://agavi.org/
As you might already know, it’s fairly identical to the stable Agavi 0.11 series, which has been ready for production use for a long time now and enjoys widespread use across many sites already.
This new release introduces a new build system for projects, and features a new XML configuration subsystem that is even more flexible and ready for the future while maintaining full backwards compatibility. Several other minor enhancements are also listed below, but as usual, the RELEASE_NOTES and CHANGELOG files know it all. Please also pay special attention to the UPGRADING document which explains the changes to the configuration file formats (old configs will continue to work, however).
There will likely be another beta release before we enter the release candidates cycle as a couple of refactorings remain to be done, just like the new unit testing subsystem for applications. Note that use in production environments is not recommended at this time.
Also, I’m very happy to announce that a preview version of our new tutorial manual is up at http://agavi.org/docs/tutorial/. It covers the first couple of what’s going to be quite a number of chapters that explain the creation and improvement of the new official Agavi example application, which will also be used by other manuals, presentations and in trainings. Please have a look at it and let us know what you think; any sort of feedback is greatly appreciated!
But let’s talk about three important new features in 1.0:
- XML config subsystem with improved, namespace-aware handlers, support for multiple XML Schema (also using XML Schema Instance declarations), RELAX NG and Schematron validation runs in various stages of config parsing, support for XSL provided through external instructions and by <?xml-stylesheet?> processing instructions and convenient support for namespace versioning, which means we’ll have nice backwards-compatible configuration files in the future. Envelope and actual content of files are now separate, as described in the UPGRADING document.
- A completely new build system for creating and managing your projects. It features several wizards, as well as raw targets that work without interactive input. This allows extension and customization of build operations in your custom build.xml files. There’s also an event listener system you can hook into for even more flexibility.
- Execution containers now have a request method. This means you can embed, for example, a slot with a login form, with the request method forced to “read”, so that this Action would never run the login operation even if another form on the page was submitted through a POST request. This should reduce a lot of request method related pains people have experienced when building heavily componentized web sites.
The rest is mostly refactorings and minor enhancements as explained by RELEASE_NOTES, CHANGELOG and UPGRADING.
Please test this first release thoroughly with your projects and report any issues you find on the mailing lists or the bug tracker!
Thank you all for using Agavi, it’s an absolute pleasure to work with such a great user base!