Skip to content

Releases: typetools/checker-framework

Checker Framework 2.5.1

01 May 21:13
Compare
Choose a tag to compare

Version 2.5.1, May 1, 2018

Added a Maven artifact of the Checker Framework testing library, testlib.

Closed issues:

849, 1739, 1838, 1847, 1890, 1901, 1911, 1912, 1913, 1934, 1936, 1941, 1942, 1945, 1946, 1948, 1949, 1952, 1953, 1956, 1958.

Checker Framework 2.5.0

02 Apr 18:00
Compare
Choose a tag to compare

Version 2.5.0, April 2, 2018

Declaration annotations that are aliases for type annotations are now treated as if they apply to the top-level type. See "Declaration annotations" section in the "Warnings" chapter in the manual for more details.

Ended support for annotations in comments. See "Migrating away from annotations in comments" section in the "Handling legacy code" chapter in the manual for instructions on how to remove annotations from comments.

Closed issues:

515, 1667, 1739, 1776, 1819, 1863, 1864, 1865, 1866, 1867, 1870, 1876, 1879, 1882, 1898, 1903, 1905, 1906, 1910, 1914, 1915, 1920.

Checker Framework 2.4.0

01 Mar 19:16
Compare
Choose a tag to compare

Version 2.4.0, March 1, 2018

Added the Index Checker, which eliminates ArrayIndexOutOfBoundsException.

Added the Optional Checker, which verifies uses of Java 8's Optional class.

Removed the Linear Checker, whose implementation was inconsistent with its
documentation.

Added a @QualifierArgument annotation to be used on pre- and postcondition annotations created by @PreconditionAnnotation, @PostconditionAnnotation, and @ConditionalPostconditionAnnotation. This allows qualifiers with arguments to be used in pre- and postconditions.

Added new type @InternalFormForNonArray to the Signature Checker

Moved annotated libraries from checker/lib/*.jar to the Central Repository:
https://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.checkerframework.annotatedlib%22

Moved the Javadoc stub file from checker/lib/javadoc.astub to
checker/resources/javadoc.astub.

Simplified the instructions for running the Checker Framework with Gradle.

The Checker Framework Eclipse plugin is no longer released nor supported.

Closed issues:

65, 66, 100, 108, 175, 184, 190, 194, 209, 239, 260, 270, 274, 293, 302, 303, 306, 321, 325, 341, 356, 360, 361, 371, 383, 385, 391, 397, 398, 410, 423, 424, 431, 430, 432, 548, 1131, 1148, 1213, 1455, 1504, 1642, 1685, 1770, 1796, 1797, 1801, 1809, 1810, 1815, 1817, 1818, 1823, 1831, 1837, 1839, 1850, 1851, 1852, 1861.

Checker Framework 2.3.2

01 Feb 19:40
Compare
Choose a tag to compare

Version 2.3.2, February 1, 2018

Closed issues:

946, 1133, 1232, 1319, 1625, 1633, 1696, 1709, 1712, 1734, 1738, 1749, 1754, 1760, 1761, 1768, 1769, 1781.

Checker Framework 2.3.1

02 Jan 21:05
Compare
Choose a tag to compare

Version 2.3.1, January 2, 2018

Closed issues:
1695, 1696, 1697, 1698, 1705, 1708, 1711, 1714, 1715, 1724.

Checker Framework 2.3.0

01 Dec 21:48
Compare
Choose a tag to compare

Version 2.3.0, December 1, 2017

Removed the deprecated @LazyNonNull type qualifier.
Deprecated most methods in InternalUtils and moved them to either TreeUtils or TypesUtils. Adapted a few method names and parameter orders for consistency.

Closed issues:
951, 1356, 1495, 1602, 1605, 1623, 1628, 1636, 1641, 1653, 1655, 1664, 1665, 1681, 1684, 1688, 1690.

Checker Framework 2.2.2

02 Nov 18:21
Compare
Choose a tag to compare

Version 2.2.2, November 2, 2017

The Interning Checker supports a new annotation, @InternedDistinct, which indicates that the value is not equals() to any other value.

An annotated version of the Commons IO library appears in checker/lib/ .

Closed issue 1586, which required re-opening issues 293 and 341 until proper fixes for those are implemented.

Closed issues:
1386, 1389, 1423, 1520, 1529, 1530, 1531, 1546, 1553, 1555, 1565, 1570, 1579, 1580, 1582, 1585, 1586, 1587, 1598, 1609, 1615, 1617.

Checker Framework 2.2.1

29 Sep 17:28
Compare
Choose a tag to compare

Version 2.2.1, September 29, 2017

Deprecated some methods in AnnotatedTypeMirror and AnnotationUtils, to be removed after the 2.2.1 release.

The qualifiers and utility classes in checker-qual.jar are compiled to Java 8 byte code. A new jar, checker-qual7.jar, includes the qualifiers and utility classes compiled to Java 7 byte code.

Closed issues:
724, 1431, 1442, 1459, 1464, 1482, 1496, 1499, 1500, 1506, 1507, 1510, 1512, 1522, 1526, 1528, 1532, 1535, 1542, 1543.

Checker Framework 2.2.0

06 Sep 16:37
Compare
Choose a tag to compare

Version 2.2.0, September 5, 2017

A Java 8 JVM is required to run the Checker Framework. You can still typecheck and compile Java 7 (or earlier) code. With the "-target 7" flag, the resulting .class files still run with JDK 7.

The stub file format has changed to be more similar to regular Java syntax. Most notably, receiver annotations are written using standard Java 8 syntax (a special first formal paramter named "this") and inner classes are written using standard Java syntax (rather than at the top level using a name that contains "$". You need to update your stub files to conform to the new syntax.

Closed issues:
220, 293, 297, 341, 375, 407, 536, 571, 798, 867, 1180, 1214, 1218, 1371, 1411, 1427, 1428, 1435, 1438, 1450, 1456, 1460, 1466, 1473, 1474.

Checker Framework 2.1.14

03 Aug 18:24
Compare
Choose a tag to compare

Version 2.1.14, 3 August 2017

Nullness Checker change to annotated JDK: The type argument to the Class, Constructor, and Optional classes may now be annotated as @nullable or @nonnull. The nullness of the type argument doesn't matter, but this enables easier integration with generic clients.

Many crashes and false positives associated with uninferred method type arguments have been correct. By default, uninferred method type arguments, which can happen with Java 8 style target type contexts, are silently ignored. Use the option -AconservativeUninferredTypeArguments to see warnings about method calls where the Checker Framework fails to infer type arguments.

Closed issues:
753, 804, 961, 1032, 1062, 1066, 1098, 1209, 1280, 1316, 1329, 1355, 1365, 1366, 1367, 1377, 1379, 1382, 1384, 1397, 1398, 1399, 1402, 1404, 1406, 1407.