<commit_before>title:      Release Notes for v2.5
prev_title: Change Log
prev_url:   change_log.html
next_title: Release Notes for v2.4
next_url:   release-2.4.html

Python-Markdown 2.5 Release Notes
=================================

We are pleased to release Python-Markdown 2.5 which adds a few new features
and fixes various bugs. See the list of changes below for details.

Python-Markdown supports Python versions 2.6, 2.7, 3.2, 3.3, and 3.4.

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

* [TBD]

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

* The [Smarty Extension] has had a number of additional configuration settings
added, which allows one to define their own sustitutions to better support
languages other than English. Thanks to [Martin Altmayer] for implementing this feature.

[Smarty Extension]: extensions/smarty.html
[<NAME>er]:https://github.com/MartinAltmayer

* The Extension Configuration code has been refactord to make it a little easier 
for extension authors to work with config settings. As a result, the 
[`extension_configs`][ec] keyword now accepts a dictionary rather than requiring 
a list of tuples. A list of tuples is still supported so no one needs to change 
their existing code. This should also simplify the learning curve for new users.

[ec]: reference.html#extension_configs

* The [Command Line Interface][cli] now accepts a `--extensions_config` (or `-c`) option
which accepts a filename and passes the parsed content of a [YAML] or [JSON] file to the 
[`extension_configs`][ec] keyword of the `markdown.Markdown` class. The conetents of 
the YAML or JSON must map to a Python Dictionary which matches the format required 
by the `extension_configs` kerword. Note that [PyYAML] is required to parse YAML files.

[cli]: cli.html#using-extensions
[YAML]: http://yaml.org/
[JSON]: http://json.org/
[PyYAML]: http://pyyaml.org/

* There have been various refactors of the testing framework. While those changes
will not directly effect end users, the code is being better tested which will 
benefit everyone.

* Various bug fixes have been made.  See the
[commit log](https://github.com/waylan/Python-Markdown/commits/master)
for a complete history of the changes.<commit_msg>Note deprecation of `force_linenums` keyword in release notes.<commit_after>title:      Release Notes for v2.5
prev_title: Change Log
prev_url:   change_log.html
next_title: Release Notes for v2.4
next_url:   release-2.4.html

Python-Markdown 2.5 Release Notes
=================================

We are pleased to release Python-Markdown 2.5 which adds a few new features
and fixes various bugs. See the list of changes below for details.

Python-Markdown supports Python versions 2.6, 2.7, 3.2, 3.3, and 3.4.

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

* The `force_linenos` config key on the [CodeHilite Extension] has been deprecated
and will raise a `KeyError` if provided. In the previous release (2.4), it was issuing 
a `DeprecationWarning`. The [`linenums`][linenums] keyword should be used instead,
which provides more control of the output.

[CodeHilite Extension]: extensions/code_hilite.html
[linenumes]: extensions/code_hilite.html#usage

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

* The [Smarty Extension] has had a number of additional configuration settings
added, which allows one to define their own subtitutions to better support
languages other than English. Thanks to [Martin Altmayer] for implementing this feature.

[Smarty Extension]: extensions/smarty.html
[<NAME>er]:https://github.com/MartinAltmayer

* The Extension Configuration code has been refactord to make it a little easier 
for extension authors to work with config settings. As a result, the 
[`extension_configs`][ec] keyword now accepts a dictionary rather than requiring 
a list of tuples. A list of tuples is still supported so no one needs to change 
their existing code. This should also simplify the learning curve for new users.

[ec]: reference.html#extension_configs

* The [Command Line Interface][cli] now accepts a `--extensions_config` (or `-c`) option
which accepts a filename and passes the parsed content of a [YAML] or [JSON] file to the 
[`extension_configs`][ec] keyword of the `markdown.Markdown` class. The contents of 
the YAML or JSON must map to a Python Dictionary which matches the format required 
by the `extension_configs` kerword. Note that [PyYAML] is required to parse YAML files.

[cli]: cli.html#using-extensions
[YAML]: http://yaml.org/
[JSON]: http://json.org/
[PyYAML]: http://pyyaml.org/

* There have been various refactors of the testing framework. While those changes
will not directly effect end users, the code is being better tested which will 
benefit everyone.

* Various bug fixes have been made.  See the
[commit log](https://github.com/waylan/Python-Markdown/commits/master)
for a complete history of the changes.
{'fraction_non_alphanumeric': 0.11099899091826437, 'fraction_numerical': 0.009283551967709384, 'mean_word_length': 4.051987767584098, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 4, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1507614', 'n_tokens_mistral': 1424, 'n_tokens_neox': 1354, 'n_words': 626}