Changes for version 1.0.1 (Released 2008-12-1)
- Added ClassAd functions from old classads: ifThenElse(), regexps(), and
interval().
- Fixed some minor compilation problems under OS X 10.5.
- Source files renamed to conform to scheme for rest of condor source
(.C --> .cpp).
Changes for version 1.0rc5 (Released 2008-03-17)
* The WANT_NAMESPACES define is now WANT_CLASSAD_NAMESPACE
* New warning flags were added to the distribution build
- A number of minor changes were made to eliminate warnings
+ shadowed variables, possible uninitialized variables
* Fixed an apparent leak (valgrind found) in attrref.C:426, leaking attrRef
* Updated the build_external script for building as a Condor external
* Updated classads.spec to be Fedora compliant
* configure.ac now removes all rpath junk from libtool
- a side-effect is the need to set LD_LIBRARY_PATH=.libs
if you want to run the compiled programs before they are installed
* memory leak in fnCall.C:regex_helper fixed (PCRE only issue)
* Fixed printing of escaped characters in strings when printing in old-classad
mode.
* Fixed evaluation of attribute reference applied to lists.
Changes for version 1.0rc1
* Build now uses autotools, and has the following changes:
- The --lib-name option no longer exists
- The SWIG interface isn't compiled (previously it was never
installed)
- The --prefix
option is now --prefix=DIR
- The --use-pcre option is now --with-pcre=DIR
- The --use-stlport option no longer exists
- The --use-explicit-templates option is now
--enable-explicit-templates, and really should not be used
- configure no longer creates a classad_features.h
- The --enable-shlib option has been removed, it is compiled
whenever available. Also, the _sh suffix is no longer used
- configure detects DLOPEN and will not compile shlib if it is not
available
- Note: Makefile.am should not be edited, edit Makefile.am.m4
instead
* Header files are now installed in a classad/ directory, either
#include or add an appropriate -I to your build
* All ClassAd structures/classes are now placed in the "classad"
namespace if namespaces are requested
Changes for version 0.9.9: (released 15-Jun-2007)
* Fixed a crash when a ClassAd has more than one attribute and an
attribute other than the first has an && with no second expression.
* ClassAds with multiple semicolons in a row used to cause a parse
error because an empty expression was not allowed. They are now
allowed.
Changes for version 0.9.8: (released 14-Jun-2006)
* The build now uses implicit template instantiation by
default. Explicit template instantiation is still available by providing the
--use-explicit-templates option to configure.
* Added support for compiling with stlport (known to work with stlport5.0RC6).
* Added SWIG interface for Perl.
* Fixed segmentation fault that occured when evaluating lists that are
not within a ClassAd.
* Added a ClassAdCollection::GetView() function. In combination with
the existing view iterators, you can now iterate over an entire
view, including the "root" view.
* Some missing "virtual" keywords were added for virtual destructors
* A bunch of -Wuninitialized warnings were corrected.
* regexprMember has been added.
* The subscript operator now returns error instead of undefined if the
argument is out of bounds.
* -0.0 is now handled correctly.
* You can now do math with booleans. True is 1, False is 0. This lets
us do things like:
Rank = ((other.mips > 4000)*3) + ((other.ram > 1000)*2) +
(other.disk>1400)
This is frequently done in Condor, and we need this functionality in
order to be backwards compatible.
Changes for version 0.9.7: (released 28-Oct-2004)
* The ClassAd tarball (and corresponding directory within the tarball)
that is downloaded has changed it's format from
classads_.tar.gz to classads-version.tar.gz. This allows
the ClassAd library to be used more easily in Condor--I hope it
doesn't cause anyone problems.
* The name of the classad library now depends on the compile time
options. There are four possible names:
Name | Classad Namespace? | Shared Library Functions?
-------------------+--------------------+---------------------------
libclassad.a | No | No
libclassad_ns.a | Yes | No
libclassad_sh.a | No | YES
libclassad_sh_ns.a | Yes | Yes
If you don't want these names, you can use the --libname argument to
configure. To get the old behavior, you would have:
configure --lib-name libclassad.a
* We are gradually improving the C++ API documentation. Early results
can be seen at:
http://www.cs.wisc.edu/condor/classad/c++doc/
* The ClassAd library now defines a CLASSAD_EXCEPT macro instead of
using EXCEPT. This avoids a conflict with Condor.
Changes for version 0.9.6: (released 07-Oct-2004)
* Can optionally use PCRE for the regexp() ClassAd function. On Unix,
specify --use-pcre . We have tested with PCRE 4.5 and 5.0.
* Added ClassAd functions: splitTime(), formatTime(), and random()
* Added ClassAd functions strcmp() and stricmp().
* Renamed the little used function isMember to identicalMember().
* Fixed bugs in the internal representation of times.
* Added classad_functional_tester, which is a significantly better
than the old test_classads.
* Added classad_unit_tester, which does lower-level tests than
classad_functional_tester. This test program is incomplete, but well
on its way.
* Remove test_classads.
* Added classad_version program, which reports the version.
* Fixed bugs in ExprList that were exposed by classad_unit_tester
* Fixed ClassAd functions real() and string() to work correctly.
* Fixed bugs in XML parsing.
* Fixed a bug where the parser would choke on any input ending in a quotation
mark because the lexer wasn't consuming the entire string token.
* Fixed a bug where the lexer would choke on any string ending in a backslash.
Now it will only choke if the string ends in an odd number of backslashes.
* Fixed bug that sometimes caused Flatten() to return an expression
with a bad pointer.
* operator<<() now takes any ExprTree instead of just a ClassAd.
* Fixed a bug in the configure script that caused inappropriate
parsing of arguments.
* Fixed numerous little bugs.
Changes for version 0.9.5:
* Fixed a bug in printing parenthesized expressions with minimal
parentheses. (It used to print garbage in some cases.)
* Identifiers can be quoted with almost anything between the
quotes. This means you can have a ClassAd like:
[
A = 3;
'B' = 4;
'C&* X"' = 5;
]
Unquoted identifiers must still begin with an alphabetic character or
underscore and be followed by alpanumeric characters or underscores.
* Time representation has changed. Absolute times are represented in
ISO8601 format. Absolute and relative times looks like function
calls now:
[
birthday = abstime("1972-02-23:08:04:13-0600");
jobtime = reltime("2+13:15:36");
]
The relative time is days + hours : minutes : seconds. See the
online manual for more details.
* The XML output is different in the following ways:
- The (number) tag has been replaced by (integer) and
(real) tags. Real numbers are always represented as described
below.
- is now absolute time, and