Skip to content

typetools/checker-framework 3.53.0 release - #2198

Merged
wmdietl merged 4 commits into
masterfrom
typetools-3.53.0-fixes
Oct 2, 2026
Merged

wmdietl merged 4 commits into
masterfrom
typetools-3.53.0-fixes

Conversation

@wmdietl

@wmdietl wmdietl commented Oct 2, 2026 •

Copy link
Copy Markdown
Member

Brings the typetools Checker Framework 3.53.0 release into master. The import itself was reviewed and merged in #2197. Please merge this pull request with a merge commit, with the subject typetools/checker-framework 3.53.0 release (#2198) and an empty body, so that the typetools commits keep their authorship.

The 31 commits of 3.50.0 that the import of 3.50.0 (#2186) did not contain

I computed these by comparing the commits of 3.49.5..3.50.0 with the commits of #2186. They are in one commit here, because this pull request is merged without squashing: its message has the authors as Co-authored-by lines and says what has an effect. 28 of the 31 change nothing; the three with changes are below.

  • Empty, our tree is newer or has its own: the 17 dependency and plugin updates (Shadow 8.3.8 and 8.3.9, Spotless 7.1.0 to 7.2.1, Error Prone 2.40.0 and 2.41.0, Gradle 8.14.3, commons-io, classgraph, the AWS bom, gradle-git-properties, bnd, commons-lang3 in the Maven example), "Update the Shadow plugin", "Consolidate Java version checking" (EISOP has its own useJdkVersion scheme), "Run Compiler Messages Checker" (ours defines the check in framework and checker, the only modules with messages.properties), "Use new location for releasing to Maven central" (ours already uses the new URLs), "Don't try to install ruff or mypy" (our CI image has no ruff), "Remove extra repositories block", "Add comment to top-level Makefile", "Fix formal parameter type", the two release stamps ("Prep for next release", "new release 3.50.0"), and the two commits that were already present.
  • Applied: the typo fixes in the release README, "Update .gitignore file" (the union of our entries and typetools' new ones), and "Don't add allDataflowTests as a dependsOn to all test tasks". The last one means :dataflow:test no longer runs allDataflowTests; nonJunitTests and allTests still do, as in typetools.
  • Partly applied: "Fixes to the release scripts". Our reworked scripts already have most of it. I did not take the hunk that comments out ensure_group_access(DEV_SITE_DIR), which works around a problem on typetools' own server.

Other changes

  • Version catalog: adopts typetools' "Use version catalog" (imported only as an unused file in typetools/checker-framework 3.53.0 release #2197) with our versions. The versions of the plugins and libraries are in gradle/libs.versions.toml, and the build files refer to them as libs.*. This replaces the library versions in gradle.properties that were adopted from typetools' earlier commit. The names follow typetools' catalog; guava is the annotated Guava as in typetools, and the unannotated one is google-guava. The resolved dependencies of every subproject (334 lines, checked before and after) and the versions of all plugins do not change.
  • Markdownlint configuration: .markdownlint-cli2.yaml is restored; typetools removed it when it moved to pymarkdownlnt, and our Makefile still has the targets that read it.

Still open

  • Whether to adopt uv (typetools' Makefile runs ruff and ty through uvx, which our CI image does not have).
  • Making the Markdown files conform so that markdownlint-check can join style-check, and the python-typecheck target.
  • The annotated JDK: eisop/jdk pull requests Merge stores after expression statements #158 (README, master, JDK 17) and Store paths for artificial trees #159 (jdk-21: typetools/jdk up to 3.53.0 and master).

Tested: tasks --all, compileJava, compileTestJava, assembleForJavac, a zip/copyToWebsite dry run, and the full :dataflow:test, :dataflow:allDataflowTests, :framework:test and :checker:test suites pass on JDK 21; spotlessCheck, ruff, requireJavadoc and javadocDoclintAll (on changed lines) are clean. CI covers the rest.

🤖 Generated with Claude Code

Co-authored-by: Michael Ernst <[email protected]>
Co-authored-by: Suzanne Millstein <[email protected]>
Co-authored-by: Manu Sridharan <[email protected]>
Co-authored-by: Daniel Gao <[email protected]>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Copilot AI balanced review requested due to automatic review settings October 2, 2026 04:39

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

wmdietl and others added 3 commits October 2, 2026 00:40
…contain

The import of typetools/checker-framework 3.50.0 did not contain 31 of the
commits of 3.49.5..3.50.0.  Cherry-pick them, as one commit.  The changes that
this repository needs are:

* the typo fixes in the release README,
* the additions to .gitignore (the union of this repository's entries and
  typetools' new ones),
* removing the dependency of every Test task on allDataflowTests in
  dataflow/build.gradle, as in typetools (nonJunitTests and allTests still run it).

The other 28 commits have no effect here: they are dependency and plugin updates
where this repository's version is newer, typetools' JDK selection scheme, the
move of the Compiler Messages check to all projects, the Shadow plugin update,
the Maven Central URLs, ruff and mypy installation, and fixes that this
repository's reworked scripts already contain.  Of the "Fixes to the release
scripts", the hunk that comments out ensure_group_access(DEV_SITE_DIR) is not
taken; it works around a problem on typetools' server.

Co-authored-by: Michael Ernst <[email protected]>
Co-authored-by: Suzanne Millstein <[email protected]>
Co-authored-by: Damika-Anupama <[email protected]>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
Adopt typetools' "Use version catalog" with this repository's versions: the
versions of the plugins and libraries are in gradle/libs.versions.toml, and the
build files refer to them as libs.* and libs.plugins.*.  This replaces the
library versions in gradle.properties that were adopted from typetools' earlier
commit.  The catalog uses typetools' names where typetools has an entry, with
google-guava for the unannotated Guava, because typetools' guava is the
annotated one.  The resolved dependencies of every subproject and the versions
of the plugins do not change.

Co-authored-by: Suzanne Millstein <[email protected]>
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
typetools replaced markdownlint by pymarkdownlnt and removed
.markdownlint-cli2.yaml.  This repository's Makefile still has the
markdownlint-fix and markdownlint-check targets, which read that file, so
restore it as it was.  Whether to switch to pymarkdownlnt, and to enable the
check in style-check, is for a later change.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
@wmdietl
wmdietl force-pushed the typetools-3.53.0-fixes branch from e889845 to 3b11fae Compare October 2, 2026 04:40
@wmdietl
wmdietl merged commit 553dc0e into master Oct 2, 2026
48 checks passed
@wmdietl
wmdietl deleted the typetools-3.53.0-fixes branch October 2, 2026 05:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants