Skip to content

Commit

Permalink
Restore some md3 branch deletions which are not (yet) relevent.
Browse files Browse the repository at this point in the history
  • Loading branch information
waylan committed Dec 6, 2017
1 parent dd56b87 commit 90acf0e
Show file tree
Hide file tree
Showing 8 changed files with 233 additions and 210 deletions.
90 changes: 45 additions & 45 deletions docs/change_log/release-2.1.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,14 @@ title: Release Notes for v2.1
Python-Markdown 2.1 Release Notes
=================================

We are pleased to release Python-Markdown 2.1 which makes many
improvements on 2.0. In fact, we consider 2.1 to be what 2.0 should have been.
While 2.1 consists mostly of bug fixes, bringing Python-Markdown more inline
with other implementations, some internal improvements were made to the parser,
We are pleased to release Python-Markdown 2.1 which makes many
improvements on 2.0. In fact, we consider 2.1 to be what 2.0 should have been.
While 2.1 consists mostly of bug fixes, bringing Python-Markdown more inline
with other implementations, some internal improvements were made to the parser,
a few new built-in extensions were added, and HTML5 support was added.

Python-Markdown supports Python versions 2.4, 2.5, 2.6, 2.7, 3.1, and 3.2 out
of the box. In fact, the same code base installs on Python 3.1 and 3.2 with no
Python-Markdown supports Python versions 2.4, 2.5, 2.6, 2.7, 3.1, and 3.2 out
of the box. In fact, the same code base installs on Python 3.1 and 3.2 with no
extra work by the end user.

Backwards-incompatible Changes
Expand All @@ -19,34 +19,34 @@ Backwards-incompatible Changes
While Python-Markdown has received only minor internal changes since the last
release, there are a few backward-incompatible changes to note:

* Support had been dropped for Python 2.3. No guarantees are made that the
library will work in any version of Python lower than 2.4. Additionally, while
the library had been tested with Python 2.4, consider Python 2.4 support to be
* Support had been dropped for Python 2.3. No guarantees are made that the
library will work in any version of Python lower than 2.4. Additionally, while
the library had been tested with Python 2.4, consider Python 2.4 support to be
depreciated. It is not likely that any future versions will continue to support
any version of Python less than 2.5. Note that Python 3.0 is not supported due
to a bug in its 2to3 tool. If you must use Python-Markdown with Python 3.0, it
any version of Python less than 2.5. Note that Python 3.0 is not supported due
to a bug in its 2to3 tool. If you must use Python-Markdown with Python 3.0, it
is suggested you manually use Python 3.1's 2to3 tool to do a conversion.

* Python-Markdown previously accepted positional arguments on its class and
wrapper methods. It now expects keyword arguments. Currently, the positional
arguments should continue to work, but the solution feels hacky and may be
removed in a future version. All users are encouraged to use keyword arguments
arguments should continue to work, but the solution feels hacky and may be
removed in a future version. All users are encouraged to use keyword arguments
as documented in the [Library Reference](../reference.md).

* Past versions of Python-Markdown provided module level Global variables which
controlled the behavior of a few different aspects of the parser. Those global
variables have been replaced with attributes on the Markdown class.
Additionally, those attributes are settable as keyword arguments when
initializing a class instance. Therefore, if you were editing the global
variables (either by editing the source or by overriding them in your code),
you should now set them on the class. See the
variables have been replaced with attributes on the Markdown class.
Additionally, those attributes are settable as keyword arguments when
initializing a class instance. Therefore, if you were editing the global
variables (either by editing the source or by overriding them in your code),
you should now set them on the class. See the
[Library Reference](../reference.md) for the options available.

* If you have been using the HeaderId extension
to define custom ids on headers, you will want to switch to using the new
Attribute List extension. The HeaderId extension
now only auto-generates ids on headers which have not already had ids defined.
Note that the Extra extension has been switched to use
* If you have been using the [HeaderId](../extensions.md) extension
to define custom ids on headers, you will want to switch to using the new
[Attribute List](../extensions/attr_list.md) extension. The HeaderId extension
now only auto-generates ids on headers which have not already had ids defined.
Note that the [Extra](../extensions/extra.md) extension has been switched to use
Attribute Lists instead of HeaderId as it did previously.

