XML::Bare Changelog

0.47      2012-02-08 20:24:24 Europe/London
  - Preping release unchanged from trial release.
    The 0.45 release and previous set particular compile options for several different
    platforms.  My release refactoring stripped the Makefile.PL customisations, however
    it appears these are not needed by any of the smoker CPANTS systems, so am releasing
    with really basic compilation driver - see how it goes...

0.46_03   2012-01-28 20:48:45 Europe/London
  - Bug #49906 Simple mode reports content of empty node as integer 1
  - Bug #52762 XML::Simple compatibility mode doesn't support CDATA with attributes
  - Bug #52832 Several memory leaks
  - XML quote decoding on XML read

0.45
  - Missing UTF8 test files now included
  - XML Saving functionality now does size checks to ensure concurrency
    issues do not corrupt XML.
  - Linking under Solaris should now be fixed
  - Line number defines removed from XS compilation to attempt to
    fix some strange compilation problems.

0.44
  - Self closing nodes now printed by xml function
  - UTF8 Handling fixed; thanks go to Nigel Metheringham for the fix
    recommendation as well as the test files
  - Static linking has been fixed
  - 'cc' now used properly in cases where 'gcc' is absent

0.43 ( 3-17-09 )
  - Fixed newly broken add_node problem from 0.42
  - Added a new test to detect fixed problem

0.42 ( 3-16-09 )
  - A number of memory leaks have been fixed
  - XML files included for benchmarking have been replaced with dummy test
    data to avoid licensing problems.

0.41 ( internal )
  - Perl code has been optimized
  - Fixed problem with merge function
  - Added tohtml output
  - Added flag to indicate node read in as CDATA

0.40 ( 12-14-08 )
  - Added schema checking functionality
  - Fixed parsing of nodes with more than one comment block
  - Added error checking to ensure properly closed tags
  - Fixed parsing of attributes without values

0.30 ( 7-02-08 )
  - Add new parsing mode, simple, which simulates XML::Simple.

0.29 ( internal )
  - New function add_node_after
  - Fixed node ordering such that node order is preserved

0.28 ( internal )
  - Altered xml output so that it cleans extraneous input spacing
    and indents mixed values properly.
  - Added prereqs to Makefile.pl
  - Added Test::POD and Test::POD::Coverage tests
  - Fixed incorrect pointer type cast in parser.c
  - Rewrote benchmark system to use templated benchmarking

0.27 ( 11-21-07 )
  - makefile.pl modified to be compatible with Darwin and
    to error out if XCode ( gcc specifically ) is not installed
  - makefile.pl modified to support Perl 5.6+ on Win32 MSVC
    ( previously only Perl 5.8 was supported )
  - parser.c modified to include stdlib.h for malloc in Darwin.
  - Cyclic equality test weakened to allow for differences in
    default sorting of hash keys per perl version.

0.26 ( 11-09-07 )
  - Compatibility with versions before Perl 5.6 is not fruitful.
    Perl 5.6 now required and will likely remain as a requirement.
    It broke too many things.

0.25 ( 11-09-07 )
  - makefile.pl modified to pass -shared option correctly
    to gcc and not the linker. This caused compilation failure
    on certain Solaris systems.

0.24 ( 11-09-07 )
  - Continued makefile.pl changes to recognize some platforms
    use executable extensions for gcc.
  - Remove blank require line from meta.yml. It seemed to break
    the kwalitee rating.

0.23 ( 11-08-07 )
  - Minor change to XS code for potential future Perl 5.005 support

0.22 ( 11-07-07 )
  - Altered makefile.pl to be compatible with more platforms.
  - Removed dependency upon string.h for msvc because it
    was breaking activestate builds.
  - Perl 5.005 allowed, but it fails
  - Comment parsing had an issue when the node containing
    the comment had no direct value. This has now been resolved.
  - Using comments caused ever increasing blank spaces to be added.
    This has now been resolved.
  - A test for comment reading has been added.
  - A test for cyclic equality ( repeated loading and saving ) has
    now been added.

0.21 ( 11-04-07 )
  - Comments are no longer completely ignored. One comment
    node is recognized and stored per non immediate node.

0.20 ( internal )
  - forcearray function has been added
  - simplify function has been added
  - croak now used to error out of an improper call to find_node
  - obj2xml has been corrected; previously newlines would stack
    up at the end of the xml file
    
0.17 ( internal - unstable )
  - Merge updated to handle array and overlap properly
  - del_by_perl function has been added
  - add_node modified to return the added node
  - find_node modified to skip blank values
  - Previously a set of nodes could not be printed out using
    the 'xml' function. This can now be done. ( see perldoc )

0.16 ( internal )
  - Mixed XML is now supported.
  - UTF8 is now parsed properly.

0.15 ( internal )
  - C Parser has been revised greatly in order to make it faster. Internal
    state engine has been rewritten using gotos instead of a switch in order
    make each state more independent and easily optimized by the compiler.

0.14 ( internal )
  - Code that creates Perl hash from parsed XML structure has been
    rewritten in XS instead of Perl. As a result overall speed has been
    increased by 40% or so.

0.13 ( internal )
  - Code that creates Perl hash from parsed XML structure has been
    cleaned up in order to avoid use of a temporary Perl hash.

0.12 ( internal )
  - 'find_node' and 'del_node' functions are now exportable.
  - 'find_node' function will now work properly if called on a single item
    instead of a list of items.
  - Added 'find_by_perl' function to select nodes from a list that match
    a specific perl expression.
  - A performance test script and some xml files are now included and example runs of 
    the test script are in the documentation. XML::Bare is ~14-80 times
    faster than the alternatives.

0.11 ( 6-25-07 )
  - Changed XS code so that it is backwards compatible with older versions of Perl.
  - Changed XS code to use 'blind' pointers, a custom created Perl Scalar. Speed
    is increased as a result for XML with large contiguous values.

0.10 ( 6-21-07 )
  - Made XS routines 30% more efficient. Speed of parsing and perl hash creation
    is now very good in comparison to all currently available alternatives in perl.

0.09 ( 6-20-07 )
  - Rewrote library using XS instead of swig.

0.08 ( 6-20-07 )
  - Parser has been rewritten in C to avoid dependency on g++.
  - After node parsing C tree structure memory is now freed.

0.07 ( 6-19-07 )
  - Modified custom script because it was incorrect in its use of redirection, causing
    some platforms to fail to compile.

0.06 ( 6-17-07 )
  - Modified Makefile to use custom script to switch between g++ and gcc for
    compilation. Even as c, swig interface still did not compile properly with
    g++ on some systems.

0.05 ( 6-16-07 )
  - Ceased using c++ for swig interface; it caused compilation issues on some platforms
  - Fix further output indentation issues due to {value} always being displayed.
    {value} is now displayed as documented.
  - First line of changes was incorrect previously

0.04 ( 06-15-07 )
  - Added clean function
  - Added merge function
  - Bugfix: xml output indentation was off due to parser changes in 0.03
  - Updated documentation

0.03 ( 06-14-07 )
  - Modified makefile to work under windows with Activestate and MSVC
  - Cleaned up parser some and fixed basic mixed xml
  - Added changelog to dist
  - Dist now created from MakeMaker 6.32 ( license and abstract add to Meta.yml )

0.02 ( 06-13-07 )
  - Changed version line in perl module from my to global to allow proper cpan indexing

0.01 ( 06-13-07 )
  - First release