The Hero Dies in This One

Agavi 1.0.0 beta 1 released!

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!

My talk on Agavi at PHPLondon

Yesterday, I presented Agavi at the PHPLondon user group’s August meetup. At slightly over an hour, it was a bit long, but people asked a lot of questions afterwards, which I guess is always a good sign.

There is an audio recording of it, which I will combine with the slides to create a nice movie to watch. In the meantime, the slides can be found here (you can also download the original PDF there).

Update: video now available!

Agavi Talk in London on August 7, 2008

I’m giving a presentation on Agavi at the PHP London User Group meeting on 2008-08-07. Their wiki has all the details, but here’s the short version:

  • Upstairs at Theodore Bullfrog from 7pm onwards. Admission is free.
  • Talk is first, discussion afterwards
  • Several Agavi developers, contributors and users will be there to answer questions etc.

Looking forward to seeing you there!

Agavi 0.11.0 is out!

Finally, after a very long time, Agavi 0.11.0 is final. Here is the release announcement, here is the full changelog, and all the other details can be found on the website.