1.54 2/10/99
1. Fixed spin-loop (polling) bug in Ace::Local. Should no longer
consume 99% of CPU time while waiting for tace to answer a long query.
2. Fixed bug in get() and at() in which tags got duplicated because
of capitalization variations.
1.53 1/23/99
1. Bug fix in Ace::find function. Was causing a crash.
1.52 1/21/99
1. Fixed bad bug in the kill method which caused objects
to be removed from the database seemingly randomly.
2. Optimized tag searching to improve performance when
navigating objects.
3. Better error message reporting when objects do not contain
a desired tag.
1.51 12/14/98
1. Comparison between objects now is more sensible:
"eq" performs a string comparison on object names
"==" performs an object comparison. Two objects are
identical iff their names, classes and databases are identical
2. Fixed bugs involving names containing "*" and "?" characters.
3. Added the -long option to grep.
4. Added the -display option to asGIF()
5. The follow() method now follows a tag into the database.
1.50 10/28.98
1. THE SEMANTICS OF AUTOGENERATED FUNCTIONS HAS CHANGED. THEY NOW
ALWAYS DEREFERENCE THE TAG AND FETCH AN OBJECT FROM THE DATABASE.
2. Added the Ace::put() function to the Ace object, allowing you to move
objects from one database to another.
3. Added Ace::Object::add_row() and add_tree() functions, making it easier to build
up objects from scratch, or to mix and match objects from different databases.
4. Added Ace::parse() and parse_file() methods, for creating objects from .ace files.
5. Removed nulls from error strings.
1.47-49 Internal releases
1.46 1. Fixed nasty bug in which newlines appeared as "n" in text
fields.
1.45. 1. Fixed problems with autogeneration
2. Added the format() routine 3. Added the model() methods and
Ace::Model class
1.44 1. Added the auto_save() routine to the API
2. Fixed problem of hanging tace processes after quitting local sessions
3. Fixed problem with creation of new objects in local
sessions.
1.43 1. Moved the unescape routine into the C level for performance reasons.
2. Should now escape \? correctly and handle most protection issues.
1.42 1. Numerous small bug fixes
1.41 1. Fixed problem with truncation of trees at zero values
2. Fixed implementation of updating wrt new aceservers
1.46 1. Fixed nasty replacement of newlines by "n" characters in text fields.
1.45 Internal release only.
1.44 1. Added the auto_save() routine to the API
2. Fixed problem of hanging tace processes after quitting local sessions
3. Fixed problem with creation of new objects in local sessions.
1.43 1. Moved the unescape routine into the C level for performance reasons.
2. Should now escape \? correctly and handle most protection issues.
1.42 1. Numerous small bug fixes
1.41 1. Fixed problem with truncation of trees at zero values
2. Fixed implementation of updating wrt new aceservers
1.40 Internal version, never released
1.39 1. Workaround for problem with dropped date fields
1.38 1. list() is now deprecated. Use fetch() instead
2. grep() method added
3. -total parameter added to fetch() grep() and find()
4. ace.pl added to exampe directory
5. new patch file adds a few essential bug fixes to ace 4_5e.
6. asGIF() method is now documented
7. updated patchfile to include "phoenix effect" aceserver bug
1.37 1. Added timestamp and comment handling.
2. Added -filled and -chunksize arguments to fetch_many().
3. Quashed a bug in list(-filled).
4. More regression tests.
1.36 6/6/98 Substantial API changes:
1. row() now returns everything to the right of the current object INCLUSIVE
of the object. Calling row() in a scalar context returns the size of the
array, not the first member of the array.
2. col() now takes an optional numeric argument indicating how far to the
right in the tree to go. Specifically col(2) implements tag[2] semantics.
3. search() now takes an optional numeric argument indicating how
far to the right in the tree to go before retrieving the column.
Specifically, search($tag,2) implements tag[2] semantics.
4. automatically-generated methods (such as Homol) now take an optional
numeric argument that is passed to search. $obj->Homol(2) implements
tag[2] semantics.
5. fetch() now takes an optional tag argument which will be followed
prior to fetching from the database. $obj->fetch('Laboratory') will
return the Laboratory object.
6. tace can be used to access local databases, by passing a -path
argument to the Ace::connect() method.
7. dates are displayed in Java style (3 March 1998 hh:mm:ss) by
default. This can be altered with a call to Ace::date_style().
8. Default port has changed to 23456
1.34 5/20/98 Fixed bug in Ace.xs caused by 1.33 change! Only some objects
were retrieved by fetch().
1.33 5/19/98 Fixed bug in Ace.xs that caused client to crash on "quit" query.
1.01 3/20/98 Fixed bug in _appendToTable() routine that caused asHTML to hang.
1.00 2/25/98 First released version