Skip to content

Release 1.5.15 - #64

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

ghedwards merged 1 commit into
masterfrom
claude/release-1.5.15

Conversation

@ghedwards

Copy link
Copy Markdown
Collaborator

Moves the two version locations off SNAPSHOT.

Why now

1.5.14, the last release, pins cfparser 2.15.0-SNAPSHOT — a parser from March. Everything fixed since exists only on master, so anyone using a released CFLint still hits the reported behaviour in #50 and #52 despite both being closed.

This release carries cfparser 2.16.0, which fixes them:

#52 Arrow functions build a real AST. Previously (a, b) => a + b produced the identifier chain a.ba + b, which derailed the walk and silenced every rule in the file.
#50 Component-level static x = 1; no longer throws NullPointerException, which used to abort the whole file — PARSE_ERROR, no results.
#50 Access modifiers accepted inside a static { } block, and the block is no longer discarded from the AST.
#50 :: and ?. survive decompile instead of collapsing to .. a?.b becoming a.b changed meaning — one yields null where the other throws.

Also inherited: array slicing, instanceOf, script-syntax tags, Lucee extensions, inline component definitions, corrected cfproperty/cfparam attribute sets, and elvis-operator precedence.

Verified against the released parser

#52 re-checked with a clean build resolving cfml.parsing:2.16.0 — the reporter's exact component, with and without the arrow function:

findings: 18 vs 18, identical apart from the component's own name
MISSING_VAR / ARG_VAR_CONFLICT / AVOID_USING_STRUCTNEW all present
  • 675 tests under Maven and Gradle
  • mvn deploy against a local file repository routes through maven-deploy-plugin and produces cflint-1.5.15.jar, cflint-1.5.15-all.jar and the pom

Publishing

publish.yml fires on release: created, and since #57 also on workflow_dispatch. Unlike cfparser's 2.16.0, nothing has been published at 1.5.15, so there is no duplicate-publish hazard either way.

nexus-staging sits inside the deploy profile here rather than the main build, so it does not hijack the deploy phase — release publishing on this side already works, as 1.5.14 demonstrated.

Known gap, not fixed here

The Maven deploy attaches no sources or javadoc jars — both plugins live in the deploy profile the publish workflow never activates. Same cause as the cfparser issue fixed in its #61. Gradle builds them; Maven does not publish them. Out of scope for a version bump, and worth its own change.


Generated by Claude Code

The last release, 1.5.14 in May, pins cfparser 2.15.0-SNAPSHOT -- a parser
from March. Everything fixed since then exists only on master, so anyone
using a released CFLint still hits the reported behaviour in #50 and #52
despite both being closed.

This release carries cfparser 2.16.0, which fixes them:

  - arrow functions build a real AST, so they no longer silence every rule
    in the file (#52)
  - component-level static declarations no longer throw, taking the file
    with them (#50)
  - access modifiers accepted inside a static block (#50)
  - :: and ?. survive decompile instead of collapsing to a dot (#50)

Verified at this version: 675 tests under both Maven and Gradle, and a
deploy against a local file repository routing through maven-deploy-plugin
to produce the jar, the -all fat jar and the pom.
@ghedwards
ghedwards merged commit b2f1b63 into master Aug 14, 2026
3 checks passed
@ghedwards ghedwards mentioned this pull request Aug 14, 2026
This was referenced Sep 11, 2026
ghedwards added a commit that referenced this pull request Sep 11, 2026
#70 set master to the fixed 1.5.15, but master already carried that version
through #64 before an earlier release was called off, so the number has a
history that matches nothing published. Nothing was ever released at 1.5.15;
this moves to 1.5.16 instead.

The cfparser pin moves to 2.16.2-SNAPSHOT for the same reason: 2.16.1-SNAPSHOT
has been published more than once and no longer identifies a single build.
Both declarations move together - pom.xml's cfparser.version property and the
hardcoded coordinate in build.gradle.

675 tests.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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