pypi / markdown-it-py
markdown-it-py
What changed in markdown-it-py 3 to 4, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-29.
5 breaking1 security1 deprecations7 new APIs and options3 performance2 behavior and defaults6 fixes and other
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli initmarkdown-it-py 412 changes
Breaking changes 2
Python 3.8 is no longer supported.
Python 3.9 is no longer supported.
New APIs and options 4
Adds a factory for configuring fence markers.
A new preset provides task lists, alerts, and single-tilde strikethrough.
Plugins can register inline terminator characters.
The CLI accepts input via the --stdin option.
Performance 2
The text inline rule is faster.
Quadratic complexity in the reference parser is fixed.
Behavior and default changes 1
The number of autocompleted cells in a table is limited.
Fixes and other changes 3
The parser is updated to comply with CommonMark 0.31.2.
Python 3.13 support is added.
Emphasis inside raw links is fixed.
markdown-it-py 313 changes
Breaking changes 3
The unused silent argument was removed.
Support for Python 3.7 was dropped.
The
(p)to§replacement was removed.
Security 1
A possible ReDOS issue in the newline rule was fixed.
Deprecations 1
Use of StateBase.srcCharCode is deprecated but remains backward-compatible; core uses were replaced by StateBase.src.
New APIs and options 3
A new inline rule linkifies full URLs and prevents emphasis from colliding with the linkifier; emails and fuzzy links are unaffected.
The final core rule joins adjacent text and text_special tokens; custom typographic rules should be inserted before it.
A new token type represents HTML entities and backslash-escaped characters so core typographic transformation rules are not incorrectly applied to them.
Performance 1
The skipSpaces and skipChars operations were made faster.
Behavior and default changes 1
The four-space indent limitation is applied only when indented code blocks are enabled, allowing other block elements to use greater indentation when they are disabled.
Fixes and other changes 3
Nested emphasis parsing was improved.
Passing numeric character references was fixed.
A tab no longer prevents paragraph continuation in lists.