pypi / marko
marko
What changed in marko 1 to 2, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-24.
7 breaking1 new APIs and options2 behavior and defaults3 fixes and other
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli initmarko 211 changes
Breaking changes 5
Input U+0000 characters are replaced with U+FFFD, as required by CommonMark §2.3.
The GFM alert regex now disallows content on the header line.
For block elements, children should now be a list of child elements.
HTMLBlock's HTML content moves from children to the body attribute.
Parsing no longer saves to global variables, allowing multiple parsers to run in parallel.
New APIs and options 1
A helper class is added for creating extensions instead of using arbitrary objects to hold partial properties.
Behavior and default changes 2
Extension blocks can now break a Paragraph.
Calling render alone now calls setup_extensions().
Fixes and other changes 3
GFM table indentation is preserved in lists.
Prevents an infinite loop caused by unnormalized line breaks.
Some built-in extensions that modify class attributes are fixed.
marko 12 changes
Breaking changes 2
The deprecated extension object was removed.
Support for Python 2.7 was dropped.