<content>

> <rul> <eval><rli>
> &_.name;
>   &_.contents:none;
> </rli></eval> Configuration variables are now widgets in their own right, and it is easy for module developers to develop their own type of variables. The fonts are now loaded by plugins, it's relatively easy to add new font formats to roxen.

> The currently supported formats are:

> Compatibility bitmap fonts
>   The old font format, one file per font, uncompressed 8bpl bitmaps
> TTF fonts
>   TrueType fonts, using freetype
> Image directory
>   A directory with a file 'fontname' and one image per character. The images can use any format Roxen knows.
> Image TAR file
>   Just like an image directory, but in a TAR file
> Compact Image File
>   Basically just like the image tar format, but more optimal. There is 8 bytes overhead per character, and 68 bytes header.
> - <?pike ... ?> XML compliant processing instruction for pike-code.
> - //X text-here parses the text as if it was RXML.
> - //O text-here returns the text as if it was HTML.
> - scope.variable is handled like &scope.variable; in RXML.
> - #inherit will inherit a file from the roxen filesystem, and #include will include one.
> - The magic with parse() functions and whatnot is removed.
> Small example:

>     <?pike

>      //O <pre>
>      int first = 1;
>      for( var.counter=100; var.counter>1; var.counter--,first=0 )
>      {
>        if( !first )
>        {
>          //X &var.counter; bottles of beer on the wall
>          //O
>        }
>        //X &var.counter; bottles of beer on the wall
>        //X &var.counter; bottles of beer
>        //O take one down, pass it around
>      }
>      //O one bottle of beer on the wall
>      //O one bottle of beer
>      //O take it down, pass it around
>      //O no bottles of beer on the wall
>      //O </pre>

>     ?>

> A module for embedded perl.
> <?perl ... ?> and <perl></perl> in RXML pages.
> .pl pages for CGI-like interface that is much faster than CGI. <?... ?> tags can now be registered. Completely new locale/translation system with XML-based language files (in server/translations).
> - <wash-html>...</wash-html> do some common text->html tasks.
> - <?comment ..... ?>
> - <if sizeof=.../>
> - <sprintf [split=separator] format=...>values,...</sprintf>
> - <sscanf variables=a,b,... format=...>data</sscanf>
> - <dice type='3D6+D4'>
> - <fsize> now prints the size in a somwhat less user-unfriendly way.
> - <gbutton> can now have images above or below the text (for toolbar style images).
> - <cimg> checks mtime on the source file (if any).
> - <date strftime=format>
> - <vform>, with which you can create self-verified forms. Uses the same widgets as the configuration variables.
> - File extension servlets added, as an example, for .jsp pages.
> - Better classpath handling.
> - The Directory module now uses a template and normal RXML (using emit sources directory and path) to generate the lists.
> - The directory and path emit sources can also be used to generate other directory lists, such as image listings with thumbnails.
> - New sources
>   - fonts - A list of all fonts available.
>   - directory - Directory listings.
>   - path - Separate a path on '/'.
>   - values - Traverse a list, e.g. the response from a multivalue select.
>   - cimg - Like the <cimg> tag, but entity based. Includes &_.type;, &_.src;, &_.file-size;, &_.xsize;, &_.ysize; and &_.data;
>   - ldap - LDAP search query.
> - Emit can now sort the result.
> - You can now select a sub-range of the result.
> - remainderinfo=variablename (number of lines after current selected range).
> - The module is greatly optimized. For a 100Kb file it went from 112 to 640 req/seconds.
> - There is now a memory cache that can be used to optimize the server. For a 10Kb file, the performance went from 240 to 1490 req/second. The cache can be configured on the Settings page for each Site.
> </rul>

</content>