* Some code was moved into the `markdown.util` namespace which was previously
Expand All @@ -63,56 +63,56 @@ may want to remove them yourself as they are unlikely to work properly.
What's New in Python-Markdown 2.1
---------------------------------

Three new extensions were added. Attribute Lists,
which was inspired by Maruku's feature of the same name,
Newline to Break, which was inspired by GitHub
Flavored Markdown, and Smart Strong, which
Three new extensions were added. [Attribute Lists](../extensions/attr_list.md),
which was inspired by Maruku's feature of the same name,
[Newline to Break](../extensions/nl2br.md), which was inspired by GitHub
Flavored Markdown, and [Smart Strong](../extensions/smart_strong.md), which
fills a hole in the Extra extension.

HTML5 is now supported. All this really means is that new block level elements
HTML5 is now supported. All this really means is that new block level elements
introduced in the HTML5 spec are now properly recognized as raw HTML. As
valid HTML5 can consist of either HTML4 or XHTML1, there is no need to add a
new HTML5 serializers. That said, `html5` and `xhtml5` have been added as
new HTML5 serializers. That said, `html5` and `xhtml5` have been added as
aliases of the `html4` and `xhtml1` serializers respectively.

An XHTML serializer has been added. Previously, ElementTree's XML serializer
An XHTML serializer has been added. Previously, ElementTree's XML serializer
was being used for XHTML output. With the new serializer we are able to avoid
more invalid output like empty elements (i.e., `<p />`) which can choke
more invalid output like empty elements (i.e., `<p />`) which can choke
browsers.

Improved support for Python 3.x. Now when running `setupy.py install` in
Python 3.1 or greater the 2to3 tool is run automatically. Note that Python 3.0
Improved support for Python 3.x. Now when running `setupy.py install` in
Python 3.1 or greater the 2to3 tool is run automatically. Note that Python 3.0
is not supported due to a bug in its 2to3 tool. If you must use Python-Markdown
with Python 3.0, it is suggested you manually use Python 3.1's 2to3 tool to
do a conversion.

Methods on instances of the Markdown class that do not return results can now
be changed allowing one to do `md.reset().convert(moretext)`.

The Markdown class was refactored so that a subclass could define it's own
The Markdown class was refactored so that a subclass could define it's own
`build_parser` method which would build a completely different parser. In
other words, one could use the basic machinery in the markdown library to
other words, one could use the basic machinery in the markdown library to
build a parser of a different markup language without the overhead of building
the markdown parser and throwing it away.

Import statements within markdown have been improved so that third party
Import statements within markdown have been improved so that third party
libraries can embed the markdown library if they desire (licensing permitting).

Added support for Python's `-m` command line option. You can run the markdown
package as a command line script. Do `python -m markdown [options] [args]`.
Note that this is only fully supported in Python 2.7+. Python 2.5 & 2.6
Added support for Python's `-m` command line option. You can run the markdown
package as a command line script. Do `python -m markdown [options] [args]`.
Note that this is only fully supported in Python 2.7+. Python 2.5 & 2.6
require you to call the module directly (`markdown.__main__`) rather than
the package (`markdown`). This does not work in Python 2.4.

The command line script has been renamed to `markdown_py` which avoids all the
various problems we had with previous names. Also improved the command line
The command line script has been renamed to `markdown_py` which avoids all the
various problems we had with previous names. Also improved the command line
script to accept input on `stdin`.

The testing framework has been completely rebuilt using the Nose testing
The testing framework has been completely rebuilt using the Nose testing
framework. This provides a number of benefits including the ability to better
test the built-in extensions and other options available to change the parsing
test the built-in extensions and other options available to change the parsing
behavior. See the [Test Suite](../test_suite.md) documentation for details.

