1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157
|
<?xml version="1.0" encoding="ISO-8859-1"?>
<document>
<properties>
<title>Changes</title>
<author>Lars Khne</author>
</properties>
<body>
<release version="0.6" date="2005-09-27">
<action dev="lkuehne" type="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.
</action>
<action dev="lkuehne" type="fix">
<!-- Bug #1267189-->
Ant task: Class exclusion via apiclasses subelement was broken on Windows.
</action>
<action dev="lkuehne" type="fix">
CLI: Handling of multi-jar libraries in parameters -o and -n was broken on Windows.
</action>
<action dev="lkuehne" type="fix">
<!-- Bug #1284303-->
CLI: Allow specification of 3rd party jars via new options -ocp and -ncp.
</action>
<action dev="lkuehne" type="update">
Improved test coverage.
</action>
<action dev="lkuehne" type="update">
<!-- rfe #1283314, now using javaapp plugin instead of uberjar plugin -->
Improved startup time of commandline uberjar.
</action>
<action dev="lkuehne" type="fix">
<!-- rfe #1022920, now using javaapp plugin instead of uberjar plugin -->
Ant task now works with uberjar.
</action>
</release>
<release version="0.5" date="2005-08-07">
<action dev="lkuehne" type="fix">
Avoid false alarms when package visible classes are removed.
</action>
<action dev="lkuehne" type="add">
Removed the ant.jar from the uberjar file, resulting in
a much smaller distribution size.
</action>
<action dev="lkuehne" type="add">
The Ant task now allows to exclude classes from compatibility checks
via the 'apiclasses' subelement.
</action>
<action dev="lkuehne" type="add">
<!-- RFE #1241245-->
Detect change of method final modifier.
</action>
</release>
<release version="0.4" date="2004-09-05">
<action dev="lkuehne" type="add" due-to="skitching">
Improved change messages if field accessibility is weakened/strengthened.
</action>
<action dev="lkuehne" type="add">
<!-- RFE #961227-->
Detect 'pull up in class hierarchy' refactoring for methods.
</action>
<action dev="lkuehne" type="fix">
XML formatter did not write method and field attributes
correctly.
</action>
<action dev="s_kitching" type="add">
Report on methods being deprecated or undeprecated.
</action>
<action dev="s_kitching" type="add">
Added a command-line interface, net.sf.clirr.cli.Clirr,
for running checks and generating reports from the
command-line.
</action>
<action dev="lkuehne" type="fix">
<!-- RFE #961229-->
Removed abstract methods that are specified by an implemented interface
are no longer reported as a compatibility problem.
</action>
<action dev="s_kitching" type="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).
</action>
<action dev="s_kitching" type="add">
It is no longer an error to add a "final" attribute to a class
which has no public or protected constructors, as it was always
impossible to derive subclasses from it anyway.
</action>
<action dev="lkuehne" type="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.
</action>
<action dev="lkuehne" type="add">
Error messages are now localized. Initial supported languages are english and german.
</action>
<action dev="s_kitching" type="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.
</action>
</release>
<release version="0.3" date="2004-05-23">
<action dev="lkuehne" due-to="Stephen Colebourne" type="fix">
Fixed a copy + paste error in field modifier comparison logic
that would lead to false alarms and undetected compatibility
problems.
</action>
<action dev="lkuehne" type="add">
<!-- RFE #958810 -->
Detect changes of field types.
</action>
<action dev="lkuehne" type="add">
<!-- RFE #958808 -->
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.
</action>
<action dev="lkuehne" type="fix">
<!-- RFE #958807 -->
Documented formatter subelements in Ant task.
</action>
<action dev="lkuehne" type="add">
<!-- RFE #958808 -->
Warn about compile time constant value changes. 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.
</action>
<action dev="lkuehne" type="add">
<!-- RFE #958809 -->
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.
</action>
</release>
<release version="0.2" date="2004-05-22">
<action dev="lkuehne" type="add">
Initial public release.
</action>
</release>
</body>
</document>
|