Skip to content

Commit 21ffda3

Browse files
chore(release): prep 1.14.0 (changelog + version bump)
Release prep for 1.14.0: changelog, version bump, readiness doc, snapshot/CI assertion fixes. Tokmd Rust Result green; full workspace tests pass locally.
1 parent 1fafaa4 commit 21ffda3

13 files changed

Lines changed: 253 additions & 58 deletions

CHANGELOG.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,22 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [1.14.0] - 2026-06-25
11+
12+
1.14 expands the PR evidence surface into a first-class local and CI workflow.
13+
It adds the `tokmd render` and `tokmd packet generate` CLIs, ships the
14+
`mode: packet` GitHub Action, sharpens syntax-receipt and complexity evidence,
15+
and makes several CLI error and validation paths more actionable. No receipt
16+
schema versions changed in this release.
17+
1018
### Added
1119

20+
- Added `tokmd render`, which renders packet presets (including unsafe-review
21+
bundles) from analysis/context/syntax inputs, ingests sibling tool bundles,
22+
and validates against the `tokmd-packets` JSON Schema at the CLI boundary.
23+
- Added `tokmd packet generate`, an evidence-packet orchestrator that produces
24+
the `sensors/tokmd/` packet (analysis, context, optional syntax, manifest)
25+
from a single command.
1226
- Added `mode: packet` to the `EffortlessMetrics/tokmd` GitHub Action. It runs
1327
`tokmd packet generate` with the prebuilt-binary runtime as the default,
1428
shares the cockpit/sensor base-ref inference, uploads the `sensors/tokmd/`
@@ -21,18 +35,46 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
2135
`runtime` Action inputs for `mode: packet`. `fail-on` maps packet status to
2236
workflow failure (`failed`, `partial`, `never`); `runtime: container` is
2337
reserved for the pending GHCR runtime and fails fast for now.
38+
- Added `panic_seam_summary` to syntax receipts, summarizing panic-like seams
39+
detected during syntax extraction for packet consumers.
2440

2541
### Changed
2642

43+
- Syntax evidence ranking now deprioritizes test assertion noise so advisory
44+
review signals surface higher-value seams instead of test-only assertions.
2745
- CI phase 3 (#226, #299): retired the duplicate routed Rust Small frontdoor
2846
workflow (`em-routed-rust-small.yml`) and its `tokmd_rust_small_*` lane
2947
catalogue entries. Runner routing is now the advisory `Route CI runner` job of
3048
`ci.yml` (self-hosted primary, GitHub-hosted overflow) feeding the single
3149
required `Tokmd Rust Result` gate. Branch protection already required only
3250
`Tokmd Rust Result`, so no required check changed.
3351

52+
### Fixed
53+
54+
- Aligned `max_cyclomatic` with per-function complexity units so the reported
55+
maximum reflects a single function rather than an aggregate.
56+
- `tokmd diff` `resolve_targets` errors are now actionable, including usage
57+
examples that show how to specify valid comparison targets.
58+
- `tokmd context` and `tokmd handoff` now validate numeric flags and reject
59+
invalid values with clear errors instead of silently mishandling them.
60+
- `tokmd packet generate` / `tokmd evidence-packet` now detect UTF-16 encoded
61+
JSON inputs (commonly produced by a bare PowerShell `>` redirect on Windows)
62+
and return an actionable error pointing at `--output-dir` / `--output` or
63+
`Out-File -Encoding utf8` instead of failing with an opaque parse error.
64+
65+
### Security
66+
67+
- Upgraded `pyo3` (and its transitive PyO3 crate family) from 0.28.3 to 0.29.0
68+
in `tokmd-python`, resolving the `RUSTSEC-2026-0176` advisory flagged by
69+
`cargo deny`.
70+
3471
### Documentation
3572

73+
- Added usage example blocks to the `tokmd module`, `tokmd run`, and
74+
`tokmd init` command help so `--help` shows common invocations, matching the
75+
existing `context` / `handoff` / `analyze` / `cockpit` convention
76+
(regenerated `docs/reference-cli.md`).
77+
3678
- Resolved the `v1.13.1` publication GHCR visibility caveat: maintainer
3779
verification on 2026-06-21 records `ghcr.io/effortlessmetrics/tokmd` as
3880
**verified-public**; swarm GHCR visibility remains undecided (issue #264).

Cargo.lock

Lines changed: 19 additions & 19 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ default-members = [
4444
# xtask is a workspace member but excluded from default-members
4545

4646
[workspace.package]
47-
version = "1.13.1"
47+
version = "1.14.0"
4848
edition = "2024"
4949
rust-version = "1.95"
5050
license = "MIT OR Apache-2.0"
@@ -194,22 +194,22 @@ name = "tokmd-workspace"
194194

195195
[workspace.dependencies]
196196
# Internal crates - centralized for "bump once" version management
197-
tokmd = { path = "crates/tokmd", version = "1.13.1" }
198-
tokmd-analysis = { path = "crates/tokmd-analysis", version = "1.13.1" }
199-
tokmd-analysis-types = { path = "crates/tokmd-analysis-types", version = "1.13.1" }
200-
tokmd-envelope = { path = "crates/tokmd-envelope", version = "1.13.1" }
201-
tokmd-core = { path = "crates/tokmd-core", version = "1.13.1" }
202-
tokmd-format = { path = "crates/tokmd-format", version = "1.13.1" }
203-
tokmd-git = { path = "crates/tokmd-git", version = "1.13.1" }
204-
tokmd-model = { path = "crates/tokmd-model", version = "1.13.1" }
205-
tokmd-wasm = { path = "crates/tokmd-wasm", version = "1.13.1" }
206-
tokmd-scan = { path = "crates/tokmd-scan", version = "1.13.1" }
207-
tokmd-sensor = { path = "crates/tokmd-sensor", version = "1.13.1" }
208-
tokmd-settings = { path = "crates/tokmd-settings", version = "1.13.1" }
209-
tokmd-types = { path = "crates/tokmd-types", version = "1.13.1" }
210-
tokmd-io-port = { path = "crates/tokmd-io-port", version = "1.13.1" }
211-
tokmd-gate = { path = "crates/tokmd-gate", version = "1.13.1" }
212-
tokmd-cockpit = { path = "crates/tokmd-cockpit", version = "1.13.1" }
197+
tokmd = { path = "crates/tokmd", version = "1.14.0" }
198+
tokmd-analysis = { path = "crates/tokmd-analysis", version = "1.14.0" }
199+
tokmd-analysis-types = { path = "crates/tokmd-analysis-types", version = "1.14.0" }
200+
tokmd-envelope = { path = "crates/tokmd-envelope", version = "1.14.0" }
201+
tokmd-core = { path = "crates/tokmd-core", version = "1.14.0" }
202+
tokmd-format = { path = "crates/tokmd-format", version = "1.14.0" }
203+
tokmd-git = { path = "crates/tokmd-git", version = "1.14.0" }
204+
tokmd-model = { path = "crates/tokmd-model", version = "1.14.0" }
205+
tokmd-wasm = { path = "crates/tokmd-wasm", version = "1.14.0" }
206+
tokmd-scan = { path = "crates/tokmd-scan", version = "1.14.0" }
207+
tokmd-sensor = { path = "crates/tokmd-sensor", version = "1.14.0" }
208+
tokmd-settings = { path = "crates/tokmd-settings", version = "1.14.0" }
209+
tokmd-types = { path = "crates/tokmd-types", version = "1.14.0" }
210+
tokmd-io-port = { path = "crates/tokmd-io-port", version = "1.14.0" }
211+
tokmd-gate = { path = "crates/tokmd-gate", version = "1.14.0" }
212+
tokmd-cockpit = { path = "crates/tokmd-cockpit", version = "1.14.0" }
213213

214214
# External crates - centralized for consistent versioning
215215
anyhow = "1.0.102"

crates/tokmd-format/tests/snapshots/deep_format_w47__snapshot_cyclonedx_multi_file.snap

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ expression: "String::from_utf8(buf).unwrap()"
1414
{
1515
"vendor": "tokmd",
1616
"name": "tokmd",
17-
"version": "1.13.1"
17+
"version": "1.14.0"
1818
}
1919
]
2020
},

crates/tokmd-format/tests/snapshots/format_depth_w63__snapshot_w63_cyclonedx_basic.snap

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ expression: out
1313
{
1414
"vendor": "tokmd",
1515
"name": "tokmd",
16-
"version": "1.13.1"
16+
"version": "1.14.0"
1717
}
1818
]
1919
},

