Skip to content

Releases: typetools/checker-framework

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.

Checker Framework 2.1.13

03 Jul 18:35
Compare
Choose a tag to compare

Version 2.1.13, 3 July 2017

Verified that the Checker Framework builds from source on Windows Subsystem for Linux, on Windows 10 Creators Edition.

The manual explains how to configure Android projects that use Android Studio 3.0 and Android Gradle Plugin 3.0.0, which support type annotations.

Closed issues:
146, 1264, 1275, 1290, 1303, 1308, 1310, 1312, 1313, 1315, 1323, 1324, 1331, 1332, 1333, 1334, 1347, 1357, 1372.

Checker Framework 2.1.12

01 Jun 21:08
Compare
Choose a tag to compare

Version 2.1.12, 1 June 2017

The manual links to Glacier, a class immutability checker.

The stubparser license has been updated. You can now use stubparser under either the LGPL or the Apache license, whichever you prefer.

Closed issues:
254, 1201, 1229, 1236, 1239, 1240, 1257, 1265, 1270, 1271, 1272, 1274, 1288, 1291, 1299, 1304, 1305.

Checker Framework 2.1.11

01 May 22:46
Compare
Choose a tag to compare

Version 2.1.11, 1 May 2017

The manual contains new FAQ (frequently asked questions) sections about false positive warnings and about inference for field types.

Closed issues:
989, 1096, 1136, 1228.

Checker Framework 2.1.10

03 Apr 21:59
Compare
Choose a tag to compare

Version 2.1.10, 3 April 2017

The Constant Value Checker, which performs constant propagation, has been extended to perform interval analysis -- that is, it determines, for each expression, a statically-known lower and upper bound. Use the new @IntRange annotation to express this. Thanks to Jiasen (Jason) Xu for this feature.

Closed issues:
134, 216, 227, 307, 334, 437, 445, 718, 1044, 1045, 1051, 1052, 1054, 1055, 1059, 1077, 1087, 1102, 1108, 1110, 1111, 1120, 1124, 1127, 1132.