SCEW -- History of visible changes. 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-2018 Aleix Conchillo Flaque 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: