Even though it's been a while, AJT 2.8 was released with some more improvements.
LineIterator has become even more versatile. Added some more GUI widgets. Extended the tricks of FrequencyMap to make it more intelligent.
AJT 2.6 adds a peek method to the LineIterator class that allows you to look at the next line, but not yet consume it.
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.2 fixes a bug in the handling of TitledComponent, the component inside the border now properly expands in both directions.
AJT 2.1 adds transparent handling of GZIP files to the LineIterator class.
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.
AJT 1.26 fixes a number of bugs. All map derivatives should now have a more consistent implementation.
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.
This release of AJT makes a small change in the LineIterator class. None of the methods throw an exception now. The documentation also received some minor improvements.
Added the ClientHttpRequest class from Vlad Patryshev. This class helps to send POST HTTP requests with various form data, including files. Cookies can be added to be included in the request.