crates/tokmd-format/tests/snapshots/format_tests__cyclonedx_snapshot_deterministic.snap

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ expression: pretty
4747
{
4848
"name": "tokmd",
4949
"vendor": "tokmd",
50-
"version": "1.13.1"
50+
"version": "1.14.0"
5151
}
5252
]
5353
},

crates/tokmd-format/tests/snapshots/snapshot_w45__snapshot_export_cyclonedx_single_file.snap

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ expression: "String::from_utf8(buf).unwrap()"
1313
{
1414
"vendor": "tokmd",
1515
"name": "tokmd",
16-
"version": "1.13.1"
16+
"version": "1.14.0"
1717
}
1818
]
1919
},

crates/tokmd-format/tests/snapshots/snapshot_w74__w74_export_cyclonedx.snap

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ expression: "serde_json::to_string_pretty(&pretty).unwrap()"
117117
{
118118
"name": "tokmd",
119119
"vendor": "tokmd",
120-
"version": "1.13.1"
120+
"version": "1.14.0"
121121
}
122122
]
123123
},

crates/tokmd-node/npm/package.json

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@tokmd/core",
3-
"version": "1.13.1",
3+
"version": "1.14.0",
44
"description": "Code inventory receipts and analytics - Node.js bindings",
55
"main": "index.js",
66
"types": "index.d.ts",
@@ -19,11 +19,11 @@
1919
"index.d.ts"
2020
],
2121
"optionalDependencies": {
22-
"@tokmd/core-darwin-arm64": "1.13.1",
23-
"@tokmd/core-darwin-x64": "1.13.1",
24-
"@tokmd/core-linux-arm64-gnu": "1.13.1",
25-
"@tokmd/core-linux-x64-gnu": "1.13.1",
26-
"@tokmd/core-win32-x64-msvc": "1.13.1"
22+
"@tokmd/core-darwin-arm64": "1.14.0",
23+
"@tokmd/core-darwin-x64": "1.14.0",
24+
"@tokmd/core-linux-arm64-gnu": "1.14.0",
25+
"@tokmd/core-linux-x64-gnu": "1.14.0",
26+
"@tokmd/core-win32-x64-msvc": "1.14.0"
2727
},
2828
"repository": {
2929
"type": "git",

crates/tokmd-node/package.json

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@tokmd/core",
3-
"version": "1.13.1",
3+
"version": "1.14.0",
44
"description": "Node.js bindings for tokmd - code inventory and analytics",
55
"main": "index.js",
66
"types": "index.d.ts",
@@ -60,13 +60,13 @@
6060
"@napi-rs/cli": "^3.6.2"
6161
},
6262
"optionalDependencies": {
63-
"@tokmd/core-win32-x64-msvc": "1.13.1",
64-
"@tokmd/core-darwin-x64": "1.13.1",
65-
"@tokmd/core-darwin-arm64": "1.13.1",
66-
"@tokmd/core-linux-x64-gnu": "1.13.1",
67-
"@tokmd/core-linux-x64-musl": "1.13.1",
68-
"@tokmd/core-linux-arm64-gnu": "1.13.1",
69-
"@tokmd/core-linux-arm64-musl": "1.13.1",
70-
"@tokmd/core-win32-arm64-msvc": "1.13.1"
63+
"@tokmd/core-win32-x64-msvc": "1.14.0",
64+
"@tokmd/core-darwin-x64": "1.14.0",
65+
"@tokmd/core-darwin-arm64": "1.14.0",
66+
"@tokmd/core-linux-x64-gnu": "1.14.0",
67+
"@tokmd/core-linux-x64-musl": "1.14.0",
68+
"@tokmd/core-linux-arm64-gnu": "1.14.0",
69+
"@tokmd/core-linux-arm64-musl": "1.14.0",
70+
"@tokmd/core-win32-arm64-msvc": "1.14.0"
7171
}
7272
}

0 commit comments

Comments
 (0)