aboutsummaryrefslogtreecommitdiff
path: root/docs/change_log/release-3.2.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/change_log/release-3.2.md')
-rw-r--r--docs/change_log/release-3.2.md96
1 files changed, 96 insertions, 0 deletions
diff --git a/docs/change_log/release-3.2.md b/docs/change_log/release-3.2.md
new file mode 100644
index 0000000..f9452cc
--- /dev/null
+++ b/docs/change_log/release-3.2.md
@@ -0,0 +1,96 @@
+title: Release Notes for v3.2
+
+# Python-Markdown 3.2 Release Notes
+
+Python-Markdown version 3.2 supports Python versions 3.5, 3.6, 3.7, 3.8, and
+PyPy3.
+
+## Backwards-incompatible changes
+
+### Drop support for Python 2.7
+
+Python 2.7 reaches end-of-life on 2020-01-01 and Python-Markdown 3.2 has dropped
+support for it. Please upgrade to Python 3, or use Python-Markdown 3.1.
+
+### `em` and `strong` inline processor changes
+
+In order to fix issue #792, `em`/`strong` inline processors were refactored. This
+translated into removing many of the existing inline processors that handled this
+logic:
+
+* `em_strong`
+* `strong`
+* `emphasis`
+* `strong2`
+* `emphasis`
+
+These processors were replaced with two new ones:
+
+* `em_strong`
+* `em_strong2`
+
+The [`legacy_em`](../extensions/legacy_em.md) extension was also modified with new,
+refactored logic and simply overrides the `em_strong2` inline processor.
+
+### CodeHilite now always wraps with `<code>` tags
+
+Before, the HTML generated by CodeHilite looked like:
+- `<pre><code>foo = 'bar'</code></pre>` if you **were not** using Pygments.
+- `<pre>foo = 'bar'</pre>` if you **were** using Pygments.
+
+To make the cases more consistent (and adhere to many Markdown specifications and
+HTML code block markup suggestions), CodeHilite will now always additionally wrap
+code with `<code>` tags. See #862 for more details.
+
+This change does not alter the Python-Markdown API, but users relying on the old
+markup will find their output now changed.
+
+Internally, this change relies on the Pygments 2.4, so you must be using at least
+that version to see this effect. Users with earlier Pygments versions will
+continue to see the old behavior.
+
+### `markdown.util.etree` deprecated
+
+Previously, Python-Markdown was using either the `xml.etree.cElementTree` module
+or the `xml.etree.ElementTree` module, based on their availability. In modern
+Python versions, the former is a deprecated alias for the latter. Thus, the
+compatibility layer is deprecated and extensions are advised to use
+`xml.etree.ElementTree` directly. Importing `markdown.util.etree` will raise
+a `DeprecationWarning` beginning in version 3.2 and may be removed in a future
+release.
+
+Therefore, extension developers are encouraged to replace
+`from markdown.util import etree` with
+`import xml.etree.ElementTree as etree` in their code.
+
+## New features
+
+The following new features have been included in the release:
+
+* Some new configuration options have been added to the [toc](../extensions/toc.md)
+ extension:
+
+ * The `anchorlink_class` and `permalink_class` options allow class(es) to be
+ assigned to the `anchorlink` and `permalink` respectively. This allows using
+ icon fonts from CSS for the links. Therefore, an empty string passed to
+ `permalink` now generates an empty `permalink`. Previously no `permalink`
+ would have been generated. (#776)
+
+ * The `permalink_title` option allows the title attribute of a `permalink` to be
+ set to something other than the default English string `Permanent link`. (#877)
+
+* Document thread safety (#812).
+
+* Markdown parsing in HTML has been exposed via a separate extension called
+ [`md_in_html`](../extensions/md_in_html.md).
+
+* Add support for Python 3.8.
+
+## Bug fixes
+
+The following bug fixes are included in the 3.2 release:
+
+* HTML tag placeholders are no longer included in `.toc_tokens` (#899).
+* Unescape backslash-escaped characters in TOC ids (#864).
+* Refactor bold and italic logic in order to solve complex nesting issues (#792).
+* Always wrap CodeHilite code in `code` tags (#862).