Blog Project Updates and Random Thoughts

mmd v1.1 30 Oct 2017

This release of mmd fixes a number of bugs, adds C++ support, and adds a mmdLoadFile function that loads Markdown content from the FILE pointer.


Download mmd 1.1 Home Page

Changes include:

  • The mmd.h header now includes the C++ extern "C" wrapper around the C function prototypes.
  • Added a mmdLoadFile function that loads a markdown document from a FILE pointer.
  • Fixed a parsing bug for emphasized, bold, and code text containing whitespace.
  • Fixed a parsing bug for escaped characters followed by unescaped formatting sequences.
  • Fixed a parsing bug for headings that follow a list.

HTMLDOC 1.9.1 29 Oct 2017

HTMLDOC 1.9.1 is primarily a bug fix release that also adds limited support for UTF-8.


Download HTMLDOC 1.9.1 Home Page

Changes include:

  • Fixed monospace font size issue (Issue #309)
  • Added support for reproducible builds (Issue #310)
  • Added limited support for the HTML 4.0 SPAN element (Issue #311)
  • Added (extremely limited) UTF-8 support for input files (Issue #314)
  • Fixed buffer underflow for (invalid) short HTML comments (Issue #316)
  • Now indent PRE text, by popular request.
  • EPUB output now makes sure that <element property> is written as <element property="property">.
  • Now support both NAME and ID for table-of-contents targets.

Mini-XML 2.11 28 Oct 2017

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.


Download Mini-XML 2.11 Home Page

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@.

zipc v1.2 26 Oct 2017

zipc v1.2 adds ZIP read support using the zipcOpenFile, zipcFileGets, zipcFileRead, zipcFileXMLGets, and zipcXMLGetAttribute functions. It also fixes use from C++ code, fixes Visual C++ support, and adds support for the %f format in the zipcFileXMLPrintf function.


Download zipc v1.2 Home Page

EPM 4.4 11 Oct 2017

EPM 4.4 is a maintenance release that fixes RPM packaging and several build issues.

Changes include:

  • The default prefix is now the usual /usr/local (Issue #45)
  • Really fix 64-bit Intel packages on Debian-based OS’s (Issue #48)
  • Fixed a build issue on Solaris 11 (Issue #50)
  • Fixed a bug in temporary file cleanup when symlinks are used (Issue #51)
  • Added DESTDIR support to makefiles (Issue #55)
  • Fixed RPM support on AIX (Issue #56)
  • Reverted the hard links optimization from EPM 4.2 since it is causing problems with the latest version of RPM (Issue #57)
  • Packages on macOS now use “macos” as the operating system name for consistency.


Download EPM 4.4 Home Page

HTMLDOC 1.9 04 Jul 2017

HTMLDOC 1.9 is a limited feature release that adds support for Markdown input and EPUB output.

Changes include:

  • Added support for repeating a single header row for tables that span multiple pages (Issue #16)
  • Added support for embedding the current filename/URL in the header or footer (Issue #50)
  • Added EPUB support (Issue #301)
  • Added Markdown support (Issue #302)
  • Fixed a regression in header/footer image scaling (Issue #303)
  • Documentation updates (Issue #305)
  • Compiler fixes (Issue #304, Issue #306)
  • Fixed a bug when running HTMLDOC as a macOS application.
  • Updated the bundled libpng to v1.6.29.


Download HTMLDOC 1.9 Home Page

zipc v1.1 23 Apr 2017

zipc v1.1 adds a zipcCopyFile function to efficiently copy files into ZIP containers and fixes an issue with some EPUB and OPC applications.

Download zipc v1.1 Home Page

mmd v1.0 23 Apr 2017

mmd v1.0 is a miniature markdown parsing “library” consisting of a single C source file and accompanying header file. mmd v1.0 mostly conforms to the CommonMark version of markdown syntax and supports a couple (otherwise undocumented) CommonMark extensions.

Download mmd v1.0 Home Page

zipc v1.0 05 Apr 2017

zipc is a simple ZIP container “library” consisting of a C source file and accompanying header file. Version 1.0 implements writing of ZIP containers with files smaller than 4GB. Files can be stored as-is or compressed with deflate (gzip) compression.

Download zipc v1.0 Home Page

HTMLDOC 1.8.30 24 Mar 2017

HTMLDOC 1.8.30 fixes some known build and formatting issues. Changes include:

  • Updated documentation to reflect new project page on Github.
  • Dropped old CDE and IRIX desktop integration files.
  • Cleaned up the GUI and adopted new default text editors for Linux and macOS.
  • PAGE BREAK comments at the end of a file in web page mode would lose the first page (Issue #251)
  • Fixed the scaling of header/footer images to limit them to the height of the header or footer (Issue #273)
  • Fixed an issue with the top-level makefile not exiting with an error as needed (Issue #282)
  • Fixed a URL referencing bug when the same hostname but a different port was used (Issue #290)
  • Fixed build issue on macOS (Issue #291)
  • Fixed handling of indexed+alpha PNG images (Issue #295)

Download HTMLDOC 1.8.30 Home Page

RasterView 1.5 22 Mar 2017

RasterView 1.5 adds support for Apple raster files.

Download RasterView 1.5 Home Page

Bug Migration Complete 03 Mar 2017

All of the bug reports from the old server have been migrated to the Github issue tracker.

Moved the Site to Github 27 Feb 2017

I have moved the main web site and projects to Github in order to spend less time maintaining servers and more time programming. All of the recent releases are already available in the corresponding Github projects, and I will be migrating the bug reports to the Github issue tracker over the next couple days.

In lieu of mailing lists, please use the Github issue tracker to ask questions or report problems with the new web site.

Mini-XML 2.10 13 Jun 2016

Mini-XML 2.10 is now available for download from:

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)


Download Mini-XML v2.10 Home Page

HTMLDOC 1.8.29 03 Jan 2016

HTMLDOC 1.8.29 is now available for download from:

HTMLDOC 1.8.29 fixes some known build and formatting issues, updates support libraries, and drops support for OpenSSL.

Changes include:

  • Updated local PNG library to version 1.6.20.
  • Updated local JPEG library to version 9b.
  • Dropped support for OpenSSL.
  • Added configure script support for libjpeg-turbo.
  • Updated HTTP code to latest CUPS/ippsample sources.
  • Duplex PDF output incorrectly forced an even number of pages (Bug #525)
  • The table of contents showed the wrong page numbers after headings containing the _HD_OMIT_TOC attribute.
  • Fixed reported build issues (Bug #500, Bug #507, Bug #510, Bug #533)
  • The configure script’s –enable-local* options did not work.


Download HTMLDOC v1.8.29 Home Page

EPM 4.3 01 Sep 2015

EPM 4.3 is now available for download from:

The new release fixes several issues on Linux and OS X and adds support for signed packages.

Changes include:

  • Now use pkgbuild on newer versions of OS X, and added support for signed packages (Bug #497)
  • Fixed some file handling issues when creating RPM packages (Bug #523)
  • EPM now maps the x86_64 architecture to amd64 when creating Debian packages (Bug #295)
  • %format stopped working in EPM 4.2 (Bug #296)
  • %literal(spec) did not insert the literal content in the correct location (Bug #302)
  • Fixed some incorrect string handling (Bug #290)
  • Fixed a compatibility issue with RPM 4.8 (Bug #292)
  • Fixed a build dependency problem (Bug #291)
  • The EPM makefile now uses CPPFLAGS from the configure script (Bug #300)
  • Updated the standard path used by portable package scripts to include /usr/gnu/bin for Solaris (Bug #301)
  • Added support for %literal(control) in Debian packages (Bug #297)


Download EPM v4.3 Home Page

RasterView 1.4.1 27 Aug 2015

RasterView 1.4.1 fixes builds on Linux and includes binaries for OS X and Linux.

Download RasterView v1.4.1 Home Page

RasterView 1.4 Now Available 26 Aug 2015

RasterView 1.4 adds support for viewing Device-N files and improves the display of PWG Raster page attributes.

Download RasterView v1.4 Home Page

Mini-XML 2.9 Now Available 19 Oct 2014

Mini-XML 2.9 is now available for download from:

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

Download Mini-XML v2.9 Home Page

HTMLDOC 1.8.28 06 Jan 2014

HTMLDOC 1.8.28 is now available for download from:

HTMLDOC 1.8.28 fixes some known security issues and formatting bugs.

Changes include:

  • Updated local zlib to version 1.2.8.
  • Updated local PNG library to version 1.6.8.
  • Updated local JPEG library to version 9.
  • Updated default PDF version to 1.4.
  • SECURITY: Fixed three buffer overflow issues when reading AFM files and parsing page sizes.
  • Fixed incompatibility with Fortify’s version of strcpy, which does not work properly with variable-length arrays (STR #235)
  • Fixed compilation against PNG library 1.5 or later (STR #243)
  • Fixed documentation errors (PR #6593, PR #6595)
  • Marked Zapf-Dingbats as a standard font (STR #198)
  • Fixed GPL license text in GUI (STR #222)
  • Fixed a table formatting problem when a column has multiple colspan values (PR #6709)
  • Fixed parsing of HTML comments (STR #181)
  • Fixed potential out-of-bounds read in table-of-contents rendering code (STR #183)
  • Fixed handling of image URLs with ampersands in them (STR #186)
  • Fixed top/bottom margins for logo and header/footer images (STR #174)
  • Fixed image alignment bug (Bug #231)
  • Fixed X11 build problem (Bug #243)


Download HTMLDOC v1.8.28 Home Page

Mini-XML 2.8 05 Jan 2014

Mini-XML 2.8 is now available for download from:

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)


Download Mini-XML v2.8 Home Page