6.014 - Remove "use feature 'switch'", update shared test libs
6.012 - Require ODF::lpOD 1.200 (which removes deprecated given/when constructs)
6.011 - Fix test incompatibility on older Perls (<5.26.0)
6.009 - Fix typo (caught only with older Perls)
6.008 - Add hyperlink suport
6.007 - Provide FRAME_FILTER & SPAN_FILTER (not exported by default)
6.006 - Make fmt_node() return characters even in :bytes mode.
6.005 - dumpodf --help improved. ODF::ODF_Helper Documentation tweaks.
Added Hinsert_content tester; various test clean-ups.
6.003 - Added bin/dumpodf script to dump the body tree of an ODF document.
Renamed *_COND constants *_FILTER for consistency with ODF::lpOD
6.002 - Simplify callback protocol: Remove optRESULTS callback return support.
(Users can pass such info out of a callback via closures/curried refs)
6.001 - Work around https://github.com/Perl/perl5/issues/18606
- Fix Hnormalize() bug which inserted an extra space
- Hclean_for_cloning() to remove 'rsid' styles from LibreOffice
which interfere with cloning.
- Hself_or_parent & Hparent added with with optional $stop_cond
to prevent ascending above a specified object type.
Removed self_or_parent (without the 'H').
- Hor_cond(cond1, cond2, ...) to combine XML::Twig search conditions
6.000 - A major overhaul with incompatible API changes.
"Character mode" is now the default and the old ':chars' import tag
is deprectated. Now you only need to
use ODF::lpOD;
use ODF::lpOD_Helper;
A new import tag ':bytes' preserves the old ODF::lpOD
behavior where method args and results must be encoded binary.
Introduced methods Hget_text, Hoffset_into_vtext, Hinsert_element,
Hsplit_element_at, Hdescendants, Hnext_elt, Hnormalize
A new concept is a "prune condition" when searching or collecting
virtual text, to treat specified tags as opaque (i.e. their children
are not visited). This can be used to skip over nested paragraphs
such as may exist inside Frames or Tables.
Results from multi-segment substitutions are now comprehensively
"normalized", eliminating consecutive or zero-length text:s segments
and ensuring that consecutive spaces are not stored in #PCDATA nodes.
New style spans are "hoisted" to the top level in a paragraph
to avoid creating nested spans (existing spans are cloned and
partitioned if necessary around hoisted new spans).
NOTE: Please let me know if you *do* want nested spans -- it should
be easy to make hoisting an option.
3.000 - Hsearch reworked with API change; many bug fixes; test improvements
2.000 - First public release to CPAN
1.xxx - internal use only beginning ca. 2012. Moved from RCS.