Repository navigation
v0.3.0 (2026-10-10)
This release is published under the MIT License.
Bug Fixes
Pairs whose paths contain '|' no longer collide: weaklink_sig and gaps._sig use the escaped weaklink2| format for them and keep the legacy format byte-identical otherwise. gaps() recomputes each dismissal signature from the record instead of trusting the stored key, so legacy pipe keys still apply. Locks graphmark 0.10.1 and raises the floor to match.
Closes #204
A literal \x00\x00 already in a note was restored as stashed content that belongs elsewhere, duplicating a code span or raising IndexError. Drop every literal NUL at the start of render_for_embedding so each NUL later seen is one the function inserted itself.
Closes #159
A lone-CR inline code span can swallow a fence placeholder, and the single-pass restore did not rescan its own replacement, leaking the raw NUL placeholder. Restore in a loop until none remain; no other restore or stash behavior changes.
Continuous Integration
The release workflow's "Publish to PyPI" step failed with 422 invalid-publisher on v0.1.0 and again on v0.2.0. The ragmark project name on PyPI was never registered by us: another account created it on 2026-09-19 (an unrelated RAG-evaluation tool), so no trusted publisher of ours can ever match it.
The wheel, sdist and SHA256SUMS are attached to the GitHub release before that step runs, so the releases themselves were unaffected; every release just ended in a red job. Nothing consumes ragmark through an index (consumers pin the release wheel by URL and hash), so the step is removed rather than repaired.
- release.yml: drop the "Publish to PyPI" step and the PENDING Trusted Publisher setup notes; drop
id-token: write, which existed only for that step. - tests: replace the "assets upload before the PyPI publish" ordering test withtest_nothing_publishes_to_pypiandtest_the_job_requests_no_oidc_token; the teeth spec swaps its staleuv publishmutants for ones that re-add the step and the permission. - docs/ROADMAP.md and the pyproject.toml comment no longer say ragmark is published on PyPI; the ROADMAP records PyPI publishing as decided against, with the reason.
The distribution name, importlib.metadata.version("ragmark") and the release asset flow are unchanged.
Features
Refs #182
Detailed Changes: v0.2.0...v0.3.0