aboutsummaryrefslogtreecommitdiffstats
path: root/docs/release-2.6.txt
diff options
context:
space:
mode:
Diffstat (limited to 'docs/release-2.6.txt')
-rw-r--r--docs/release-2.6.txt263
1 files changed, 0 insertions, 263 deletions
diff --git a/docs/release-2.6.txt b/docs/release-2.6.txt
deleted file mode 100644
index e450162..0000000
--- a/docs/release-2.6.txt
+++ /dev/null
@@ -1,263 +0,0 @@
-title: Release Notes for v2.6
-prev_title: Change Log
-prev_url: change_log.html
-next_title: Release Notes for v2.5
-next_url: release-2.5.html
-
-Python-Markdown 2.6 Release Notes
-=================================
-
-We are pleased to release Python-Markdown 2.6 which adds a few new features
-and fixes various bugs. See the list of changes below for details.
-
-Python-Markdown version 2.6 supports Python versions 2.7, 3.2, 3.3, and 3.4 as well as PyPy.
-
-Backwards-incompatible Changes
-------------------------------
-
-### `safe_mode` Deprecated
-
-Both `safe_mode` and the associated `html_replacement_text` keywords are deprecated
-in version 2.6 and will raise a **`DeprecationWarning`**. The `safe_mode` and
-`html_replacement_text` keywords will be ignored in version 2.7. The so-called
-"safe mode" was never actually "safe" which has resulted in many people having a false
-sense of security when using it. As an alternative, the developers of Python-Markdown
-recommend that any untrusted content be passed through an HTML sanitizer (like [Bleach])
-after being converted to HTML by markdown.
-
-If your code previously looked like this:
-
- html = markdown.markdown(text, safe_mode=True)
-
-Then it is recommended that you change your code to read something like this:
-
- import bleach
- html = bleach.clean(markdown.markdown(text))
-
-If you are not interested in sanitizing untrusted text, but simply desire to escape
-raw HTML, then that can be accomplished through an extension which removes HTML parsing:
-
- from markdown.extensions import Extension
-
- class EscapeHtml(Extension):
- def extendMarkdown(self, md, md_globals):
- del md.preprocessors['html_block']
- del md.inlinePatterns['html']
-
- html = markdown.markdown(text, extensions=[EscapeHtml()])
-
-As the HTML would not be parsed with the above Extension, then the serializer will
-escape the raw HTML, which is exactly what happens now when `safe_mode="escape"`.
-
-[Bleach]: https://bleach.readthedocs.io/
-
-### Positional Arguments Deprecated
-
-Positional arguments on the `markdown.Markdown()` class are deprecated as are
-all except the `text` argument on the `markdown.markdown()` wrapper function.
-Using positional arguments will raise a **`DeprecationWarning`** in 2.6 and an error
-in version 2.7. Only keyword arguments should be used. For example, if your code
-previously looked like this:
-
- html = markdown.markdown(text, [SomeExtension()])
-
-Then it is recommended that you change it to read something like this:
-
- html = markdown.markdown(text, extensions=[SomeExtension()])
-
-!!! Note
- This change is being made as a result of deprecating `"safe_mode"` as the
- `safe_mode` argument was one of the positional arguments. When that argument
- is removed, the two arguments following it will no longer be at the correct
- position. It is recommended that you always use keywords when they are supported
- for this reason.
-
-### "Shortened" Extension Names Deprecated
-
-In previous versions of Python-Markdown, the built-in extensions received
-special status and did not require the full path to be provided. Additionally,
-third party extensions whose name started with `"mdx_"` received the same
-special treatment. This behavior is deprecated and will raise a
-**`DeprecationWarning`** in version 2.6 and an error in 2.7. Ensure that you
-always use the full path to your extensions. For example, if you previously
-did the following:
-
- markdown.markdown(text, extensions=['extra'])
-
-You should change your code to the following:
-
- markdown.markdown(text, extensions=['markdown.extensions.extra'])
-
-The same applies to the command line:
-
- $ python -m markdown -x markdown.extensions.extra input.txt
-
-Similarly, if you have used a third party extension (for example `mdx_math`), previously
-you might have called it like this:
-
- markdown.markdown(text, extensions=['math'])
-
-As the `"mdx"` prefix will no longer be appended, you will need to change your code
-as follows (assuming the file `mdx_math.py` is installed at the root of your PYTHONPATH):
-
- markdown.markdown(text, extensions=['mdx_math'])
-
-Extension authors will want to update their documentation to reflect the new behavior.
-
-See the [documentation](reference.html#extensions) for a full explanation
-of the current behavior.
-
-### Extension Configuration as Part of Extension Name Deprecated
-
-The previously documented method of appending the extension configuration options as
-a string to the extension name is deprecated and will raise a
-**`DeprecationWarning`** in version 2.6 and an error in 2.7.
-The [`extension_configs`](reference.html#extension_configs) keyword should
-be used instead. See the [documentation](reference.html#extension-configs)
-for a full explanation of the current behavior.
-
-### HeaderId Extension Pending Deprecation
-
-The [HeaderId][hid] Extension is pending deprecation and will raise a
-**`PendingDeprecationWarning`** in version 2.6. The extension will be
-deprecated in version 2.7 and raise an error in version 2.8. Use the
-[Table of Contents][TOC] Extension instead, which offers most of the
-features of the HeaderId Extension and more (support for meta data is missing).
-
-Extension authors who have been using the `slugify` and `unique` functions
-defined in the HeaderId Extension should note that those functions are now
-defined in the Table of Contents extension and should adjust their import
-statements accordingly (`from markdown.extensions.toc import slugify, unique`).
-
-[hid]: extensions/header_id.html
-
-### The `configs` Keyword is Deprecated
-
-Positional arguments and the `configs` keyword on the `markdown.extension.Extension` class
-(and its subclasses) are deprecated. Each individual configuration option should be passed
-to the class as a keyword/value pair. For example. one might have previously initiated
-an extension subclass like this:
-
- ext = SomeExtension(configs={'somekey': 'somevalue'})
-
-That code should be updated to pass in the options directly:
-
- ext = SomeExtension(somekey='somevalue')
-
-Extension authors will want to note that this affects the `makeExtension` function as well.
-Previously it was common for the function to be defined as follows:
-
- def makeExtension(configs=None):
- return SomeExtension(configs=configs)
-
-Extension authors will want to update their code to the following instead:
-
- def makeExtension(**kwargs):
- return SomeExtension(**kwargs)
-
-Failing to do so will result in a **`DeprecationWarning`** and will raise an error in the next
-release. See the [Extension API][mext] documentation for more information.
-
-In the event that an `markdown.extension.Extension` subclass overrides the `__init__` method
-and implements its own configuration handling, then the above may not apply. However, it is
-recommended that the subclass still calls the parent `__init__` method to handle configuration
-options like so:
-
- class SomeExtension(markdown.extension.Extension):
- def __init__(**kwargs):
- # Do pre-config stuff here
- # Set config defaults
- self.config = {
- 'option1' : ['value1', 'description1'],
- 'option2' : ['value2', 'description2']
- }
- # Set user defined configs
- super(MyExtension, self).__init__(**kwargs)
- # Do post-config stuff here
-
-Note the call to `super` to get the benefits of configuration handling from the parent class.
-See the [documentation][config] for more information.
-
-[config]: extensions/api.html#configsettings
-[mext]: extensions/api.html#makeextension
-
-What's New in Python-Markdown 2.6
----------------------------------
-
-### Official Support for PyPy
-
-Official support for [PyPy] has been added. While Python-Markdown has most likely
-worked on PyPy for some time, it is now officially supported and tested on PyPy.
-
-[PyPy]: http://pypy.org/
-
-### YAML Style Meta-Data
-
-The [Meta-Data] Extension now includes optional support for [YAML] style
-meta-data. By default, the YAML deliminators are recognized, however, the
-actual data is parsed as previously. This follows the syntax of
-[MultiMarkdown], which inspired this extension.
-
-<del>Alternatively, if the `yaml` option is set, then the data is parsed as YAML.</del>
-<ins>As the `yaml` option was buggy, it was removed in 2.6.1. It is suggested that a third
-party extension be used if you want true YAML support. See [Issue #390][#390] for a full
-explanation.</ins>
-
-[MultiMarkdown]: http://fletcherpenney.net/MultiMarkdown_Syntax_Guide#metadata
-[Meta-Data]: extensions/meta_data.html
-[YAML]: http://yaml.org/
-[#390]: https://github.com/Python-Markdown/markdown/issues/390
-
-### Table of Contents Extension Refactored
-
-The [Table of Contents][TOC] Extension has been refactored and some new features
-have been added. See the documentation for a full explanation of each feature
-listed below:
-
-* The extension now assigns the Table of Contents to the `toc` attribute of
- the Markdown class regardless of whether a "marker" was found in the document.
- Third party frameworks no longer need to insert a "marker," run the document
- through Markdown, then extract the Table of Contents from the document.
-
-* The Table of Contents Extension is now a "registered extension." Therefore, when the `reset`
- method of the Markdown class is called, the `toc` attribute on the Markdown
- class is cleared (set to an empty string).
-
-* When the `marker` configuration option is set to an empty string, the parser completely
- skips the process of searching the document for markers. This should save parsing
- time when the Table of Contents Extension is being used only to assign ids to headers.
-
-* A `separator` configuration option has been added allowing users to override the
- separator character used by the slugify function.
-
-* A `baselevel` configuration option has been added allowing users to set the base level
- of headers in their documents (h1-h6). This allows the header levels to be
- automatically adjusted to fit within the hierarchy of an HTML template.
-
-[TOC]: extensions/toc.html
-
-### Pygments can now be disabled
-
-The [CodeHilite][ch] Extension has gained a new configuration option: `use_pygments`.
-The option is `True` by default, however, it allows one to turn off Pygments code
-highlighting (set to `False`) while preserving the language detection features of
-the extension. Note that Pygments language guessing is not used as that would 'use
-Pygments'. If a language is defined for a code block, it will be assigned to the
-`<code>` tag as a class in the manner suggested by the [HTML5 spec][spec]
-(alternate output will not be entertained) and could potentially be used by a JavaScript
-library in the browser to highlight the code block.
-
-[ch]: extensions/code_hilite.html
-[spec]: http://www.w3.org/TR/html5/text-level-semantics.html#the-code-element
-
-### Miscellaneous
-
-Test coverage has been improved including running [flake8]. While those changes
-will not directly effect end users, the code is being better tested which will
-benefit everyone.
-
-[flake8]: https://flake8.readthedocs.io/en/latest/
-
-Various bug fixes have been made. See the
-[commit log](https://github.com/Python-Markdown/markdown/commits/master)
-for a complete history of the changes.