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