4 CHANGES IN Mini-XML 2.2.2
6 - mxmlLoad*() did not treat custom data as opaque, so
7 whitespace characters would be lost.
10 CHANGES IN Mini-XML 2.2.1
12 - mxmlLoadFd(), mxmlLoadFile(), and mxmlLoadString() now
13 correctly return NULL on error (STR #21)
14 - mxmlNewInteger(), mxmlNewOpaque(), mxmlNewReal(),
15 mxmlNewText(), and mxmlNewTextf() incorrectly required
16 a parent node (STR #22)
17 - Fixed an XML output bug in mxmldoc.
18 - The "make install" target now uses the install command
19 to set the proper permissions on UNIX/Linux/OSX.
20 - Fixed a MingW/Cygwin compilation problem (STR #18)
23 CHANGES IN Mini-XML 2.2
25 - Added shared library support (STR #17)
26 - mxmlLoad*() now returns an error when an XML stream
27 contains illegal control characters (STR #10)
28 - mxmlLoad*() now returns an error when an element
29 contains two attributes with the same name in
30 conformance with the XML spec (STR #16)
31 - Added support for CDATA (STR #14, STR #15)
32 - Updated comment and processing instruction handling -
33 no entity support per XML specification.
34 - Added checking for invalid comment termination ("--->"
38 CHANGES IN Mini-XML 2.1
40 - Added support for custom data nodes (STR #6)
41 - Now treat UTF-8 sequences which are longer than
42 necessary as an error (STR #4)
43 - Fixed entity number support (STR #8)
44 - Fixed mxmlLoadString() bug with UTF-8 (STR #7)
45 - Fixed entity lookup bug (STR #5)
46 - Added mxmlLoadFd() and mxmlSaveFd() functions.
47 - Fixed multi-word UTF-16 handling.
50 CHANGES IN Mini-XML 2.0
52 - New programmers manual.
53 - Added Visual C++ project files for Microsoft Windows
55 - Added optimizations to mxmldoc, mxmlSaveFile(), and
56 mxmlIndexNew() (STR #2)
57 - mxmlEntityAddCallback() now returns an integer status
59 - Added UTF-16 support (input only; all output is UTF-8)
60 - Added index functions to build a searchable index of
62 - Added character entity callback interface to support
63 additional character entities beyond those defined in
64 the XHTML specification.
65 - Added support for XHTML character entities.
66 - The mxmldoc utility now produces XML output which
67 conforms to an updated XML schema, described in the file
69 - Changed the whitespace callback interface to return
70 strings instead of a single character, allowing for
71 greater control over the formatting of XML files
72 written using Mini-XML. THIS CHANGE WILL REQUIRE
73 CHANGES TO YOUR 1.x CODE IF YOU USE WHITESPACE
75 - The mxmldoc utility is now capable of documenting C++
76 classes, functions, and structures, and correctly
78 - Added new modular tests for mxmldoc.
79 - Updated the mxmldoc output to be more compatible with
80 embedding in manuals produced with HTMLDOC.
81 - The makefile incorrectly included a "/" separator
82 between the destination path and install path. This
83 caused problems when building and installing with
87 CHANGES IN Mini-XML 1.3
90 - Added support for reading standard HTML entity names.
91 - mxmlLoadString/File() did not decode character
92 entities in element names, attribute names, or
94 - mxmlLoadString/File() would crash when loading non-
95 conformant XML data under an existing parent (top)
97 - Fixed several bugs in the mxmldoc utility.
98 - Added new error callback function to catch a variety
99 of errors and log them to someplace other than stderr.
100 - The mxmlElementSetAttr() function now allows for NULL
102 - The load and save functions now properly handle quoted
103 element and attribute name strings properly, e.g. for
104 !DOCTYPE declarations.
107 CHANGES IN Mini-XML 1.2
109 - Added new "set" methods to set the value of a node.
110 - Added new formatted text methods mxmlNewTextf() and
111 mxmlSetTextf() to create/set a text node value using
112 printf-style formats.
113 - Added new standard callbacks for use with the mxmlLoad
115 - Updated the HTML documentation to include examples of
116 the walk and load function output.
117 - Added --with/without-ansi configure option to control
118 the strdup() function check.
119 - Added --with/without-snprintf configure option to
120 control the snprintf() and vsnprintf() function
124 CHANGES IN Mini-XML 1.1.2
126 - The mxml(3) man page wasn't updated for the string
128 - mxmlSaveString() returned the wrong number of
130 - mxml_add_char() updated the buffer pointer in the
134 CHANGES IN Mini-XML 1.1.1
136 - The private mxml_add_ch() function did not update the
137 start-of-buffer pointer which could cause a crash when
138 using mxmlSaveString().
139 - The private mxml_write_ws() function called putc()
140 instead of using the proper callback which could cause
141 a crash when using mxmlSaveString().
142 - Added a mxmlSaveAllocString() convenience function for
143 saving an XML node tree to an allocated string.
146 CHANGES IN Mini-XML 1.1
148 - The mxmlLoadFile() function now uses dynamically
149 allocated string buffers for element names, attribute
150 names, and attribute values. Previously they were
151 capped at 16383, 255, and 255 bytes, respectively.
152 - Added a new mxmlLoadString() function for loading an
153 XML node tree from a string.
154 - Added a new mxmlSaveString() function for saving an
155 XML node tree to a string.
156 - Add emulation of strdup() if the local platform does
157 not provide the function.
160 CHANGES IN Mini-XML 1.0
162 - The mxmldoc program now handles function arguments,
163 structures, unions, enumerations, classes, and
165 - Documentation provided via mxmldoc and more in-line
166 comments in the code.
167 - Added man pages and packaging files.
170 CHANGES IN Mini-XML 0.93
172 - New mxmldoc example program that is also used to
173 create and update code documentation using XML and
174 produce HTML reference pages.
175 - Added mxmlAdd() and mxmlRemove() functions to add and
176 remove nodes from a tree. This provides more
177 flexibility over where the nodes are inserted and
178 allows nodes to be moved within the tree as needed.
179 - mxmlLoadFile() now correctly handles comments.
180 - mxmlLoadFile() now supports the required "gt", "quot",
181 and "nbsp" character entities.
182 - mxmlSaveFile() now uses newlines as whitespace
184 - mxmlFindElement() now also takes attribute name and
185 attribute value string arguments to limit the search
186 to specific elements with attributes and/or values.
187 NULL pointers can be used as "wildcards".
188 - Added uninstall target to makefile, and auto-reconfig
189 if Makefile.in or configure.in are changed.
190 - mxmlFindElement(), mxmlWalkNext(), and mxmlWalkPrev()
191 now all provide "descend" arguments to control whether
192 they descend into child nodes in the tree.
193 - Fixed some whitespace issues in mxmlLoadFile().
194 - Fixed Unicode output and whitespace issues in
196 - mxmlSaveFile() now supports a whitespace callback to
197 provide more human-readable XML output under program
201 CHANGES IN Mini-XML 0.92
203 - mxmlSaveFile() didn't return a value on success.
206 CHANGES IN Mini-XML 0.91
208 - mxmlWalkNext() would go into an infinite loop.
211 CHANGES IN Mini-XML 0.9
213 - Initial public release.