Skip to content

Releases: michaelrsweet/mxml

v4.0.3

21 Apr 21:12
804c4f4
Compare
Choose a tag to compare

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!

v4.0.2

24 Mar 19:30
7ed214c
Compare
Choose a tag to compare

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

Enjoy!

v4.0.1

22 Mar 13:01
c9f2cbf
Compare
Choose a tag to compare

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

20 Mar 16:19
9856aa5
Compare
Choose a tag to compare

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!

v3.3.1

25 Jul 12:59
fd47c7d
Compare
Choose a tag to compare

Mini-XML 3.3.1 fixes a POSIX thread cleanup bug.

Enjoy!

v3.3

06 Nov 14:39
0237559
Compare
Choose a tag to compare

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

09 Oct 21:43
38b044e
Compare
Choose a tag to compare

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

29 Aug 03:38
e483e5f
Compare
Choose a tag to compare

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

02 Mar 12:12
c7755b6
Compare
Choose a tag to compare

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!

v2.12

02 Oct 15:09
Compare
Choose a tag to compare

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