Repository navigation
v3.46.0 — Mermaid font-swap check, safer framework-upgrade, figure-skill scripts split into packages
Full Changelog: v3.41.0...v3.46.0
Covers v3.42.0 – v3.46.0 (TASK 121–126). Details: CHANGELOG.md.
Added
- Font-swap check in the Mermaid render check (v3.42.0).
render_check.pyredraws HTML labels in GitHub's font, light and dark. The newfont_swapcheck fails a label that the swapped font pushes past its box, its node's border or the figure's edge. - MA-LABEL-14 warns on
<small>in flowchart, state and ER labels.
Changed
-
New Mermaid settings lines. Flowchart, state, ER, class and requirement figures carry
"themeCSS": "foreignObject { overflow: visible; }". Mindmap has its own line. MA-SET-06 checksthemeCSS. -
A node's second line is plain text after
<br/>, never<small>. -
framework-upgradecounts local allow rules (v3.43.0). It reads.claude/settings.json,.claude/settings.local.json,~/.claude/settings.jsonand theallowed-toolsof skills and commands. A rule added during the run that runs a changed file stops the run. -
framework-upgradechecks what a change runs. Each allowed command that runs changed code runs between two SHA-256 listings of the tree. An unexpected write fails the check. A change under.gitor in a user file stops the run. -
Scripts of
mermaid-authoring-guidelinessplit into packages (v3.44.0 – v3.46.0), one module per section, moved verbatim:mermaid_model.py→ packagemermaid_model/svg_geometry.py→ thin file oversvg_geometry_parts/lint_mermaid.py→ thin CLI overlint_mermaid_parts/
Imports and command lines are unchanged. Tests pin the module order and allow only standard-library imports.
-
light-mode1.1 admits a behaviour-preserving split of an auxiliary skill's script.
Fixed
- The render check and the lint print and write no raw control characters. Text and
--jsonoutput escape non-printable characters; Cyrillic prints as is. measure_text.mjscuts labels at 120 code points, so a long label with an emoji no longer stops the run.- A lone surrogate no longer stops a corpus render.
- A bare
python3 -m pytestfrom the repository root collects and leaves the live session state alone. - The quick-reference figure in
System/Docs/WORKFLOWS.mdis redrawn as two figures. - The skill-testing example runs as a script.
query_modelreadsOPENAI_API_KEYonly.
Upgrade notes
- A figure with the old settings line gets MA-SET-06 and MA-LABEL-14 warnings and fails
font_swap. Fix: copy the new settings line and replace<small>second lines with plain text. - Committed corpus renders carry the old instrument hash, so the next corpus run renders them again.