Various bug fixes have been made, which are too numerous to list here. See the
[commit log](https://github.com/Python-Markdown/markdown/commits/master) for a
Various bug fixes have been made, which are too numerous to list here. See the
[commit log](https://github.com/Python-Markdown/markdown/commits/master) for a
complete history of the changes.
32 changes: 16 additions & 16 deletions docs/change_log/release-2.2.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,48 +3,48 @@ title: Release Notes for v2.2
Python-Markdown 2.2 Release Notes
=================================

We are pleased to release Python-Markdown 2.2 which makes improvements on 2.1.
While 2.2 is primarily a bug fix release, some internal improvements were made
We are pleased to release Python-Markdown 2.2 which makes improvements on 2.1.
While 2.2 is primarily a bug fix release, some internal improvements were made
to the parser, and a few security issues were resolved.

Python-Markdown supports Python versions 2.5, 2.6, 2.7, 3.1, and 3.2 out
of the box.
Python-Markdown supports Python versions 2.5, 2.6, 2.7, 3.1, and 3.2 out
of the box.

Backwards-incompatible Changes
------------------------------

While Python-Markdown has received only minor internal changes since the last
release, there are a few backward-incompatible changes to note:

* Support had been dropped for Python 2.4. No guarantees are made that the
library will work in any version of Python lower than 2.5. Additionally, while
the library had been tested with Python 2.5, consider Python 2.5 support to be
* Support had been dropped for Python 2.4. No guarantees are made that the
library will work in any version of Python lower than 2.5. Additionally, while
the library had been tested with Python 2.5, consider Python 2.5 support to be
depreciated. It is not likely that any future versions will continue to support
any version of Python less than 2.6.

* For many years Python-Markdown has identified `<ins>` and `<del>` tags in
* For many years Python-Markdown has identified `<ins>` and `<del>` tags in
raw HTML input as block level tags. As they are actually inline level tags,
this behavior has been changed. This may result in slightly different output.
While in most cases, the new output is more correct, there may be a few edge
cases where a document author has relied on the previous incorrect behavior.
It is likely that a few adjustments may need to be made to those documents.

* The behavior of the `enable_attributes` keyword has been slightly altered.
If authors have been using attributes in documents with `safe_mode` on, those
If authors have been using attributes in documents with `safe_mode` on, those
attributes will no longer be parsed unless `enable_attributes` is explicitly
set to `True`. This change was made to prevent untrusted authors from injecting
potentially harmful JavaScript in documents. This change had no effect when
potentially harmful JavaScript in documents. This change had no effect when
not in `safe_mode`.

What's New in Python-Markdown 2.2
---------------------------------

The docs were refactored and can now be found at
The docs were refactored and can now be found at
<http://packages.python.org/Markdown/>. The docs are now maintained in the
Repository and are generated by the `setup.py build_docs` command.

The Sane_Lists
extension was added. The Sane Lists Extension alters the behavior of the
The [Sane_Lists](../extensions/sane_lists.md)
extension was added. The Sane Lists Extension alters the behavior of the
Markdown List syntax to be less surprising by not allowing the mixing of list
types. In other words, an ordered list will not continue when an unordered list
item is encountered and vice versa.
Expand All @@ -56,9 +56,9 @@ As long as the provided module contains a compatible extension, the extension
will be loaded.

The BlockParser API was slightly altered to allow `blockprocessor.run` to return
`True` or `False` which provides more control to the block processor loop from
`True` or `False` which provides more control to the block processor loop from
within any Blockprocessor instance.

Various bug fixes have been made. See the
[commit log](https://github.com/Python-Markdown/markdown/commits/master)
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.
44 changes: 23 additions & 21 deletions docs/change_log/release-2.3.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ Python-Markdown 2.3 Release Notes
=================================

We are pleased to release Python-Markdown 2.3 which adds one new extension,
removes a few old (obsolete) extensions, and now runs on both Python 2 and
Python 3 without running the 2to3 conversion tool. See the list of changes
removes a few old (obsolete) extensions, and now runs on both Python 2 and
Python 3 without running the 2to3 conversion tool. See the list of changes
below for details.

Python-Markdown supports Python versions 2.6, 2.7, 3.1, 3.2, and 3.3.
Expand All @@ -15,17 +15,17 @@ Backwards-incompatible Changes

* Support has been dropped for Python 2.5. No guarantees are made that the
library will work in any version of Python lower than 2.6. As all supported
Python versions include the ElementTree library, Python-Markdown will no
Python versions include the ElementTree library, Python-Markdown will no
longer try to import a third-party installation of ElementTree.

* All classes are now "new-style" classes. In other words, all classes
subclass from 'object'. While this is not likely to affect most users,
subclass from 'object'. While this is not likely to affect most users,
extension authors may need to make a few minor adjustments to their code.

* "safe_mode" has been further restricted. Markdown formatted links must be
of a known white-listed scheme when in "safe_mode" or the URL is discarded.
The white-listed schemes are: 'HTTP', 'HTTPS', 'FTP', 'FTPS', 'MAILTO', and
'news'. Schemeless URLs are also permitted, but are checked in other ways -
'news'. Schemeless URLs are also permitted, but are checked in other ways -
as they have been for some time.

* The ids assigned to footnotes now contain a dash (`-`) rather than a colon
Expand All @@ -36,24 +36,25 @@ you are outputting XHTML (the default) or HTML4.

* The `force_linenos` configuration setting of the CodeHilite extension has been
marked as **Pending Deprecation** and a new setting `linenums` has been added to
replace it. See documentation for the CodeHilite Extension for an explanation
of the new `linenums` setting. The new setting will honor the old
`force_linenos` if it is set, but it will raise a `PendingDeprecationWarning`
replace it. See documentation for the [CodeHilite Extension] for an explanation
of the new `linenums` setting. The new setting will honor the old
`force_linenos` if it is set, but it will raise a `PendingDeprecationWarning`
and will likely be removed in a future version of Python-Markdown.

[CodeHilite Extension]: ../extensions/codehilite.md

* The "RSS" extension has been removed and no longer ships with Python-Markdown.
If you would like to continue using the extension (not recommended), it is
If you would like to continue using the extension (not recommended), it is
archived on [GitHub](https://gist.github.com/waylan/4773365).

* The "HTML Tidy" Extension has been removed and no longer ships with Python-Markdown.
If you would like to continue using the extension (not recommended), it is
archived on [GitHub](https://gist.github.com/waylan/5152650). Note that the
underlying library, uTidylib, is not Python 3 compatible. Instead, it is
recommended that the newer [PyTidyLib] (version 0.2.2+ for Python 3
comparability - install from GitHub not PyPI) be used. As the API for that
library is rather simple, it is recommended that the output of Markdown be
wrapped in a call to PyTidyLib rather than using an extension (for example:
If you would like to continue using the extension (not recommended), it is
archived on [GitHub](https://gist.github.com/waylan/5152650). Note that the
underlying library, uTidylib, is not Python 3 compatible. Instead, it is
recommended that the newer [PyTidyLib] (version 0.2.2+ for Python 3
comparability - install from GitHub not PyPI) be used. As the API for that
library is rather simple, it is recommended that the output of Markdown be
wrapped in a call to PyTidyLib rather than using an extension (for example:
`tidylib.tidy_fragment(markdown.markdown(source), options={...})`).

[PyTidyLib]: http://countergram.com/open-source/pytidylib
Expand All @@ -65,16 +66,17 @@ What's New in Python-Markdown 2.3
any need for running the 2to3 conversion tool. This not only simplifies testing,
but by using Unicode_literals, results in more consistent behavior across
Python versions. Additionally, the relative imports (made possible in Python 2
via absolute_import) allows the entire library to more easily be embedded in a
sub-directory of another project. The various files within the library will
via absolute_import) allows the entire library to more easily be embedded in a
sub-directory of another project. The various files within the library will
still import each other properly even though 'markdown' may not be in Python's
root namespace.

* The Admonition Extension has been added, which implements [rST-style][rST]
admonitions in the Markdown syntax. However, be warned that this extension
is experimental and the syntax and behavior is still subject to change. Please
* The [Admonition Extension] has been added, which implements [rST-style][rST]
admonitions in the Markdown syntax. However, be warned that this extension
is experimental and the syntax and behavior is still subject to change. Please
try it out and report bugs and/or improvements.

[Admonition Extension]: ../extensions/admonition.md
[rST]: http://docutils.sourceforge.net/docs/ref/rst/directives.html#specific-admonitions

* Various bug fixes have been made. See the
Expand Down
Loading

0 comments on commit 90acf0e

Please sign in to comment.