Prepared documentation for release 0.4
[AXE.git] / AXE.html
index b346dd4..770f5e1 100644 (file)
--- a/AXE.html
+++ b/AXE.html
@@ -24,9 +24,94 @@ and buttons.
 A few utility classes handle strings, times and dates.
 </p>
 
+<h2>Release notes for AXE 0.4</h2>
+<p>
+The latest release is 0.4.
+This release has the following features and fixes:
+
+<ul>
+<li>regex class:
+  <ul>
+  <li>Added a copy contructor. This prevents multiple frees in the destructor.</li>
+  </ul>
+</li>
+<li>Configuration class:
+ <ul>
+ <li>Added new arguments to find_parameter() to allow for a list of
+     sections and a list of parameters in sections.
+     The new arguments are section index and parameter index (default = 0).
+ </li>
+ <li>Do not read the config file in the home
+   directory if the HOME environment variable doesn't exist.
+ </li>
+ </ul>
+</li>
+<li>String class:
+<ul>
+ <li>Dynamically allocate more memory if the string buffer runs out of space.</li>
+ <li>Constructor and assignment from char * are more robust from NULL pointers.</li>
+</li>
+</ul>
+</p>
+
+<h2>Release notes for AXE 0.3</h2>
+<p>
+
+<ul>
+<li>Configuration class:
+<ul>
+ <li> Improved the XML library configuration.</li>
+ <li> Uses the XML2 library</li>
+ <li> Bug Fixes in configuration class: segfault when finding a parameters
+   that is not in the user-sepcific config tree.
+   Check if a configuration file exists before feeding it to the XML parser.</li>
+ <li> Bugfix: In configuration::find_parameter(), check if the parameter node exists
+   before retrieving its contents.</li>
+ <li> BUG FIX: testaxe crashed without a config file.</li>
+</ul>
+</li>
+<li>String class:
+<ul>
+ <li> New functions: String::escape(), String::unescape()</li>
+ <li> New feature: substring selection by regular expression, with
+      substring String::operator()(const regex &amp;r);</li>
+ <li> Bugfix: Reading a String object from an istream now checks for
+   end-of-file.</li>
+</ul>
+</li>
+
+<li>Date and time classes:
+<ul>
+ <li> Bugfix: conversion of an empty string to a date or hour object
+   now makes the values of such an object 0 (null) instead of giving
+   a segmentation fault.</li>
+ <li> The class UTC combines the date and hour classes. The most basic
+   functions of the UTC class are now implemented.
+   These include constructors and conversion to and from String objects.</li>
+ <li> New functions: date::proper(), hour::proper() and UTC::proper().
+   Return true if the object holds a proper clock time and/or calendar
+   date; false if at least one value is out of range.</li>
+ <li> date::format() is now properly implemented</li>
+ <li> New operator to read an 'hour' object from an istream:
+    istream &amp; operator &gt;&gt; (istream &amp;, hour &amp;)</li>
+ <li> New function 'String hour::format()'. The default format is HH:MM:SS
+   in 24 hour clock.</li>
+ <li> New function 'hour now()' read the current time of day.</li>
+</ul>
+</li>
+
+<li>Tests and demos:
+<ul>
+ <li> Reinstated the metronome demo</li>
+ <li> BUG FIX: acltest.cpp included the obsolete complex number test.</li>
+</ul>
+</li>
+</ul>
+
+</p>
 <h2>Download</h2>
 <p>
-You can download the <a href="AXE-0.2.tar.bz2">AXE tarball</a> which
+You can download the <a href="AXE-0.3.tar.bz2">AXE release 0.3 tarball</a> which
 contains the source and the (slghtly outdated) documentation.
 To get you started, read the <a href='tutorial.html'>tutorial</a>.
 </p>
@@ -34,9 +119,7 @@ To get you started, read the <a href='tutorial.html'>tutorial</a>.
 <h3>Patches</h3>
 
 <ul>
-<li><a href="AXE-patch-0.2.1.bz2">AXE-patch-0.2.1</a>: Minor config fixes</li>
-<li><a href="AXE-patch-0.2.2.bz2">AXE-patch-0.2.2</a>: Date and time formatting</li>
-<li><a href="AXE-patch-0.2.3.bz2">AXE-patch-0.2.3</a>: UTC class and substring by regular expression</li>
+<li><a href='AXE-patch-0.3.1.bz2'>Patch 0.3.1</a>: Bug fix in configuration class</li>
 </ul>
 
 <p>