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