Changelog
v0.3
Released August 24, 2013
(changes):
- Added complete support for HTML Tags, including forms like
<ref>foo</ref>, <ref name="bar"/>, and wiki-markup tags like bold
('''), italics (''), and lists (*, #, ; and :).
- Added support for ExternalLinks (http://example.com/ and
[http://example.com/ Example]).
- Wikicode's filter() methods are now passed
recursive=True by default instead of False. This is a breaking change
if you rely on any filter() methods being non-recursive by default.
- Added a matches() method to Wikicode for
page/template name comparisons.
- The obj param of Wikicode.insert_before(),
insert_after(), replace(), and
remove() now accepts Wikicode objects and
strings representing parts of wikitext, instead of just nodes. These methods
also make all possible substitutions instead of just one.
- Renamed Template.has_param() to
has() for consistency with Template‘s
other methods; has_param() is now an alias.
- The C tokenizer extension now works on Python 3 in addition to Python 2.7.
- Various bugfixes, internal changes, and cleanup.
v0.2
Released June 20, 2013
(changes):
- The parser now fully supports Python 3 in addition to Python 2.7.
- Added a C tokenizer extension that is significantly faster than its Python
equivalent. It is enabled by default (if available) and can be toggled by
setting mwparserfromhell.parser.use_c to a boolean value.
- Added a complete set of unit tests covering parsing and wikicode
manipulation.
- Renamed filter_links() to filter_wikilinks() (applies to
ifilter() as well).
- Added filter methods for Arguments,
Comments, Headings, and
HTMLEntities.
- Added before param to Template.add(); renamed
force_nonconformity to preserve_spacing.
- Added include_lead param to Wikicode.get_sections().
- Removed flat param from get_sections().
- Removed force_no_field param from Template.remove().
- Added support for Travis CI.
- Added note about Windows build issue in the README.
- The tokenizer will limit itself to a realistic recursion depth to prevent
errors and unreasonably long parse times.
- Fixed how some nodes’ attribute setters handle input.
- Fixed multiple bugs in the tokenizer’s handling of invalid markup.
- Fixed bugs in the implementation of SmartList and
StringMixIn.
- Fixed some broken example code in the README; other copyedits.
- Other bugfixes and code cleanup.