claudemd-cli 0.23.13 → 0.23.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -8,6 +8,14 @@ All notable changes to the `claudemd` plugin. This changelog tracks plugin artif
|
|
|
8
8
|
- **Canonical spec version source**: `spec/CLAUDE.md` top-line title (`# AI-CODING-SPEC vX.Y.Z — Core`) + `spec/CLAUDE-changelog.md` top `##` entry.
|
|
9
9
|
- **Plugin semver vs spec semver** are independent: plugin patch (0.2.0 → 0.2.1) may ship when spec is unchanged (this release); plugin minor (0.1.9 → 0.2.0) ships when spec minor updates (v0.2.0 shipped spec v6.10.0).
|
|
10
10
|
|
|
11
|
+
## [0.23.14] - 2026-06-10
|
|
12
|
+
|
|
13
|
+
**Patch — SessionStart emitted invalid JSON when two banners fired together, dropping both.** Spec content unchanged (stays v6.14.1). Continues the end-to-end user-test sweep into the SessionStart / UserPromptSubmit hooks.
|
|
14
|
+
|
|
15
|
+
### Fixed — upgrade banner silently lost when the user also had session activity
|
|
16
|
+
|
|
17
|
+
- `hooks/session-start-check.sh`: in the "local install is current" branch, `upstream_check` (upgrade-available banner) and `emit_session_summary_banner` (last-session deny/bypass/warn counts) were called back-to-back, and **each prints its own complete SessionStart `additionalContext` JSON object**. CC parses hook stdout with a strict single-value `JSON.parse`, so two objects concatenated is invalid JSON — `Unexpected non-whitespace character after JSON` — and CC drops **both** banners. The two conditions co-occur exactly in the case that matters: a user with a pending upgrade who also had rule activity last session, so the upgrade notice vanishes precisely when they are active. The existing upstream-check tests (Cases 8–11) ran with no summary file present, so they never produced the two-object output, and their assertions grep for substrings rather than validating JSON. Fix: capture both helpers' output (their side effects — sentinel touch, file rename, `hook_record` — still run inside the command substitution) and emit at most one object via `jq -s`, merging the two `additionalContext` fields with a blank line when both fire. Added Case 14 asserting `jq -s length == 1` on the combined-banner stdout (was 2 pre-fix).
|
|
18
|
+
|
|
11
19
|
## [0.23.13] - 2026-06-10
|
|
12
20
|
|
|
13
21
|
**Patch — 4 bugfixes from a 3-round end-to-end user-test sweep (Stop hooks, standalone CLI, sampling audit).** Spec content (`spec/CLAUDE*.md`) unchanged (stays v6.14.1). Each fix carries a reproduction + regression test; node suite 513 → 515, plus added bash hook regression cases (transcript-structure-scan +3, session-end-check +2); all suites + integration green.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "claudemd-cli",
|
|
3
|
-
"version": "0.23.
|
|
3
|
+
"version": "0.23.14",
|
|
4
4
|
"description": "Standalone CLI for §10-V banned-vocab + transcript scanning. Companion to the claudemd Claude Code plugin (github.com/sdsrss/claudemd) for use in git pre-commit hooks, GitHub Actions, and other agents.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|