version 0.011; 2017-07-25
* port to Perl 5.23.6, where applying a regexp to codepoints in the
upper half of the native unsigned integer range by default causes
a deprecation warning
* update tests for Perl 5.27.1, where codepoints in the upper half of
the native unsigned integer range are illegal
* extend tests to examine codepoints above the 32-bit range on 64-bit
Perl builds
* in test suite, avoid codepoint deprecation warnings from Perl 5.23.6
and above
* in documentation, use four-column indentation for all verbatim
material
* limit the local muffling of "utf8"-category warnings to those Perl
versions that generate the unwanted warnings
version 0.010; 2017-07-19
* port to Perl 5.19.4, where the C type of array indices has changed
* update test suite to not rely on . in @INC, which is no longer
necessarily there from Perl 5.25.7
* test that all modules have matching version numbers
* no longer include a Makefile.PL in the distribution
* in META.{yml,json}, point to public bug tracker
* correct some typos in documentation
version 0.009; 2011-10-27
* change usage of Params::Classify functions to take advantage of
custom ops in Params::Classify 0.012
* fix a latent bug where SvCUR() was used without first checking SvPOK()
(but SvPOK was guaranteed by other circumstances)
* correct dynamic_config setting to 0
* include META.json in distribution
* convert .cvsignore to .gitignore
* add MYMETA.json to .gitignore
version 0.008; 2010-10-24
* in XS, declare "PROTOTYPES: DISABLE" to prevent automatic generation
of unintended prototypes
* jump through hoops to avoid compiler warnings
* in t/setup_pp.pl, avoid a warning and consequent false test failure
that occurs if XSLoader::load() is given no arguments, which is now
a valid usage
version 0.007; 2010-10-15
* bugfix: avoid memory leak in construction of content objects
* in XS, use newSVpvs(), sv_catpvs_nomg(), and gv_stashpvs() wherever
appropriate
* in XS, use PERL_NO_GET_CONTEXT for efficiency
* use full stricture in test suite
* also test POD coverage of pure Perl implementation
* in test suite, make all numeric comparisons against $] stringify it
first, to avoid architecture-dependent problems with floating point
rounding giving it an unexpected numeric value
* in Build.PL, explicitly set needs_compiler to avoid bogus
auto-dependency on ExtUtils::CBuilder
* list XML::Easy::SimpleSchemaUtil and
XML::Easy::Transform::RationalizeNamespacePrefixes in documentation's
lists of other distributions
* in Build.PL, complete declaration of configure-time requirements
* move declaration of $VERSION in XML::Easy::Syntax to match all
other modules
* slightly reformat some C code to avoid exceeding 80 columns
version 0.006; 2010-05-20
* bugfix: in XS, check SvOBJECT before looking at SvSTASH, because
the latter isn't guaranteed to be meaningful otherwise
* port to Perl 5.11, supporting new first-class regexp objects in
type checking
* check for required Perl version at runtime
* in XS, avoid using "class" as a variable name, for compatibility
with C++ compilers
* in Build.PL, explicitly declare configure-time requirements
* remove bogus "exit 0" from Build.PL
* in XML::Easy::NodeBasics documentation, reference
XML::Easy::ProceduralWriter
* add MYMETA.yml to .cvsignore
version 0.005; 2009-08-16
* bugfix: in xml_content_object(), xml_content(), and xml_element(),
avoid clobbering function arguments (this occurred when passing a
content array as an argument)
* in XML::Easy::NodeBasics, add node equality comparison functions
* introduce the term "twine" for content
arrays, and corresponding methods and functions
(XML::Easy::Content->twine, XML::Easy::Element->content_twine,
XML::Easy::Classify::is_xml_content_twine,
XML::Easy::Text::xml10_read_{content,extparsedent}_twine,
XML::Easy::NodeBasics::xml{,_c,_e}_content_twine)
* in XML::Easy::Classify, add "check_" functions for argument checking
* in XML::Easy::NodeBasics, add short names for all functions
* tweak introductory documentation to improve comprehension
* in documentation, note that returned twine arrays and attribute
hashes must not be modified
* list Test::XML::Easy in documentation's list of other distributions
version 0.004; 2009-05-20
* bugfix: correct character classification code that was incorrectly
rejecting characters U+ac00 to U+d7a3 (precomposed Hangul syllables)
in XML names
* XS implementation of low-level constructors and accessors for element
and content nodes
* document the XML::Easy::Transform:: namespace
* in XS code, fix the char_unicode() function to return the documented
sentinel value (it was returning a different value than intended,
but one which still operated correctly)
version 0.003; 2009-05-13
* in XS code, use the correct "PREINIT:" instead of "INIT:" to introduce
variable declarations
* in XS code, use the cheaper SvOBJECT() in place of truth-value uses
of SvSTASH()
* use simpler "parent" pragma in place of "base"
version 0.002; 2009-03-07
* in t/syntax_main.t, shortcut test for regexp iteration limit bug on
pre-5.10 perls, because the test is liable to overflow the stack
* work around Module::Build bug that was causing broken
ExtUtils::CBuilder objects that failed to compile anything
* to check whether C compilation is available, use Module::Build's
more robust ->have_c_compiler method, rather than just checking for
the availability of a C builder object
* avoid return with expression in void function (not valid in C90)
* add casts for pointer target signedness, and other small changes to
the C code, to avoid compiler warnings
* in XML::Easy::Syntax documentation, note the possibility of pre-5.10
perls overflowing the stack when executing regexps
version 0.001; 2009-03-03
* introduce class XML::Easy::Content to encapsulate XML content
* add friendlier node manipulation functions in XML::Easy::NodeBasics
* bugfix: work around perl bug that was causing spurious errors in
the pure-Perl parser and serialiser for inputs with long (>= 32 Ki)
sequences of characters (the XS parser and serialiser were unaffected)
* document that the long-input perl bug affects the XML::Easy::Syntax
regular expressions in a way that can't be effectively worked around
* bugfix: make pure Perl parser always generate its own exception,
not a Perl exception, when processing a character reference for
an illegal Unicode character such as U+d800, and not emit a Perl
warning when processing a character reference for a dubious Unicode
character such as U+1ffff (the XS parser is unaffected)
* bugfix: make element construction and pure Perl serialiser always
generate its own exception, not a Perl exception, when given data
containing an illegal Unicode character such as U+d800 (the XS
serialiser is unaffected)
* new module XML::Easy::Classify, with data classification functions
* move parser and serialiser into new module XML::Easy::Text, leaving
XML::Easy itself to be just documentation of the suite
* revise documentation and some code for consistency of terminology
* detect and complain about use of non-string input to parser functions
* detect and complain about use of invalid attribute name in
$element->attribute()
* bugfix: properly detect and complain about use of glob as encoding
name argument to XS serialiser functions (they were being treated
as undef on perl 5.8)
* where a content array or attribute hash has multiple errors,
consistently complain about the first one rather than any other
* detect and complain about globs used in place of string arguments,
in XS version (the pure-Perl version already detected them)
* add #line directive to XML::Easy::Text to give useful line numbers
in error messages regarding the code in the __DATA__ section
* more test cases
* don't use literal CR in t/read.data, because it was causing signature
checking problems
* avoid declaration-after-statement in C code (not valid in C90)
* use full stricture in Build.PL
version 0.000; 2008-04-08
* initial released version