Skip to content

Release 2.16.0 - #70

Merged
ghedwards merged 1 commit into
masterfrom
claude/release-2.16.0-final
Aug 14, 2026
Merged

Release 2.16.0#70
ghedwards merged 1 commit into
masterfrom
claude/release-2.16.0-final

Conversation

@ghedwards

Copy link
Copy Markdown

Moves the twelve version locations off SNAPSHOT. Nothing but version strings changes.

The first real release this repository has had

Every prior tag — 2.14.0-SNAPSHOT, 2.15.0-SNAPSHOT, 2.15.1-SNAPSHOT — was a SNAPSHOT. That is why the nexus-staging defect fixed in #58 survived since 2.5.4-snapshot: it only fires on a release version, and a release version had never run. The workflow's tag trigger has therefore never actually published anything.

So this release is also the first real exercise of that fix.

Verified at a release version

The case that previously failed on the parent pom with both library modules SKIPPED, run against a local file repository:

[INFO] --- deploy:3.1.2:deploy (default-deploy) @ cfparser ---
[INFO] --- deploy:3.1.2:deploy (default-deploy) @ cfml.dictionary ---
[INFO] --- deploy:3.1.2:deploy (default-deploy) @ cfml.parsing ---
[INFO] BUILD SUCCESS

producing all nine artifacts:

cfparser-2.16.0.pom
cfml.dictionary-2.16.0.jar   -sources.jar  -javadoc.jar  .pom
cfml.parsing-2.16.0.jar      -sources.jar  -javadoc.jar  .pom

That exercises #58 (deploy routes through maven-deploy-plugin) and #60 (sources and javadoc attach) together, at the version shape both were broken for. The parent pom is present, which CLAUDE.md flags as the artifact consumers resolving cfml.parsing cannot do without.

All twelve locations

Location How
4 poms mvn versions:set -DnewVersion=2.16.0
build.gradle, 2 × gradle.properties by hand
cfml.parsing/README.md, cfml.dictionary/README.md, root README.md replacer at prepare-package
cfml.cli/README.md, root README.md versions:set example by hand

grep reads 2.16.0 throughout and mvn package afterwards leaves the tree clean.

Verification

  • 326 tests, ./gradlew build
  • javap reports class file major version 65 (Java 21)
  • Both builds emit cfml.parsing-2.16.0.jar / cfml.dictionary-2.16.0.jar

After merging

Creating the GitHub release tagged 2.16.0 mints the tag, fires maven-publish.yml, and carries the notes. I cannot push tags from this environment — the egress proxy returns 403 on tag refs — so that step is yours.

Master should then move to 2.16.1-SNAPSHOT, and CFLint's two pins to 2.16.0. I can open both once the release is out.


Generated by Claude Code

Moves the twelve version locations off SNAPSHOT.

This is the first non-SNAPSHOT version this repository has ever published.
Every prior release -- 2.14.0, 2.15.0, 2.15.1 -- was tagged as a SNAPSHOT,
which is why the nexus-staging defect fixed in #58 went unnoticed for so long:
it only fires on a release version, and no release version had ever run.

Verified against a local file repository at this version, the case that used
to fail on the parent pom with both modules skipped:

  deploy:3.1.2:deploy (default-deploy) @ cfparser
  deploy:3.1.2:deploy (default-deploy) @ cfml.dictionary
  deploy:3.1.2:deploy (default-deploy) @ cfml.parsing

producing all nine artifacts -- the parent pom plus a jar, sources jar,
javadoc jar and pom for each module. That exercises #58 and #60 together.

326 tests, ./gradlew build, class file major version 65.
@ghedwards
ghedwards merged commit 78b45f0 into master Aug 14, 2026
3 checks passed
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