Skip to content

Release v5.8.1 - #71

Merged
serialexperimentslainnnn merged 9 commits into
mainfrom
release/5.8.1
Aug 30, 2026
Merged

serialexperimentslainnnn merged 9 commits into
mainfrom
release/5.8.1

Conversation

@serialexperimentslainnnn

Copy link
Copy Markdown
Owner

See CHANGELOG.md for details. Patch release: the last-chat-tab "Already disposed" fix, plus CODEOWNERS and settings-scope docs corrections.

Pre-flight

  • On a clean working tree on develop.
  • git pull --ff-only shows no surprises.
  • Target version selected per SemVer rules: 5.8.1, PATCH (bug fix + docs).
  • No open bot pull requests against develop (gh pr list --base develop --state open — empty).

Build & verification

  • ./gradlew test — green, no failures.
  • ./gradlew detekt spotlessCheck — clean, config/detekt/baseline.xml untouched.
  • npm test && npm run lint && npm run format:check — 616 vitest tests pass, ESLint and Prettier clean.
  • ./gradlew koverVerify — coverage gates hold.
  • ./gradlew verifyPlugin — Compatible on all five targets: IU-253.29346.138 (floor), IU-253.33813.55, IU-261.27258.48, IU-262.10315.69, PY-262.10315.63.
  • Verifier clean at all four failure levels (compatibility, internal API, override-only, deprecated API); one accepted experimental-API usage.
  • ./gradlew buildPlugin produces build/distributions/claude-code-native-5.8.1.zip.
  • npm audit --omit=dev --audit-level=low — 0 vulnerabilities.

CHANGELOG.md and RELEASE_NOTES.md both carry 5.8.1 — 2026-08-30, stamped today.

What's new skipped 5.7.0 entirely — it went from 5.8.0 straight back to
5.5.0, so the release that made the guard visible was missing from the one
place a reader looks for it.

The comparison table gained a Remote Control row. The middle column says
what follows from a fact the table already states two rows down: Anthropic's
plugin runs the CLI in the integrated terminal, and there the command is the
CLI's own. Their plugin was not installed to check it behaves as documented.
docs: fill the two README gaps Remote Control left behind
Closing the last chat logged "Already disposed" from JBCefOsrComponent's
resize alarm. Container.remove runs removeNotify() on the card first, then
hands it to CardLayout.removeLayoutComponent, which calls next() when the
card is still visible. With one card left, next() picks that same card,
makes it visible again and validates, so the layout reshapes a browser
component whose alarm the removeNotify had already disposed.

With two or more chats the survivor's select() had already hidden the
dying card, so next() never ran — which is why only the last tab, on a
session whose browser had really been realised, hit it.
The listed address was wrong; the maintainer reads lain@digitalexperiments.dev.
Neither is a chore file. CLAUDE.md holds the standing directive over the
security code and its tests, and .gitignore is what keeps credentials and
local state out of the history; an edit to either changes the rules, so
both are listed rather than left to the default glob.
FAQ.md and TROUBLESHOOTING.md still described the 5.5.0 scope. Since 5.7.0
settings are one document per IDE installation, per project, with the old
global document kept as the seed — which README.md already says.
…b-already-disposed

fix(tabs): hide the closing chat before it leaves the card deck
@serialexperimentslainnnn
serialexperimentslainnnn merged commit c000594 into main Aug 30, 2026
13 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.

1 participant