| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376 |
- CHANGES - 2016-06-12
- --------------------
- CHANGES IN Mini-XML 2.10
- - The version number in mxml.h was wrong (Bug #532)
- - The mxml.spec file was out of date (Bug #521)
- - Mini-XML no longer allows malformed element names (Bug #509)
- - mxmlLoad* and mxmlSAXLoad* did not properly create text nodes when
- MXML_TEXT_CALLBACK was specified (Bug #531)
- - mxmlDelete used a recursive algorithm which could require large
- amounts of stack space depending on the file (Bug #549, CVE-2016-4570)
- - mxmlWrite* used a recursive algorithm which could require large
- amounts of stack space depending on the file (Bug #549, CVE-2016-4571)
- CHANGES IN Mini-XML 2.9
- - mxmlLoad* did not correctly load value nodes with MXML_NO_CALLBACK
- or MXML_TEXT_CALLBACK (Bug #502)
- CHANGES IN Mini-XML 2.8
- - Now call docsetutil using xcrun on OS X (Bug #458)
- - mxmldoc did not escape special HTML characters inside @code foo@
- comments.
- - Fixed a memory leak in mxmlElementDeleteAttr (Bug #452)
- - Added MXML_MAJOR/MINOR_VERSION definitions to mxml.h (Bug $461)
- - Fixed a bug reading UTF-16 characters from a file (Bug #454)
- - Fixed a memory leak when loading invalid XML (Bug #496)
- - Fixed an XML fragment loading problem (Bug #494)
- CHANGES IN Mini-XML 2.7
- - Added 64-bit configurations to the VC++ project files (STR #129)
- - Fixed conformance of mxmldoc's HTML and CSS output.
- - Added data accessor ("get") functions and made the mxml_node_t and
- mxml_index_t structures private but still available in the Mini-XML
- header to preserve source compatibility (STR #118)
- - Updated the source headers to reference the Mini-XML license and its
- exceptions to the LGPL2 (STR #108)
- - Fixed a memory leak when loading a badly-formed XML file (STR #121)
- - Added a new mxmlFindPath() function to find the value node of a
- named element (STR #110)
- - Building a static version of the library did not work on Windows
- (STR #112)
- - The shared library did not include a destructor for the thread-
- specific data key on UNIX-based operating systems (STR #103)
- - mxmlLoad* did not error out on XML with multiple root nodes (STR #101)
- - Fixed an issue with the _mxml_vstrdupf function (STR #107)
- - mxmlSave* no longer write all siblings of the passed node, just that
- node and its children (STR #109)
- CHANGES IN Mini-XML 2.6
- - Documentation fixes (STR #91, STR #92)
- - The mxmldoc program did not handle typedef comments properly (STR #72)
- - Added support for "long long" printf formats.
- - The XML parser now ignores BOMs in UTF-8 XML files (STR #89)
- - The mxmldoc program now supports generating Xcode documentation sets.
- - mxmlSave*() did not output UTF-8 correctly on some platforms.
- - mxmlNewXML() now adds encoding="utf-8" in the ?xml directive to avoid
- problems with non-conformant XML parsers that assume something other
- than UTF-8 as the default encoding.
- - Wrapping was not disabled when mxmlSetWrapMargin(0) was called, and
- "<?xml ... ?>" was always followed by a newline (STR #76)
- - The mxml.pc.in file was broken (STR #79)
- - The mxmldoc program now handles "typedef enum name {} name" correctly
- (STR #72)
- CHANGES IN Mini-XML 2.5
- - The mxmldoc program now makes greater use of CSS and
- supports a --css option to embed an alternate stylesheet.
- - The mxmldoc program now supports --header and --footer
- options to insert documentation content before and
- after the generated content.
- - The mxmldoc program now supports a --framed option to
- generate framed HTML output.
- - The mxmldoc program now creates a table of contents
- including any headings in the --intro file when
- generating HTML output.
- - The man pages and man page output from mxmldoc did
- not use "\-" for dashes (STR #68)
- - The debug version of the Mini-XML DLL could not be
- built (STR #65)
- - Processing instructions and directives did not work
- when not at the top level of a document (STR #67)
- - Spaces around the "=" in attributes were not supported
- (STR #67)
- CHANGES IN Mini-XML 2.4
- - Fixed shared library build problems on HP-UX and Mac OS X.
- - The mxmldoc program did not output argument descriptions
- for functions properly.
- - All global settings (custom, error, and entity callbacks
- and the wrap margin) are now managed separately for each
- thread.
- - Added mxmlElementDeleteAttr() function (STR #59)
- - mxmlElementSetAttrf() did not work (STR #57)
- - mxmlLoad*() incorrectly treated declarations as parent
- elements (STR #56)
- - mxmlLoad*() incorrectly allowed attributes without values
- (STR #47)
- - Fixed Visual C++ build problems (STR #49)
- - mxmlLoad*() did not return NULL when an element contained
- an error (STR #46)
- - Added support for the apos character entity (STR #54)
- - Fixed whitespace detection with Unicode characters (STR
- #48)
- - mxmlWalkNext() and mxmlWalkPrev() did not work correctly
- when called with a node with no children as the top node
- (STR #53)
- CHANGES IN Mini-XML 2.3
- - Added two exceptions to the LGPL to support static
- linking of applications against Mini-XML
- - The mxmldoc utility can now generate man pages, too.
- - Added a mxmlNewXML() function
- - Added a mxmlElementSetAttrf() function (STR #43)
- - Added snprintf() emulation function for test program (STR
- #32)
- - Added the _CRT_SECURE_NO_DEPRECATE definition when
- building on VC++ 2005 (STR #36)
- - mxmlLoad*() did not detect missing > characters in
- elements (STR #41)
- - mxmlLoad*() did not detect missing close tags at the end
- of an XML document (STR #45)
- - Added user_data and ref_count members to mxml_node_t
- structure
- - Added mxmlReleaseNode() and mxmlRetainNode() APIs for
- reference-counted nodes
- - Added mxmlSetWrapMargin() to control the wrapping of XML
- output
- - Added conditional check for EINTR error code for
- certain Windows compilers that do not define it (STR
- #33)
- - The mxmldoc program now generates correct HTML 4.0
- output - previously it generated invalid XHTML
- - The mxmldoc program now supports "@deprecated@,
- "@private@", and "@since version@" comments
- - Fixed function and enumeration type bugs in mxmldoc.
- - Fixed the XML schema for mxmldoc
- - The mxmldoc program now supports --intro, --section,
- and --title options
- - The mxmlLoad*() functions could leak a node on an error
- (STR #27)
- - The mxml_vsnprintf() function could get in an infinite
- loop on a buffer overflow (STR #25)
- - Added new mxmlNewCDATA() and mxmlSetCDATA() functions
- to create and set CDATA nodes, which are really just
- special element nodes
- - Added new MXML_IGNORE type and MXML_IGNORE_CB callback
- to ignore non-element nodes, e.g. whitespace
- - mxmlLoad*() crashed when reporting an error in some
- invalid XML (STR #23)
- CHANGES IN Mini-XML 2.2.2
- - mxmlLoad*() did not treat custom data as opaque, so
- whitespace characters would be lost.
- CHANGES IN Mini-XML 2.2.1
- - mxmlLoadFd(), mxmlLoadFile(), and mxmlLoadString() now
- correctly return NULL on error (STR #21)
- - mxmlNewInteger(), mxmlNewOpaque(), mxmlNewReal(),
- mxmlNewText(), and mxmlNewTextf() incorrectly required
- a parent node (STR #22)
- - Fixed an XML output bug in mxmldoc.
- - The "make install" target now uses the install command
- to set the proper permissions on UNIX/Linux/OSX.
- - Fixed a MingW/Cygwin compilation problem (STR #18)
- CHANGES IN Mini-XML 2.2
- - Added shared library support (STR #17)
- - mxmlLoad*() now returns an error when an XML stream
- contains illegal control characters (STR #10)
- - mxmlLoad*() now returns an error when an element
- contains two attributes with the same name in
- conformance with the XML spec (STR #16)
- - Added support for CDATA (STR #14, STR #15)
- - Updated comment and processing instruction handling -
- no entity support per XML specification.
- - Added checking for invalid comment termination ("--->"
- is not allowed)
- CHANGES IN Mini-XML 2.1
- - Added support for custom data nodes (STR #6)
- - Now treat UTF-8 sequences which are longer than
- necessary as an error (STR #4)
- - Fixed entity number support (STR #8)
- - Fixed mxmlLoadString() bug with UTF-8 (STR #7)
- - Fixed entity lookup bug (STR #5)
- - Added mxmlLoadFd() and mxmlSaveFd() functions.
- - Fixed multi-word UTF-16 handling.
- CHANGES IN Mini-XML 2.0
- - New programmers manual.
- - Added Visual C++ project files for Microsoft Windows
- users.
- - Added optimizations to mxmldoc, mxmlSaveFile(), and
- mxmlIndexNew() (STR #2)
- - mxmlEntityAddCallback() now returns an integer status
- (STR #2)
- - Added UTF-16 support (input only; all output is UTF-8)
- - Added index functions to build a searchable index of
- XML nodes.
- - Added character entity callback interface to support
- additional character entities beyond those defined in
- the XHTML specification.
- - Added support for XHTML character entities.
- - The mxmldoc utility now produces XML output which
- conforms to an updated XML schema, described in the file
- "doc/mxmldoc.xsd".
- - Changed the whitespace callback interface to return
- strings instead of a single character, allowing for
- greater control over the formatting of XML files
- written using Mini-XML. THIS CHANGE WILL REQUIRE
- CHANGES TO YOUR 1.x CODE IF YOU USE WHITESPACE
- CALLBACKS.
- - The mxmldoc utility is now capable of documenting C++
- classes, functions, and structures, and correctly
- handles C++ comments.
- - Added new modular tests for mxmldoc.
- - Updated the mxmldoc output to be more compatible with
- embedding in manuals produced with HTMLDOC.
- - The makefile incorrectly included a "/" separator
- between the destination path and install path. This
- caused problems when building and installing with
- MingW.
- CHANGES IN Mini-XML 1.3
- - Fixes for mxmldoc.
- - Added support for reading standard HTML entity names.
- - mxmlLoadString/File() did not decode character
- entities in element names, attribute names, or
- attribute values.
- - mxmlLoadString/File() would crash when loading non-
- conformant XML data under an existing parent (top)
- node.
- - Fixed several bugs in the mxmldoc utility.
- - Added new error callback function to catch a variety
- of errors and log them to someplace other than stderr.
- - The mxmlElementSetAttr() function now allows for NULL
- attribute values.
- - The load and save functions now properly handle quoted
- element and attribute name strings properly, e.g. for
- !DOCTYPE declarations.
- CHANGES IN Mini-XML 1.2
- - Added new "set" methods to set the value of a node.
- - Added new formatted text methods mxmlNewTextf() and
- mxmlSetTextf() to create/set a text node value using
- printf-style formats.
- - Added new standard callbacks for use with the mxmlLoad
- functions.
- - Updated the HTML documentation to include examples of
- the walk and load function output.
- - Added --with/without-ansi configure option to control
- the strdup() function check.
- - Added --with/without-snprintf configure option to
- control the snprintf() and vsnprintf() function
- checks.
- CHANGES IN Mini-XML 1.1.2
- - The mxml(3) man page wasn't updated for the string
- functions.
- - mxmlSaveString() returned the wrong number of
- characters.
- - mxml_add_char() updated the buffer pointer in the
- wrong place.
- CHANGES IN Mini-XML 1.1.1
- - The private mxml_add_ch() function did not update the
- start-of-buffer pointer which could cause a crash when
- using mxmlSaveString().
- - The private mxml_write_ws() function called putc()
- instead of using the proper callback which could cause
- a crash when using mxmlSaveString().
- - Added a mxmlSaveAllocString() convenience function for
- saving an XML node tree to an allocated string.
- CHANGES IN Mini-XML 1.1
- - The mxmlLoadFile() function now uses dynamically
- allocated string buffers for element names, attribute
- names, and attribute values. Previously they were
- capped at 16383, 255, and 255 bytes, respectively.
- - Added a new mxmlLoadString() function for loading an
- XML node tree from a string.
- - Added a new mxmlSaveString() function for saving an
- XML node tree to a string.
- - Add emulation of strdup() if the local platform does
- not provide the function.
- CHANGES IN Mini-XML 1.0
- - The mxmldoc program now handles function arguments,
- structures, unions, enumerations, classes, and
- typedefs properly.
- - Documentation provided via mxmldoc and more in-line
- comments in the code.
- - Added man pages and packaging files.
- CHANGES IN Mini-XML 0.93
- - New mxmldoc example program that is also used to
- create and update code documentation using XML and
- produce HTML reference pages.
- - Added mxmlAdd() and mxmlRemove() functions to add and
- remove nodes from a tree. This provides more
- flexibility over where the nodes are inserted and
- allows nodes to be moved within the tree as needed.
- - mxmlLoadFile() now correctly handles comments.
- - mxmlLoadFile() now supports the required "gt", "quot",
- and "nbsp" character entities.
- - mxmlSaveFile() now uses newlines as whitespace
- when valid to do so.
- - mxmlFindElement() now also takes attribute name and
- attribute value string arguments to limit the search
- to specific elements with attributes and/or values.
- NULL pointers can be used as "wildcards".
- - Added uninstall target to makefile, and auto-reconfig
- if Makefile.in or configure.in are changed.
- - mxmlFindElement(), mxmlWalkNext(), and mxmlWalkPrev()
- now all provide "descend" arguments to control whether
- they descend into child nodes in the tree.
- - Fixed some whitespace issues in mxmlLoadFile().
- - Fixed Unicode output and whitespace issues in
- mxmlSaveFile().
- - mxmlSaveFile() now supports a whitespace callback to
- provide more human-readable XML output under program
- control.
- CHANGES IN Mini-XML 0.92
- - mxmlSaveFile() didn't return a value on success.
- CHANGES IN Mini-XML 0.91
- - mxmlWalkNext() would go into an infinite loop.
- CHANGES IN Mini-XML 0.9
- - Initial public release.
|