Luau is an attempt at breaking up the old-style of software updates - browsing web sites, checking freshmeat.net, subscribing to autoupdate services provided by individual distrbutors, etc. - by providing a decentralized approach to software distribution. In short, Luau allows individual software developers to simply (very simply) provide an outlet for disseminating updates (both in the form of software upgrades and text messages) to their userbase.
Taj Morton has kindly provided an XSL template for the Luau repository XML format. I've been quite busy lately and haven't had the time to incorporate it into the distribution itself, but for the time being, you can check it out for yourself on his web site. I have at least posted the XSL file itself on this server.
If you add the following line to the top of your repository XML file:
<?xml-stylesheet href="http://luau.sourceforge.net/luau.xsl" type="text/xsl"?>
then you should be able to view the repository XML file in any XML/XSLT supporting browser (such as Firefox) and get a nice visual representation of the data. (See, for example, the Luau repository file.)
This new release features another update to the Luau repository XML format. Specifically, the repository file now supports pre-definition of mirrors through the use of the <mirror-list> tag, so that one no longer needs to relist every mirror a file release is available on whenever a new software version is released. Mirror URLs can also be specified for a group of packages using the new "mirror-url" attribute with the new <package-group> tag. Other attributes, such as size, filename, package type, and MD5 sum can also be specified for several files at once using the <package-group> tag.
The changes in the XML format are reflected in the new Luau repository DTD (version 1.2).
In addition, many memory leaks and double free errors both in the Luau library but mostly in the console client 'luau' were fixed, so one should experience greater stability. The public API has not changed.
Happy new year! I apologize for the dearth in releases lately; hopefully development will ramp up once again in the weeks to come.
This is an incremental release, with just a few bug fixes and preliminary support for the coming updates to the XML format.
Specifically, systems without the GNU extension function get_current_dir_name now have a replacement function to support them. XML comments are now recognized and ignored. Finally, unrecognized XML tags now result in a debugging message rather than an error message.
The public API has not changed, so current Luau supporting software should not have to be modified to work with 0.1.8.
Luau 0.1.8 can be obtained from the project page.
In this release, the XML format has been updated once again (see the new DTD) to include meta-data about the program it describes. This allows luau-register (with the addition of the "--from-file" and "--from-url" options) to be fed in a Luau repository file and automatically register it with the Luau database.
The date format has also been updated to conform with the ISO-8601 format; that is, they are now specified as "YYYY-MM-DD" instead of "MM/DD/YYYY". Finally, the error output facility has been redesigned to work with GLib's error output framework, so that dealing with fatal errors is dealt with the "exception-model replacement" GError object and dealing with non-fatal warning messages are dealt with by g_log.
The public API has changed slightly from 0.1.6, so you will have to make some minor updates to any software using libuau. If you have any problems, feel free to email me at email@example.com or email the brand new luau-devel mailing list (see the Luau project page for details).
Luau-X has been modified to work with the new libuau 0.1.7 API, so don't install it until you've downloaded and installed Luau 0.1.7. It also features several incremental improvements to the user interface, such as revamping the update information dialog to make it more readable and disabling buttons when they are invalid.
Luau and Luau-X 0.1.7 can be obtained from the project page.
The Luau Whitepaper has been updated to reflect the changes in the XML format - many other outdated pieces have been removed and/or updated as well. As always, if you find any part of it confusing or even find any spelling/grammatical errors, please let me know.
The XML format has been reworked in this release to accomodate changes in the focus of the Luau project - specifically, to act more as a "software repository" than just and updates database. The new XML example file is available and a luau-repository DTD has been made to describe the new format.
Luau 0.1.6 can be obtained from the project page.
This release features new support for threading via the gthreads library (which is part of glib). This is under heavy testing, so if you have any problems with it, please report them. Also, this release has now separated the database support from the base library ("libuau") into a new library "libuau-db." The significance of this is that programs only relying on libuau will no longer have to depend also on libdb, which has some compatibility problems when distributing binaries. You also have the choice of only installing libuau and thus not installing any of the databases or database support, but this is not recommended. As always, there have also been many bugfixes.
The most significant change to Luau-X is to work with the new libuau/libuau-db API. It also takes advantage of the new threading support provided by Luau, making for a more responsive interface.
Luau and Luau-X 0.1.5 can be obtained from the SourceForge project page.
This release features a plethora of bug fixes and many feature updates in Luau. First, the database code has been revamped to allow local users to register their own programs and hide their own updates without needing write permissions to the global database. Also, the <valid> model has been revamped to allow not only release date comparisons but also validity testing based on: version, interface, and keywords. In that regard, Luau also now automatically hides updates for program versions older than the currently installed release, making the need to include a
<valid type="date" to="01/23/2003" /> tag for every update release (as described in the whitepaper) obsolete. There have been some minor tweaks to the XML software repository file as well — the md5 and size fields for the <package> tag are now optional, for instance.
On the other hand, the only major update to Luau-X has been to make it work with the minor adjustments made to the libuau API in 0.1.4. Only download it if you're downloading Luau 0.1.4 too.
Luau and Luau-X 0.1.4 can be obtained from the SourceForge project page.
The new version of Luau-X has been released, which is now compatible with the libuau 0.1.3 API - if you have not yet upgraded Luau, you will have to upgrade it to 0.1.3 before you can install this version of Luau-X. The most significant feature of this new release is a cleaned up interface, which you should find less cluttered and more straight-forward. As always, many bugs have also been fixed.
Luau-X 0.1.3 can be obtained from the SourceForge project page.
I have finally gone through and updated the Luau whitepaper to reflect the recent changes to both the updates file format and to the Luau console applications. The Programmer's Guide and Contributor's Guide have still yet to be written, and the file itself could use more updates in other places, but at least it's mostly up-to-date now.
While Luau 0.1.3 was released a couple days ago, Luau-x 0.1.3, the X front-end, is still in development. Since Luau 0.1.3 features a shift in the API, this means that Luau-x 0.1.2 will not compile correctly with it. If you want to use Luau-x, you'll have to either wait for the 0.1.3 release (which should occur in a few days), or install Luau 0.1.2 instead of 0.1.3.
Also note that if you're upgrading from 0.1.2, then Luau-x 0.1.2 should still function correctly even after installing the newest release of Luau. If it does not, please e-mail me and let me know.
This releases features new interoperability with Autopackage, a distribution-neutral packaging framework that is in the process of adopting Luau for use in automatic network retrieval of dependencies. Many of the new features in this release include: a) support for multiple mirrors for update packages, b) many new luau-register fields: short-name, full-name, description, etc., and c) support for "interfaces," used to figure out which software updates are compatible with which other software projects. The public interface has changed significantly, so any other applications using libuau will need to be changed accordingly. Finally, the documentation has been updated significantly for all the new API functions - as usual, it can be found online.
The Luau 0.1.3 release can be downloaded from the project page.
The format of the updates file has been changed for this release - it is now in XML, in order to allow quick XSLT transformations from other XML sources (such as the freshmeat.net project XML). The old style updates file is still supported with this version, but will soon be dropped — see updates.example.xml for an example of the new type. Also, the console client now supports an --email option, which means you can now get automatically notified through email when a new update becomes available. Finally, the graphical client now allows you to see the size of software packages before you actually download them. Many minor bugs have also been fixed.
The Luau 0.1.2 release can be downloaded at the Luau project page.
This release features vastly enhanced X and console front-ends. luau-x now allows you to see what programs have available updates from the main window (and also optionally to hide those that don't), while the console client now has a fully functional interactive mode. As always, a number of minor bug fixes have also been made.
The Luau 0.1.1 release can be had over at the olde project page.
This release is now fully functional. This means that package installation and program deletion (which weren't supported before) now work. Also some major and minor bugs have been fixed - specifically, downloaded files no longer get truncated, and luau-x no longer crashes when you try to view invalid/hidden updates (ouch!).
Mosey on over to the sourceforge.net project page to pick up the Luau 0.1.0 release.
This is the first public release. Enjoy, everyone! As soon as all the basic features are finished being implemented (installation and deletion in particular), 0.1.0 will be released.
As always, Luau 0.1.0pre2 can be downloaded at the sourceforge.net project page. (You'll probably want both the luau and luau-x packages, though only the former is necessary.)
This first release is not really a public release. There are still many things to be cleaned up, documented, and beautified. This release will act as the placeholder until pre2 is released, at which point a freshmeat announcement will be made.
Luau 0.1.0pre1 can be downloaded at the sourceforge.net project page.