3 - remove_from_attribute and related helpers (remove_class, add_class)
5 - Several patches for incorrect functionality (thanks to Jim Miner &
8 - Don't throw away leading PCDATA in $text, in _hacky_tag_parser().
9 This is important so we can use from_html and replace_content to
10 insert fragments with or without markup into templates.
12 - Fix matching against attribute value "0" (zero) or "" (empty).
14 - Fix parsing of selectors matching against attribute value "" (empty).
15 (This does not fix parsing of single-quoted attribute values.)
18 - Remove long form ( name, value ) for attributes to set_attribute / add_attribute
19 to allow future enhancements (selector in options).
22 - Add DESTROY method to fix test failures / warnings in perl >= 5.13.1
26 - Perforce escaping of meta-characters in selectors and test (rafl)
27 - New Feature: HTML::Zoom will autoload FilterBuilder functions so that
28 you can avoid a bit of boilerplate in method calls. Now you can replace:
30 $z->select('div')->replace_content("Hello World");
34 $z->replace_content(div => "Hello World");
36 - Lots of changes to FilterBuilder so that functionality matched the docs
37 better, improved the docs and added tests for documented functions to
38 avoid future regressions.
40 - add / to excluded characters in attribute names to correctly parse <br/>
41 - add transform_attribute method (rbuels)
45 - Large chunks of documentation improvements from jnareb
46 - apply_if method from ocharles
47 - selector improvements and bugfixes (jnareb, mst)
51 - mst is an idiot and forgot to add strictures.pm as a dependency
55 - Added support for more selector syntax support including:
64 - HTML::Zoom::MatchWithoutFilter replaced by HTML::Zoom::TransformBuilder
65 - Improved documentation, including documentation for HTML::Zoom::FilterBuilder.
66 - Lots of other refactoring, internal improvements & bugfixes!