Blog Project Updates and Random Thoughts

LPrint v1.1.0 December 23, 2021

LPrint v1.1.0 adds support for EPL and 600dpi ZPL label printers, adds status reporting and automatic label configuration for ZPL label printers, adds auto-setup and test labels for printers, adds system service files for macOS and Linux, and fixes all known bugs in the previous release. Changes include:

  • Switched to PAPPL (Issue #20, #35)
  • Fixed lprint default and lprint delete not working (Issue #17, Issue #40)
  • Fixed server crashes on SIGINT (Issue #18)
  • Fixed the reported date and time information when no printers were added (Issue #26)
  • Fixed a startup bug on macOS (Issue #34)
  • Now support auto-detection of printer drivers and auto-add USB printers the first time LPrint is run.
  • Added the missing macOS binary package (Issue #33)
  • Added launchd and systemd service files for running lprint as a service.
  • Added support for Zebra/Eltron EPL2 printers (Issue #38)
  • Added support for 600dpi ZPL thermal transfer printers.
  • Added support for ZPL status/ready media updates.
  • Added support for test pages.
  • Temporarily removed support for DYMO LabelWriter Wireless printer (Issue #23)

Enjoy!

Download LPrint 1.1.0 Install lprint Snap Home Page

Comments
 

HTMLDOC 1.9.14 December 22, 2021

HTMLDOC 1.9.14 is a bug fix release. Changes include:

  • BMP image support is now deprecated and will be removed in a future release of HTMLDOC.
  • Fixed a potential stack overflow bug with GIF images.
  • Fixed the PDF creation date (Issue #455)
  • Fixed a potential stack overflow bug with BMP images (Issue #456)
  • Fixed a compile issue when libpng was not available (Issue #458)

Binaries are available from Github for Windows and macOS, and through the Snapcraft store for Linux.

Enjoy!

Download HTMLDOC 1.9.14 Install HTMLDOC 1.9.14 Snap Home Page

Comments
 

PAPPL v1.1.0 December 15, 2021

PAPPL v1.1.0 is now available for download. PAPPL v1.1 adds support for Wi-Fi configuration, IPP-USB, printer driver lookup and auto-add functionality, improves management of multiple printers, and adds support for Microsoft® Windows® 10 and higher.

Enjoy!

Download PAPPL v1.1.0 Home Page

Comments
 

PDFio 1.0.0 December 14, 2021

The first stable release of PDFio is now available! PDFio is a simple C library for reading and writing PDF files. The primary goals of PDFio are:

  • Read and write any version of PDF file
  • Provide access to pages, objects, and streams within a PDF file
  • Support reading and writing of encrypted PDF files
  • Extract or embed useful metadata (author, creator, page information, etc.)
  • “Filter” PDF files, for example to extract a range of pages or to embed fonts that are missing from a PDF
  • Provide access to objects used for each page

PDFio is not concerned with rendering or viewing a PDF file, although a PDF RIP or viewer could be written using it.

Enjoy!

Download PDFio v1.0.0 Home Page

Comments
 

PDFio 1.0rc1 November 30, 2021

PDFio 1.0rc1 is the first candidate release of PDFio. Changes include:

  • Fixed a few stack/buffer overflow bugs discovered via fuzzing.

Enjoy!

Download PDFio v1.0rc1 Home Page

Comments
 

PAPPL v1.1rc1 November 22, 2021

The release candidate for PAPPL v1.1 is now available for download. PAPPL v1.1 adds support for Wi-Fi configuration, IPP-USB, printer driver lookup and auto- add functionality, improves management of multiple printers, and adds support for Microsoft® Windows® 10 and higher.

Changes in 1.1rc1 include:

  • Fixed a bug in the printer configuration web page.

Enjoy!

Download PAPPL v1.1rc1 Home Page

Comments
 

PDFio 1.0b2 November 07, 2021

PDFio 1.0b2 is the second beta release of PDFio. Changes include:

  • Added pdfioFileCreateOutput API to support streaming output of PDF (Issue #21)
  • Fixed all-shared target (Issue #22)
  • Fixed memory leaks (Issue #23)
  • Updated pdfioContentSetDashPattern to accept double values (Issue #25)
  • Added support for reading and writing encrypted PDFs (Issue #26)
  • Fixed some issues identified by a Coverity scan.

Enjoy!

Download PDFio v1.0b2 Home Page

Comments
 

Mini-XML 3.3 November 06, 2021

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!

Download Mini-XML 3.3 Home Page

Comments
 

HTMLDOC 1.9.13 November 05, 2021

HTMLDOC 1.9.13 is a bug fix release. Changes include:

  • Now install a 32x32 icon for Linux (Issue #432)
  • Fixed an issue with large values for roman numerals and letters in headings (Issue #433)
  • Fixed a crash bug when a HTML comment contains an invalid nul character (Issue #439)
  • Fixed a crash bug with bogus BMP images (Issue #444)
  • Fixed a potential heap overflow bug with bogus GIF images (Issue #451)
  • Fixed a potential stack overflow bug with bogus BMP images (Issue #453)

Binaries are available from Github for Windows and macOS, and through the Snapcraft store for Linux.

Enjoy!

Download HTMLDOC 1.9.13 Install HTMLDOC 1.9.13 Snap Home Page

Comments
 

PAPPL v1.1b3 November 04, 2021

The third beta release of PAPPL v1.1 is now available for download. PAPPL v1.1 adds support for Wi-Fi configuration, IPP-USB, printer driver lookup and auto- add functionality, improves management of multiple printers, and adds support for Microsoft® Windows® 10 and higher.

Changes in 1.1b3 include:

  • Added a new papplSystemSetAuthCallback API to support alternate authentication mechanisms (Issue #185)
  • Added papplCreateTempFile and papplPrinterOpenFile file creation functions (Issue #186)
  • Added support for a server-options option for the server sub-command (Issue #187)
  • Added an optional callback for processing USB gadget print data.
  • Added papplCopyString, papplGetRand, and papplGetTempDir utility functions.
  • Calling papplSystemSetHostName did not also update the default TLS common name.
  • Now map file:///dev/null to NUL: on Windows.

Enjoy!

Download PAPPL v1.1b3 Home Page

Comments
 

PAPPL v1.1b2 September 24, 2021

The second beta release of PAPPL v1.1 is now available for download. PAPPL v1.1 adds support for Wi-Fi configuration, IPP-USB, printer driver lookup and auto- add functionality, improves management of multiple printers, and adds support for Microsoft® Windows® 10 and higher.

Changes in 1.1b2 include:

  • Added support for papplDeviceGetID with network devices (Issue #95)
  • Added support for the “compression” option.
  • Added English names for Tabloid and A3 media sizes in the web interface.
  • Added “server-hostname” and “listen-hostname” server options to the default mainloop system callback.
  • Fixed support for default printers, added indicator in web interface (Issue #182)
  • Fixed support for printers with spaces in their names.
  • Fixed the “jobs” subcommand.
  • Fixed support for page-ranges.
  • Fixed support for printers that do PDF beyond converting it to raster.
  • Fixed support for mainloop subcommands on Windows.
  • Fixed error message when Bonjour for Windows is not installed.

Enjoy!

Download PAPPL v1.1b2 Home Page

Comments
 

OpenPrinting at the Linux Plumber's Conference September 21, 2021

The OpenPrinting group of the Linux Foundation had a session at the 2021 (virtual) Linux Plumber’s Conference yesterday. I led a discussion about the upcoming CUPS 2.4 release, next year’s planned CUPS 2.5 release, and 2023’s planned CUPS 3.0 release which will (finally) eliminate printer drivers on Linux. Till presented developments in printer management and packaging on Linux, print dialogs, and printer applications. And Bhavna talked about her Google Summer of Code work to extend PAPPL with scanning support.

Comments
 

Version Numbering September 01, 2021

I recently got some push-back on my latest beta releases, specifically on the format of my version numbers (1.0b1 for PDFio, and 1.1b1 for PAPPL). I’ve been using this scheme for many years now, and it is hardly unique. What follows is a short summary of the history, standards, and best practices for version numbers…

More + Comments
 

PAPPL v1.1b1 August 31, 2021

The first beta release of PAPPL v1.1 is now available for download. PAPPL v1.1 adds support for Wi-Fi configuration, IPP-USB, printer driver lookup and auto- add functionality, improves management of multiple printers, and adds support for Microsoft® Windows® 10 and higher.

Changes in 1.1b1 include:

  • Added support for Windows 10 and higher.
  • Added PAPPL_SOPTIONS_NO_TLS option to disable TLS support.
  • Added Wi-Fi callbacks to support configuration over IPP-USB (Issue #45)
  • Added buttons and sub-commands to pause and resume printers (Issue #124)
  • papplMainLoop now uses a persistent location for state and spool files by default (Issue #128)
  • papplMainLoop now supports clients talking to a system-wide server running as root (Issue #148)
  • Added a “set default” button to the web interface (Issue #150)
  • The drivers sub-command now reports the IEEE-1284 device ID for a given driver (Issue #157)
  • Jobs can now be canceled and printers deleted when a processing job is trying to connect to a printer (Issue #163)
  • The default media is now updated if the ready media for a given tray is updated (Issue #164)
  • Fixed an issue with the “drivers” sub-command not working if you don’t have a system callback.
  • Fixed a deadlock issue on macOS.
  • Added a new papplJobCreateWithFile API to allow printer applications to submit print jobs internally.
  • Refactored the papplSystem hostname/port APIs to be consistent with the naming used for the papplClient APIs.

Enjoy!

Download PAPPL v1.1b1 Home Page

Comments
 

PDFio 1.0b1 August 30, 2021

PDFio 1.0b1 is the first beta release of PDFio.

Download PDFio v1.0b1 Home Page

Comments
 

Ubuntu Desktop Team Indaba August 27, 2021

I had the privilege of being a guest with Till Kamppeter on this month’s Ubuntu Desktop Team Indaba to talk about open source printing - the early history, where we are today, and where we are headed. Be sure to check out the video and the OpenPrinting web sites for more information and links to all of the projects that are being worked on.

Comments
 

RasterView 1.8 July 17, 2021

RasterView 1.8 includes some minor improvements and bug fixes. Changes include:

  • Fixed HiDPI support on Linux (Issue #11)
  • Fixed macOS 11 (Big Sur) issues (Issue #15)
  • Can now view page bitmaps up to 2GB in size (Issue #16)
  • Color picker mode now copies the hex RGB color to the clipboard.
  • Zoom gestures are now supported on macOS.
  • Addressed a few warnings from LGTM.
  • Fixed macOS bundle information and now provide fat binaries for Intel and Apple Silicon.

Enjoy!

Download RasterView 1.8 Install RasterView 1.8 Snap Home Page

Comments
 

Announcing PDFio, a Simple PDF Read/Write Library May 30, 2021

PDFio is a simple C library for reading and writing PDF files. I’ve been working on it sporadically for the last few weeks to prototype some new printing features and support a future version of HTMLDOC. The primary goals of PDFio are:

  • Read and write any version of PDF file
  • Provide access to pages, objects, and streams within a PDF file
  • Support reading encrypted PDF files
  • Support writing PDF files with digital signatures
  • Extract or embed useful metadata (author, creator, page information, etc.)
  • “Filter” PDF files, for example to extract a range of pages or to embed fonts that are missing from a PDF
  • Provide access to objects used for each page

PDFio is not concerned with rendering or viewing a PDF file, although a PDF RIP or viewer could be written using it. And while it is far from complete, the current code is sufficient to manipulate PDF files and create page content.

I’m providing PDFio under the Apache License Version 2.0 with an (optional) exception to allow linking against GPL2/LGPL2 software.

Home Page Github Project

Comments
 

HTMLDOC 1.9.12 May 17, 2021

HTMLDOC 1.9.12 is a bug fix release. Changes include:

  • Fixed a crash bug with “data:” URIs and EPUB output (Issue #410)
  • Fixed crash bugs for books (Issue #412, Issue #414)
  • Fixed a number-up crash bug (Issue #413)
  • Fixed JPEG error handling (Issue #415)
  • Fixed crash bugs with bogus table attributes (Issue #416, Issue #417)
  • Fixed a crash bug with malformed URIs (Issue #418)
  • Fixed a crash bug with malformed GIF files (Issue #423)
  • Fixed a crash bug with empty titles (Issue #425)
  • Fixed crash bugs with bogus text (Issue #426, Issue #429, Issue #430, Issue #431)
  • Fixed some issues reported by Coverity.
  • Removed the bundled libjpeg, libpng, and zlib.

Enjoy!

Download HTMLDOC 1.9.12 Install HTMLDOC 1.9.12 Snap Home Page

Comments
 

PAPPL v1.0.3 April 21, 2021

PAPPL v1.0.3 is a general bug fix release and is now available for download.

Download PAPPL v1.0.3 Home Page

More + Comments
 

PAPPL v1.0.2 February 20, 2021

PAPPL v1.0.2 is a general bug fix release and is now available for download.

Download PAPPL v1.0.2 Home Page

More + Comments
 

PAPPL v1.0.1 January 12, 2021

PAPPL v1.0.1 is a general bug fix release and is now available for download.

Download PAPPL v1.0.1 Home Page

More + Comments
 

zipc v1.3 January 09, 2021

zipc v1.3 is a bug fix release. Changes include:

  • Fixed some issues when building using Visual Studio.
  • Switched to using localtime_r/s to avoid potential thread safety issues.
  • Fixed some issues reported by Coverity.

Enjoy!

Download zipc v1.3 Home Page

 

mmd v1.8 January 04, 2021

This release of mmd fixes a link parsing bug as well as resolving several minor issues reported by various static code analysis tools.

Enjoy!

Download mmd 1.8 Install mmdutil 1.8 Snap Home Page

More + Comments