Release History

VersionDateDescription
0.6 2005-09-27
0.5 2005-08-07
0.4 2004-09-05
0.3 2004-05-23
0.2 2004-05-22

Get the RSS feed of the last changes

Release 0.6 - 2005-09-27

TypeChangesBy
add Clirr now provides a SPI to represent the java code structure, the checks now work against this SPI. Clirr provides a SPI implementation that works on jar files, but other implementations can be used as well. For example, an IDE will typically already have an in-memory representation of the Java sources, so a Clirr IDE plugin could use that (via an adapter) and would not require a full compile before running Clirr. The API will most probably be in flux when Clirr adds support for Java 1.5 features like generics and varargs. lkuehne
fix Ant task: Class exclusion via apiclasses subelement was broken on Windows. lkuehne
fix CLI: Handling of multi-jar libraries in parameters -o and -n was broken on Windows. lkuehne
fix CLI: Allow specification of 3rd party jars via new options -ocp and -ncp. lkuehne
update Improved test coverage. lkuehne
update Improved startup time of commandline uberjar. lkuehne
fix Ant task now works with uberjar. lkuehne

Release 0.5 - 2005-08-07

TypeChangesBy
fix Avoid false alarms when package visible classes are removed. lkuehne
add Removed the ant.jar from the uberjar file, resulting in a much smaller distribution size. lkuehne
add The Ant task now allows to exclude classes from compatibility checks via the 'apiclasses' subelement. lkuehne
add Detect change of method final modifier. lkuehne

Release 0.4 - 2004-09-05

TypeChangesBy
add Improved change messages if field accessibility is weakened/strengthened. Thanks to skitching . lkuehne
add Detect 'pull up in class hierarchy' refactoring for methods. lkuehne
fix XML formatter did not write method and field attributes correctly. lkuehne
add Report on methods being deprecated or undeprecated. s_kitching
add Added a command-line interface, net.sf.clirr.cli.Clirr, for running checks and generating reports from the command-line. s_kitching
fix Removed abstract methods that are specified by an implemented interface are no longer reported as a compatibility problem. lkuehne
add Report on classes changing accessibility (top-level classes changing between public and package, or nested classes changing between any of public/protected/package/private). s_kitching
add It is no longer an error to add a "final" attribute to a class w hich has no public or protected constructors, as it was always impossible to derive subclasses from it anyway. s_kitching
add Clirr now analyses code changes for source code compatibility problems as well. Note: Ant task attribute names and the output format of the XML formatter have changed to support this feature. lkuehne
add Error messages are now localized. Initial supported languages are english and german. lkuehne
fix Treat all changes in package and private items as being of INFO level severity only, ie changes which would result in an ERROR being reported if they were public or protected are reported with a severity of INFO if they are package or private. s_kitching

Release 0.3 - 2004-05-23

TypeChangesBy
fix Fixed a copy + paste error in field modifier comparison logic that would lead to false alarms and undetected compatibility problems. Thanks to Stephen Colebourne . lkuehne
add Detect changes of field types. lkuehne
add Ant Task fails when filesets origFiles or newFiles are empty. Empty file sets are usually a setup problem - they should not create the impression that there are no compatibility problems, just because Clirr didn't report anything. lkuehne
fix Documented formatter subelements in Ant task. lkuehne
add Warn about compile time constant value ch anges. Changing the value of a constant is not binary incompatible (you won't get any Exception), but client code compiled against the old version of the library will have the old value inlined and continue to use that old value. See the Java Language Spec, Chapter 13.4.8, for details. lkuehne
add Warn about adding new superclasses to a class derived from java.lang.Throwable. Such changes are not binary incompatible (you won't get any Exception), but a different catch clause might get selected in client code. lkuehne

Release 0.2 - 2004-05-22

TypeChangesBy
add Initial public release. lkuehne