mxml

Tiny XML library.

APACHE-2.0 License

Downloads
5
Stars
426
Committers
7
mxml - Latest Release

Published by michaelrsweet 6 months ago

Mini-XML v4.0.3 is a bug fix release. Changes include:

  • Now default the DSOFLAGS value to LDFLAGS 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!

mxml -

Published by michaelrsweet 7 months ago

Mini-XML v4.0.2 fixes an issue with GNU make and parallel builds (Issue #314).

Enjoy!

mxml -

Published by michaelrsweet 7 months ago

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!

mxml -

Published by michaelrsweet 7 months ago

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 and mxmlSaveIO functions to load and save XML via callbacks (Issue #98)
  • Added new MXML_TYPE_CDATA, MXML_TYPE_COMMENT, MXML_TYPE_DECLARATION, and MXML_TYPE_DIRECTIVE node types (Issue #250)
  • Added mxmlLoadFilename and mxmlSaveFilename 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 to MXML_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!

mxml -

Published by michaelrsweet about 2 years ago

Mini-XML 3.3.1 fixes a POSIX thread cleanup bug.

Enjoy!

mxml -

Published by michaelrsweet almost 3 years ago

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!

mxml -

Published by michaelrsweet about 4 years ago

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!

mxml -

Published by michaelrsweet about 5 years ago

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!

mxml -

Published by michaelrsweet over 5 years ago

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 new codedoc 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, and mxmlSetTextf functions caused a use-after-free bug if
    the value came from the same node (Issue #241)
  • The mxmlSetOpaquef and mxmlSetTextf functions did not work (Issue #244)
  • The _mxml_strdupf function did not work on Windows (Issue #245)

Enjoy!

mxml -

Published by michaelrsweet about 6 years ago

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 and mxmlSetCDATA 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!)

mxml -

Published by michaelrsweet almost 7 years ago

Mini-XML 2.11 fixes a number of bugs, adds support for reproducible builds, cross-compilation, and enumeration of element attributes, and adds support for generating EPUB documentation using mxmldoc. Changes include:

  • CDATA nodes now omit the trailing "]]" for convenience (Issue #170)
  • Fixed a memory leak in mxmlDelete (Issue #183)
  • mxmlElementSetAttrf did not work with some versions of Visual Studio
    (Issue #184)
  • Added mxmlElementGetAttrByIndex and mxmlELementGetAttrCount functions
    (Issue #185)
  • The configure script now properly supports cross-compilation (Issue #188)
  • The mxmldoc utility now supports generation of EPUB files (Issue #189)
  • The mxmldoc utility now supports the SOURCE_DATE_EPOCH environment
    variable for reproducible builds (Issue #193)
  • The mxmldoc utility now supports Markdown (Issue #194)
  • Fixed writing of custom data values (Issue #201)
  • Added mxmlNewOpaquef and mxmlSetOpaquef functions to add and set formatted
    opaque string values.
  • The mxmldoc utility scanned and loaded descriptive text differently, causing
    the detailed descriptions ("discussion") to be lost in generated
    documentation.
  • The mxmldoc utility now supports @exclude format@ comments to exclude
    documentation based on the output format. The format string can be all to
    exclude documentation for all formats or a comma-delimited list such as
    @exclude man,html@.

Enjoy!

mxml - v2.8

Published by michaelrsweet over 7 years ago

Mini-XML 2.8 fixes some minor platform and XML issues. Changes include:

  • 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)

Enjoy!

mxml - v2.9

Published by michaelrsweet over 7 years ago

Mini-XML 2.9 fixes a bug in the mxmlLoad* functions when using the default (MXML_NO_CALLBACK or MXML_TEXT_CALLBACK) callback.

mxml - v2.10

Published by michaelrsweet over 7 years ago

Mini-XML 2.10 fixes some stack overflow, XML, and API issues. Changes include:

  • 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)

Enjoy!

Package Rankings
Top 6.36% on Proxy.golang.org
Top 34.73% on Formulae.brew.sh
Badges
Extracted from project README
Coverity Scan Status