Releases: michaelrsweet/mxml
v4.0.3
Mini-XML v4.0.3 is a bug fix release. Changes include:
- Now default the
DSOFLAGS
value toLDFLAGS
in the configure script (Issue #325) - Now install the man page as "mxml4" to allow parallel installation of Mini-XML 4.x and 3.x (Issue #324)
- Added
MXML_ALLOC_SIZE
define to control the allocation increment for attributes and indices (Issue #318) - Fixed
mxmlSetDeclarationf
implementation (Issue #322)
Enjoy!
v4.0.2
v4.0.1
Mini-XML v4.0.1 is a bug fix release. Changes include:
- Fixed missing "docdir" definition in makefile.
- Fixed missing CPPFLAGS, OPTIM, and WARNINGS in CFLAGS in makefile.
- Fixed configure script issues.
Enjoy!
v4.0.0
Mini-XML v4.0 adds some new features, updates the callback APIs to include data pointers, and generally cleans up and normalizes the interfaces from prior releases. While largely similar, this release is not source or binary compatible with Mini-XML v3.x - migration details are included in the documentation.
Mini-XML v4.0 weighs in at a mere 3,491 lines of code, down from the 4,300 lines of code in Mini-XML v3.3.1. Changes include:
- Now require C99 support (Issue #300)
- Now install as "libmxml4" to support installing both Mini-XML 3.x and 4.x at the same time (use
--disable-libmxml4-prefix
configure option to disable) - Added
mxmlLoadIO
andmxmlSaveIO
functions to load and save XML via callbacks (Issue #98) - Added new
MXML_TYPE_CDATA
,MXML_TYPE_COMMENT
,MXML_TYPE_DECLARATION
, andMXML_TYPE_DIRECTIVE
node types (Issue #250) - Added
mxmlLoadFilename
andmxmlSaveFilename
functions (Issue #291) - Added AFL fuzzing support (Issue #306)
- Added
mxmlOptions
APIs to replace the long list of callbacks and options for each of the load and save functions (Issue #312) - Added string copy/free callbacks to support alternate memory management of strings.
- Renamed
mxml_type_t
enumerations toMXML_TYPE_xxx
(Issue #251) - Updated APIs to use bool type instead of an int representing a boolean value.
- Updated the SAX callback to return a
bool
value to control processing (Issue #51) - Updated the load and save callbacks to include a context pointer (Issue #106)
- Fixed some warnings (Issue #301)
- Fixed real number support in non-English locales (Issue #311)
Enjoy!
v3.3.1
Mini-XML 3.3.1 fixes a POSIX thread cleanup bug.
Enjoy!
v3.3
Mini-XML 3.3 is a bug fix release. Changes include:
- Cleaned up usage of
free
throughout the library (Issue #276) - Added more error handling to the library (Issue #277)
- Fixed potential memory leak in
mxmlLoad*
functions (Issue #278, Issue #279) - Fixed
mxmlSaveString
with a buffer size of 0 (Issue #284) - Fixed
MXML_MINOR_VERSION
value in "mxml.h" (Issue #285) - Fixed POSIX threading support for MingW (Issue #287)
- Fixed some minor memory leaks found by Coverity.
Enjoy!
v3.2
Mini-XML 3.2 adds support for the Haiku operating system and fixes bugs.
Changes include:
- Added support for shared libraries on Haiku (Issue #262)
- Fixed handling of unquoted attribute values that start with a Unicode
character (Issue #264) - Fixed handling of elements that start with a Unicode character (Issue #267)
- Fixed some minor issues identified by the LGTM security scanner.
Enjoy!
v3.1
Mini-XML 3.1 fixes some installation issues and adds better error reporting. Changes include:
- The
mxmlLoad*
functions now print an error when the XML does not start with
<
and no parent node is supplied (Issue #256, Issue #259) - Fixed an issue with "make install" trying to install old files (Issue #257)
- Fixed some DSO installation issues on Linux.
Enjoy!
v3.0
Mini-XML 3.0 is a major release that changes the license to Apache 2.0 with
exceptions for linking to GPL2-only code, hides the definition of the internal
mxml_node_t
structure, removes the "mxmldoc" utility (which is now maintained
in the separate "codedoc" project), and fixes several bugs. Changes include:
- Changed the license to Apache 2.0 with exceptions (Issue #239)
- All of the internal node structures are now moved out of the public header
(Issue #240) - Fixed a potential buffer overflow when writing floating point data
(Issue #233) - Moved
mxmldoc
to a newcodedoc
project whose focus is on generating
code documentation (Issue #235, Issue #236, Issue #237) - Error messages now include the line number of the error (Issue #230)
- The
mxmlSetCDATA
,mxmlSetElement
,mxmlSetOpaque
,mxmlSetOpaquef
,
mxmlSetText
, andmxmlSetTextf
functions caused a use-after-free bug if
the value came from the same node (Issue #241) - The
mxmlSetOpaquef
andmxmlSetTextf
functions did not work (Issue #244) - The
_mxml_strdupf
function did not work on Windows (Issue #245)
Enjoy!
v2.12
Mini-XML 2.12 fixes several bugs, updates the build system on macOS and Windows,
and updates the markdown and EPUB support.
Changes include:
- Added yet more documentation about using
MXML_OPAQUE_CALLBACK
when you want
to get full strings for inline text instead of separated words (Issue #190) - No longer build documentation sets on macOS since Xcode no longer supports
them (Issue #198) - Updated the
va_copy
macro for use with BCC (Issue #211) - The
mxmlNewCDATA
andmxmlSetCDATA
functions incorrectly added the XML
trailer "]]" to the string (Issue #216) - Cross-compiling failed on install (Issue #218)
- Fixed a crash bug in the
mxmlWrite
functions (Issue #228) - The
mxmlWrite
functions no longer write the siblings of the passed node
(Issue #228) - Updated the markdown and ZIP container libraries used for mxmldoc.
Enjoy!
(Source archive updated Jan 17, 2019 to include mxml-2.12/ subdirectory prefix, sorry folks!)