pypi / markdownify
markdownify
What changed in markdownify 1, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-27.
5 breaking1 new APIs and options6 behavior and defaults7 fixes and other
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli initmarkdownify 119 changes
Breaking changes 5
The children_only parameter was removed.
Custom tag conversion functions have a changed interface; update functions that use convert_*().
Markdown links are no longer constructed inside code spans and code blocks.
Nonbreaking spaces are no longer stripped.
Right square brackets are escaped.
New APIs and options 1
A new configuration option controls table header row inference.
Behavior and default changes 6
Conversion functions now allow tags with special characters in their names, such as "subtag-name".
Empty-line handling changes for <li> and <blockquote> content.
Supports converting HTML definition lists, including <dl>, <dt>, and <dd>.
Blank lines are added before and after preformatted blocks.
A blank line is inserted between a table caption and table content.
Accepts None for unlimited line lengths.
Fixes and other changes 7
The types now allow None for strip_pre and warp_width parameters.
html.parser now preserves text nested inside <br>.
The distribution now includes the py.typed marker file.
A blank line is added before ATX-style headings to avoid ambiguity.
When computing <ol>/<li> numbering, non-<li> previous siblings are ignored.
Conversion no longer mutates the soup and improves div, article, and section handling.
Superfluous leading and trailing whitespace is removed.