fd92104fdc760fcebc6a7803671e89ea8f69aa78
[asterisk/asterisk.git] / mxml / CHANGES
1 CHANGES - 05/19/2005
2 --------------------
3
4 CHANGES IN Mini-XML 2.2.2
5
6         - mxmlLoad*() did not treat custom data as opaque, so
7           whitespace characters would be lost.
8
9
10 CHANGES IN Mini-XML 2.2.1
11
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)
21
22
23 CHANGES IN Mini-XML 2.2
24
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 ("--->"
35           is not allowed)
36
37
38 CHANGES IN Mini-XML 2.1
39
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.
48
49
50 CHANGES IN Mini-XML 2.0
51
52         - New programmers manual.
53         - Added Visual C++ project files for Microsoft Windows
54           users.
55         - Added optimizations to mxmldoc, mxmlSaveFile(), and
56           mxmlIndexNew() (STR #2)
57         - mxmlEntityAddCallback() now returns an integer status
58           (STR #2)
59         - Added UTF-16 support (input only; all output is UTF-8)
60         - Added index functions to build a searchable index of
61           XML nodes.
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
68           "doc/mxmldoc.xsd".
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
74           CALLBACKS.
75         - The mxmldoc utility is now capable of documenting C++
76           classes, functions, and structures, and correctly
77           handles C++ comments.
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
84           MingW.
85
86
87 CHANGES IN Mini-XML 1.3
88
89         - Fixes for mxmldoc.
90         - Added support for reading standard HTML entity names.
91         - mxmlLoadString/File() did not decode character
92           entities in element names, attribute names, or
93           attribute values.
94         - mxmlLoadString/File() would crash when loading non-
95           conformant XML data under an existing parent (top)
96           node.
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
101           attribute values.
102         - The load and save functions now properly handle quoted
103           element and attribute name strings properly, e.g. for
104           !DOCTYPE declarations.
105
106
107 CHANGES IN Mini-XML 1.2
108
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
114           functions.
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
121           checks.
122
123
124 CHANGES IN Mini-XML 1.1.2
125
126         - The mxml(3) man page wasn't updated for the string
127           functions.
128         - mxmlSaveString() returned the wrong number of
129           characters.
130         - mxml_add_char() updated the buffer pointer in the
131           wrong place.
132
133
134 CHANGES IN Mini-XML 1.1.1
135
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.
144
145
146 CHANGES IN Mini-XML 1.1
147
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.
158
159
160 CHANGES IN Mini-XML 1.0
161
162         - The mxmldoc program now handles function arguments,
163           structures, unions, enumerations, classes, and
164           typedefs properly.
165         - Documentation provided via mxmldoc and more in-line
166           comments in the code.
167         - Added man pages and packaging files.
168
169
170 CHANGES IN Mini-XML 0.93
171
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
183           when valid to do so.
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
195           mxmlSaveFile().
196         - mxmlSaveFile() now supports a whitespace callback to
197           provide more human-readable XML output under program
198           control.
199
200
201 CHANGES IN Mini-XML 0.92
202
203         - mxmlSaveFile() didn't return a value on success.
204
205
206 CHANGES IN Mini-XML 0.91
207
208         - mxmlWalkNext() would go into an infinite loop.
209
210
211 CHANGES IN Mini-XML 0.9
212
213         - Initial public release.