SCEW -- History of visible changes.

Copyright (C) 2002-2018 Aleix Conchillo Flaqué

See the end for copying conditions.

------------------------------------------------------------------------

* Version 1.2.0 (2018/09/15)

** Fixes:

   - Do not ignore white spaces in text nodes even if
     scew_parser_ignore_whitespace is set to true.
     (closes patch #9568, reported by Felipe Provenzano)

------------------------------------------------------------------------

* Version 1.1.9 (2018/02/16)

** Fixes:

   - Fix gcc warnings undetected in OS X.

------------------------------------------------------------------------

* Version 1.1.8 (2018/02/16)

** Fixes:

   - Fix element content printing with strings with 256, 512... sizes.
     (closes #53130, thanks to Felipe Provenzano)

   - Fix compiler warnings found in IAR Workbench compiler.
     (reported by Nasir Alfarid)

------------------------------------------------------------------------

* Version 1.1.7 (2014/03/12)

** Fixes:

   - More initial whitespace fixes and off-by-one errors when parsing
     streams causes invalid XMLs and therefore Expat parsing errors.
     (reported by Anup Rao)

------------------------------------------------------------------------

* Version 1.1.6 (2014/02/24)

** Fixes:

   - Skipping initial whitespaces when parsing streams causes invalid
     XMLs and therefore Expat parsing errors (not fully fixed in 1.1.3).
     (reported by Anup Rao)

------------------------------------------------------------------------

* Version 1.1.5 (2014/01/13)

** Fixes:

   - Fix error code initialization per-thread.
     (bug #41001)

------------------------------------------------------------------------

* Version 1.1.4 (2013/03/16)

** Fixes:

   - Export scew_strescape.
     (bug #38361)

------------------------------------------------------------------------

* Version 1.1.3 (2010/09/14)

** Fixes:

   - Fix compilation for ARM platforms.
     (reported by Anup Rao)

   - Skipping initial whitespaces when parsing streams causes invalid
     XMLs and therefore Expat parsing errors.
     (reported by Anup Rao)

------------------------------------------------------------------------

* Version 1.1.2 (2010/06/04)

** Fixes:

   - Precondition violation when assigning preamble to tree after
     trimming and becoming NULL (scew/xparser.c).
     (reported by Rudolf Alexander Kerbitz)

------------------------------------------------------------------------

* Version 1.1.1 (2009/12/11)

** Changes:

   - Element contents and attribute values are now escaped when
     printing by using the new scew_strescape function.

   - Examples correctly output UTF-16 characters in Windows console.

------------------------------------------------------------------------

* Version 1.1.0 (2009/11/30)

** API changes:

   - scew_tree_compare and scew_element_compare now receive an extra
     argument to specify user defined comparisons.

** Changes:

   - Tree and element comparison function can now take a user defined
     comparison function.

** Fixes:

   - Missing _cpluplus closing brace in printer.h.
     (closes #28130)

   - Printer stops printing when element with zero-length contents is
     encountered.
     (closes #28125)

------------------------------------------------------------------------

* Version 1.0.0 (2009/10/30)

** API changes:

   - scew_parser_load now uses an SCEW reader to read the XML
     document. It also returns a scew_tree giving the user to
     responsibility to free it.

   - scew_parser_tree has been removed.

   - Parse loading notifications (via hooks) can be added for elements
     and trees.

   - A new type, scew_printer, has been added to provide XML document
     printing. Printers work with any SCEW writer type to perform the
     actual output.

   - Two new types, scew_reader and scew_writer, have been created to
     support any type of I/O. Two default I/O interfaces are provided:
     files and memory buffers. New I/O sources can be easily added.

   - More functions to delete attributes and child elements have been
     added to the scew_element interface.

   - Attribute functions related to elements have been moved to the
     scew_element interface.

   - Some element functions have been renamed, mostly the ones related
     to attributes.

   - Added copy and comparison functions in most SCEW types: trees,
     elements and attributes.

   - A new type, scew_list, has been defined and used for scew_element
     children and attributes. scew_list provides a general way to work
     with lists, thus no code repetition is done and there is a
     flexible and general way to work with lists.

   - Added new scew_bool type. In the future, this should be changed
     in favor of the bool type defined by C99.

   - Added scew_element_detach which detaches an element from its
     parent (it does not free it).
     (suggested by Alex Katebi)

   - Added scew_element_parent which returns an element's parent if
     any.
     (thanks to dsk AT purdue DOT edu and Alex Katebi)

   - Added scew_element_add_pair which allows to add a new attribute
     with a name and contents.
     (thanks to Christopher Layne)

** Changes:

   - Windows support has been updated to Microsoft Visual C++ 2008. It
     is now also possible to build SCEW DLLs and SCEW examples.

   - UTF-16 is better supported (only under Windows platforms).

   - XML preamble (anything between XML declaration and root element)
     is now parsed.

   - XML declaration standalone attribute is now used.

   - Unit Test cases have been added using Check unit testing
     framework (C99 needed).
     (see http://check.sf.net)

   - Code has been cleaned to allow better definition of private and
     public interfaces.

   - Documentation has been improved and organized into modules.

   - SCEW now uses libtool to generate a static or dynamic library.

   - Thread support can now be disabled (see ./configure --help).

** Fixes:

   - Fix compilation warnings in error.c and parser.c.
     (reported by Aaron S. Kurland)

   - Fix scew_tree_free documentation.
     (reported by Gord Shier)

   - Hardcoded gcc "CFLAGS" removed.
     (reported by Mark Zieg)

------------------------------------------------------------------------

* Version 0.4.0 (2004/05/25)

** Changes:

   - Ability to load and XML document from an stream has been
     added. The stream may not be completed, so it will just load
     correct XML pieces. A callback, set by the user, will be called
     each time an element is available.
     (thanks to Gord Shier)

** Fixes:

   - Fixed indentation level when document contains multiple
     consecutive empty elements.
     (thanks to Tom Probasco)

   - scew_element_add_attr_pair() did not add a new attribute
     correctly if the attribute already existed.
     (reported by Matthew Peltzer)

   - Compiltaion fixes in MSVC.  Compiler interpreted a function
     argument called list as the std::list.
     (reported by Renaud Dumont)

------------------------------------------------------------------------

* Version 0.3.2 (2004/01/30)

** Changes:

   - A new "Unknown error code" message has been added.
     (thanks to Brodie Thiesfield)

   - Improved support for Windows and Unix compilation.
     (thanks to Brodie Thiesfield)

   - Added improvements in str functions. mem.* has been removed.
     (thanks to Brodie Thiesfield)

   - Write functions have been moved from tree to new writer.* files.

   - Added a preamble section to the XML declaration.

** Fixes:

   - Allow building in a separate directory.
     (thanks to Kalle Valo)

------------------------------------------------------------------------

* Version 0.3.1 (2003/07/21)

** Changes:

   - Added missing performace improvements by using the linked list in
     element and attribute iterations.
     (thanks to Brodie Thiesfield)

   - Added exponentially growing buffer to avoid many realloc calls
     which are slow and fragment memory in scew_element_list.
     (thanks to Brodie Thiesfield)

   - Performance improvements in file loading by using a static
     buffer.
     (thanks to Brodie Thiesfield)

   - Added scew_parser_load_file_fp().
     (thanks to Brodie Thiesfield)

   - Some other minor changes.
     (thanks to Brodie Thiesfield)

** Fixes:

   - scew_isxdigit() was calling isdigit() instead of isxdigit().

   - scew_isxxxx() fixed.
     (thanks to Brodie Thiesfield)

   - strdup() is a GNU extension, replaced it by own version.

   - Fixed scew_element_by_name.
     (reported by Eric Fronheiser)

   - Warning fixes (level 4) in Microsoft Visual C++ 7.
     (thanks to Brodie Thiesfield)

   - Multi-thread support fixed in Microsoft Visual
     C++. __declspec(thread) did not work, use TLS functions instead.
     (thanks to Brodie Thiesfield)

------------------------------------------------------------------------

* Version 0.3.0 (2003/07/10)

** Changes:

   - Added more string functions. New memory functions have also been
     added.

   - Performance improved in element and attribute iteration.
     (thanks to Sanzo Miyazawa)

   - Support for XML declaration attributes has been added (version,
     encoding, standalone).  This attributes can be changed using SCEW
     tree functions.

   - Improved white spaces treatment in XML element contents.

   - Added error system. See documentation for more details.

   - Added pkg-config file.
     (thanks to Neil Harvey)

   - Added 'make doc'. If you have doxygen installed (which will be
     automatically detected), it will create SCEW
     documentation. Execute './configure --help' to see more
     documentation options.

   - 'make install' does not install example binaries anymore.

** Fixes:

   - scew_tree_save_file() did not fclose output file.
     (reported by Paul Bohme)

   - scew_element_free() did not decrement parent number of children.
     (reported by anonymous)

------------------------------------------------------------------------

* Version 0.2.1 (2003/04/25)

** Changes:

   - Added --enable-debug flag to the configure script.

** Fixes:

   - Added compatibilized headers with C++ (ifdef __cplusplus).

   - Compilation warnings fixed.

   - scew_element_del_attr() segmentation fault fixed.
     (reported by Jussi Mäki)

------------------------------------------------------------------------

* Version 0.2.0 (2003/04/07)

** Changes:

   - Functions to create and save XML files have been added.

   - A lot of cleanup and rewriting has been done. Internal structures
     have changed.

** Fixes:

------------------------------------------------------------------------

* Version 0.1.1 (2003/01/14)

** Changes:

** Fixes:

   - scew_get_element_by_name() and scew_get_attribute_by_name() did
     not return NULL if an element/attribute was not found.
     (reported by Stuart R. Anderson)

------------------------------------------------------------------------

* Version 0.1.0 (2002/12/05)

** Initial release

------------------------------------------------------------------------

* Copying information:

Copyright (C) 2002-2013 Aleix Conchillo Flaqué

SCEW is free software; you can redistribute it and/or modify it under the
terms of the GNU Lesser General Public License as published by the Free
Software Foundation; either version 2.1 of the License, or (at your option)
any later version.

SCEW is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
A PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more
details.

You should have received a copy of the GNU Lesser General Public License along
with this library; if not, write to the Free Software Foundation, Inc., 51
Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

--
;;; Local Variables:
;;; mode: outline
;;; End:
