Releases: bg002h/descriptor-mnemonic
Release list
descriptor-mnemonic-md-cli-v0.12.0
descriptor-mnemonic-md-cli-v0.11.3
descriptor-mnemonic-md-cli-v0.11.2
descriptor-mnemonic-md-cli-v0.11.1
descriptor-mnemonic-md-cli-v0.11.0
md-cli v0.6.1 — argv-hardening (PR_SET_DUMPABLE)
SemVer-PATCH — process argv-hardening. md now calls prctl(PR_SET_DUMPABLE, 0) at the top of main() (Linux; no-op elsewhere), denying other-UID /proc/$PID/cmdline reads + core dumps. New process_hardening module + libc dep. Part of the m-format constellation argv-hardening rollout (mnemonic-toolkit v0.34.7 + ms-cli v0.4.1 + mk-cli v0.4.2).
md-codec-v0.35.0
md-codec [0.35.0] — 2026-05-17
Closes md-codec-decode-with-correction-supports-non-chunked-md1
(filed at v0.22.x follow-ups cycle Phase B.8). Lockstep with
mnemonic-toolkit-v0.24.0 Tranche D.
Added
decode_with_correctionnon-chunked-form detection (crates/md-codec/src/chunk.rs).
Pre-pass routesstrings.len() == 1inputs whose first-symbol bit-0 is
0(non-chunked header sentinel) directly intodecode_payload,
bypassing the chunk-reassembly path. Falls through to the existing
reassembleforlen > 1ORlen == 1 && bit-0 == 1(preserves
v0.34.0 count-1-chunked-of-1 semantics; multi-strings-supplied-as-one
still surfacesError::ChunkSetIncomplete).- 5 new unit cells in
crates/md-codec/tests/bch_decode.rscovering the
non-chunked-form detection branch.
Fixed
mnemonic repair --md1/md repairinvocations against non-chunked
single-string md1 (the form emitted by plainmd encodefor small
payloads) previously surfaced as wire-format-mismatch errors. They now
decode through the BCH correction pipeline like any other md1 input.
Notes
- Wire-format change is purely additive: non-chunked md1 was previously
rejected bydecode_with_correction; now decodable. No corpus refresh
required; no downstream-codec migration burden.
Resolved (FOLLOWUPS)
md-codec-decode-with-correction-supports-non-chunked-md1(cross-repo
primary). GUI + toolkit + ms-codec mirrors transitionopen→
RESOLVED in md-codec-v0.35.0lockstep.
md-codec v0.34.0 — public BCH primitives + decode_with_correction
Tranche B Phase B.1 + B.2 of the v0.22.x follow-ups cycle. Promotes md-codec's BCH primitives to the public API and adds a full-decode-semantic decode_with_correction for downstream sibling-codec + toolkit consumers.
What's new
- Public BCH surface —
bch::{GEN_REGULAR, MD_REGULAR_CONST, polymod_run, hrp_expand, bch_create_checksum_regular, bch_verify_regular}nowpub. Lifts the visibility gate that blocked toolkit + ms-codec from consuming these primitives without forking. bch_decodemodule — vendored Berlekamp-Massey + Chien + Forney + Gf32/Gf1024 (~450 LOC prod + ~100 LOC tests; constant-agnostic body parameterized onMD_REGULAR_CONST). Mirrorsmk_codec::string_layer::bch_decodebyte-equivalent under parity-smoke againstmnemonic-toolkit-v0.22.1.chunk::decode_with_correction(strings: &[&str]) -> Result<(Descriptor, Vec<CorrectionDetail>), Error>— full-decode semantics (Q1 lock): BCH-corrects each chunk then runs the existing decoder. Atomic per chunk per D28 (any chunk failing capacity bound → entire call fails withchunk_indexnamed).- New
Error::TooManyErrors { chunk_index: usize, bound: u8 }variant for BCH-correction-capacity failures.
Closes FOLLOWUPs
md-codec-decode-with-correction-public-api(toolkit + this repo)
Files new at this release
2 visibility-pin/parity tests + 1 unit test file (bch_decode.rs)
+550 LOC bch_decode.rs prod
+190 LOC chunk.rs (decode_with_correction)
Lockstep
- mnemonic-toolkit v0.23.0 — toolkit consumes this via
repair_via_md_codec. - ms-codec v0.2.0 — sibling codec; same architectural pattern.
- descriptor-mnemonic md-cli v0.6.0 — sibling CLI ships
md repairsubcommand.
🤖 Released as part of the v0.22.x follow-ups cycle (Tranche B close).
md-cli v0.6.0 — md repair subcommand
Tranche B Phase B.6 of the v0.22.x follow-ups cycle. Sibling-CLI repair surface mirroring toolkit's `mnemonic repair --md1`.
What's new
- `md repair ...` — variadic positional multi-chunk repair via md-codec v0.34.0's `decode_with_correction`. D28 atomic semantics: if ANY chunk fails BCH capacity → whole call fails with `chunk_index` named, NO partial output emitted.
- Exit codes per D26: `0` (clean) / `5` (REPAIR_APPLIED) / `2` (unrepairable).
- `--json` envelope byte-matches toolkit's `RepairJson` schema per D27 (`schema_version="1"`, `kind="md1"`, `corrected_chunks`, `repairs[].{chunk_index, original_chunk, corrected_chunk, corrected_positions[].{position, was, now}}`).
- D25 handler-signature cascade — 9 existing handlers refactored to `Result` for exit-5 propagation.
Closes FOLLOWUPs
- `md-cli-repair-flag` (toolkit + this repo)
Lockstep
- mnemonic-toolkit v0.23.0 — toolkit's `mnemonic repair --md1` shares the JSON envelope schema; sibling CLIs are parser-reuse compatible.
- ms-cli v0.4.0 — sibling `ms repair`.
- mk-cli v0.4.0 — sibling `mk repair` (released earlier in cycle).
🤖 Released as part of the v0.22.x follow-ups cycle (Tranche B close).
md-codec v0.33.1 — doc-comment Vector struct fields
What's in this release
Patch: add /// doc-comments to the 5 pub fields of md_codec::test_vectors::Vector (name, template, keys, fingerprints, force_chunked). The fields were exposed in v0.33.0 (commit 8a52bed, the test_vectors public-API promotion) but lacked doc-comments, which the workspace -D warnings clippy gate upgrades to errors via the missing_docs lint. Result: workspace CI red on main since 2026-05-14 23:15 UTC. Doc-comment-only patch; no API contract change.
Full notes: CHANGELOG#md-codec-0331