Skip to content

Releases: typetools/checker-framework

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.

Checker Framework 2.1.9

01 Mar 21:10
Compare
Choose a tag to compare

Version 2.1.9, 1 March 2017

By default, uninferred method type arguments, which can happen with Java 8 style target type contexts, are silently ignored, removing many false positives. The new option -AconservativeUninferredTypeArguments can be used to get the conservative behavior.

Closed issues:
1006, 1011, 1015, 1027, 1035, 1036, 1037, 1039, 1043, 1046, 1049, 1053, 1072, 1084.

Checker Framework 2.1.8

23 Jan 21:20
Compare
Choose a tag to compare

Version 2.1.8, 20 January 2017

The Checker Framework webpage has moved to https://checkerframework.org/. Old URLs should redirect to the new one, but please update your links and let us know if any old links are broken rather than redirecting.

The documentation has been reorganized in the Checker Framework repository. The manual, tutorial, and webpages now appear under checker-framework/docs/.

Closed issues:
770, 1003, 1012.

Checker Framework 2.1.7

03 Jan 20:16
Compare
Choose a tag to compare

Version 2.1.7, 3 January 2017

Manual improvements:

  • Added a link to jOOQ's SQL checker.
  • Documented the -AprintVerboseGenerics command-line option.
  • Better explanation of relationship between Fake Enum and Subtyping Checkers.

Closed issues:
154, 322, 402, 404, 433, 531, 578, 720, 795, 916, 953, 973, 974, 975, 976, 980, 988, 1000.

Checker Framework 2.1.6

01 Dec 19:56
Compare
Choose a tag to compare

Version 2.1.6, 1 December 2016

Closed issues:
412, 475.