Released2 Aug 2026Commit181ef01aLine0.9.xLateston its line

v0.9.5

sigil-markdown 0.9.5: an underscore inside a word is not emphasis

Notes

CommonMark treats and * differently on purpose: an underscore between two word characters is not a delimiter, because snakecase is ordinary prose in technical writing. This parser applied no such restriction, so every snake_case identifier in prose was silently mangled with nothing in the output to show that something had been eaten.

Measured over the 1,389 commit messages the Azoth estate renders, 97 were corrupted this way; over its 86 READMEs, one was, live and public: sokolgfx and sokolgp rendered as sokol<em>gfx and sokol</em>gp.

After the fix, underscore-derived emphasis drops from 97 to 2, and both survivors are correct rather than residue: attribute((unused)) is conformant strong, and one base64 string sits in punctuation-flanking territory this simplified rule does not model.

is deliberately unchanged; foobar*baz is still emphasis, as CommonMark requires. The rule is ASCII-only, which is named in the source rather than silently assumed.

Commit

181ef01a

The commit this tag names.

Releases