Python-Markdown 3.1 Release Notes¶
Python-Markdown version 3.1 supports Python versions 2.7, 3.5, 3.6, 3.7, PyPy and PyPy3.
Backwards-incompatible changes¶
markdown.version and markdown.version_info deprecated¶
Historically, version numbers were acquired via the attributes
markdown.version and markdown.version_info. As of 3.0, a more standardized
approach is being followed and versions are acquired via the
markdown.__version__ and markdown.__version_info__ attributes. As of 3.1
the legacy attributes will raise a DeprecationWarning if they are accessed. In
a future release the legacy attributes will be removed.
New features¶
The following new features have been included in the release:
-
A Contributing Guide has been added (#732).
-
A new configuration option to set the footnote separator has been added. Also, the
relandrevattributes have been removed from footnotes as they are not valid in HTML5. Therefsandbackrefsclasses already exist and serve the same purpose (#723). -
A new option for
toc_depthto set not only the bottom section level, but also the top section level. A string consisting of two digits separated by a hyphen in between ("2-5"), defines the top (t) and the bottom (b) (<ht>..<hb>). A single integer still defines the bottom section level (<h1>..<hb>) only. (#787).
Bug fixes¶
The following bug fixes are included in the 3.1 release:
- Update CLI to support PyYAML 5.1.
- Overlapping raw HTML matches no longer leave placeholders behind (#458).
- Emphasis patterns now recognize newline characters as whitespace (#783).
- Version format had been updated to be PEP 440 compliant (#736).
- Block level elements are defined per instance, not as class attributes (#731).
- Double escaping of block code has been eliminated (#725).
- Problems with newlines in references has been fixed (#742).
- Escaped
#are now handled in header syntax (#762).

