AJT 2.5 adds new functionality to the TimeInterval class, implements a NullStream to simulate /dev/null, adds a LRUCache implementation, fixed a comment identifier bug in LineIterator, adds a new toolkit to work with Sets and fixes a bug in ExtensionManager with respect to upper case extensions.
AJT 2.0 is a restructured version of AJT 1.26. All code that is GPL contaminated is removed. Starting with release 2.0, AJT will be released under the LGPL 3 license. The only things that has been removed because it did not fit the new license is EPSGraphics support. The LGPL provides more freedom to use the library, which is more important.
The AJT 1.25 release brings a number of new convenient Map derivatives. A two dimensional default value HashMap was added, a generic two dimensional contingency table was added as extension of this 2D default value HashMap. And we improved the implementations of the existing map extensions to be more consistent. Finally we also added a tool class to serialize and deserialize objects.