Skip to content

docs(gradle-plugin): add 4.0.5 notes and correct the Kotlin bound - #18

Open
krassx wants to merge 3 commits into
mainfrom
docs/gradle-plugin-4.0.4
Open

docs(gradle-plugin): add 4.0.5 notes and correct the Kotlin bound#18
krassx wants to merge 3 commits into
mainfrom
docs/gradle-plugin-4.0.4

Conversation

@krassx

@krassx krassx commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

Documents plugin 4.0.5, which restores Compose instrumentation on Kotlin 2.2-2.4 and corrects a claim in the 4.0.3 notes.

Retargeted from 4.0.4 to 4.0.5: 4.0.4 was the gate-only hotfix and was never published, so 4.0.5 (which contains it) is the version consumers will actually install.

What was wrong in 4.0.3

The entry says "Kotlin 2.1 through 2.3 are unaffected." Running each line's real compiler over a Compose consumer with the bundled compiler plugin loaded:

Kotlin 4.0.3 4.0.5
1.9.22, 2.1.x compiles compiles
2.2.x, 2.3.x NoSuchMethodError: irCall(IrBuilderWithScope, …) compiles, injection restored
2.4.x ClassCastException during registration compiles, injection restored

Kotlin 2.2 widened the irCall/irString builder receiver to IrBuilder. A compiled call site binds the exact descriptor, so the widening is binary-breaking even though the source still compiles — which is why it was missed.

Blast radius of the 4.0.3 bug

Narrower than the bound suggests: on 2.2/2.3 the failure needs Bugsee's :compose runtime on the classpath, because the injection pass exits early when bugseeTag/bugseeSecure do not resolve. A Compose app without Bugsee's Compose integration built normally.

Changes

  • New 4.0.5 entry: the per-Kotlin-line artifacts (…-k22, …-k24) with a table of which resolves for which Kotlin, that selection is automatic, and the corrected bound.
  • The incorrect sentence in 4.0.3 carries a :::caution rather than being silently rewritten — it is a released note.
  • The older "Adds Kotlin 2.3 compatibility" line is annotated; it described the plugin's own build, not the bundled compiler plugin.

Validation

  • npx cspell "docs/**/*.md" "docs/**/*.mdx" --no-cache -c cspell.json0 issues.
  • npm run build — exit 0, zero broken links.

🤖 Generated with Claude Code

krassx added 2 commits August 10, 2026 22:09
The 4.0.3 notes stated "Kotlin 2.1 through 2.3 are unaffected". Running each
line's real compiler over a Compose consumer with the bundled compiler plugin
loaded disproves it: 2.2 and 2.3 abort the build with a NoSuchMethodError on
irCall, whose builder receiver Kotlin 2.2 widened. The gate shipped in 4.0.3
therefore admitted two lines that break.

- Adds the 4.0.4 entry describing the corrected bound (Kotlin 2.1) and the
  actual blast radius: only projects pairing Compose with Bugsee's :compose
  integration were affected, since the injection pass exits early when the
  Bugsee Compose runtime is absent.
- Marks the incorrect statement in the 4.0.3 entry with a caution admonition
  rather than silently rewriting a released note.
- Annotates the older "Adds Kotlin 2.3 compatibility" line, which described the
  plugin's own build and not the bundled compiler plugin.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Change-Id: I4a7dcb9e84d28db5d9b78c9a971597394db8751e
4.0.4 was the gate-only hotfix and was never published. 4.0.5 contains it plus
the restored Compose support on Kotlin 2.2-2.4, so documenting 4.0.4 would
describe a version nobody can install.

The entry now covers both halves: the per-Kotlin-line compiler-plugin artifacts
and the automatic selection between them, and the correction to the 4.0.3 bound
with the reason it was wrong.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Change-Id: I6e3825c02b3eeaeabe9db07edc4598c7ad0cc8b1
@krassx krassx changed the title docs(gradle-plugin): correct the Kotlin bound and add 4.0.4 notes docs(gradle-plugin): add 4.0.5 notes and correct the Kotlin bound Aug 10, 2026
The 4.0.5 entry was written when 4.0.4 was still unpublished, so the page
skipped from 4.0.5 to 4.0.3. 4.0.4 has since been released and is installable,
leaving a published version with no release note. Adds a short entry marking it
superseded and pointing at 4.0.5.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Change-Id: I3d9e5eaf3890bc22e735d6aa816dce70fec168e2
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.

1 participant