PAPPL v1.3.0 is now available for download and adds new job management, image
printing, localization, and configuration features. Changes in 1.3.0 include:
Added debug logging for device management.
Added support for job hold and release (Issue #15)
Added support for PNG image scaling using embedded resolution information
(Issue #65)
Added papplLocGetDefaultMediaSizeName function to get the default media size
for the current country (Issue #167)
Added support for localized banners at the top of printer and system web pages
(Issue #183)
Added timer APIs to manage periodic tasks (Issue #208)
Added support for network configuration via callbacks (Issue #217)
Added APIs to limit the maximum size of JPEG/PNG images (Issue #224)
Added support for the Clang/GCC ThreadSanitizer with the --enable-tsanitizer
configure option.
Added Norwegian Bokmål, Polish, and Turkish localizations.
Added a password visibility button to the Wi-Fi password field.
Changed names of PAPPL-specific attributes to use “smi55357” prefix.
Updated USB device code to generate a 1284 device ID and use the manufacturer
and product strings when necessary (Issue #234)
Updated the USB gadget code to handle disconnections.
Updated PAPPL to conform to the new prototype PWG 5100.13 specification
(Issue #216)
Fixed a device race condition with job processing.
Fixed a initialization timing issue with USB gadgets on newer Linux kernels.
Fixed a potential memory underflow with USB device IDs.
Fixed web interface support for vendor text options (Issue #142)
Fixed a potential value overflow when reading SNMP OIDs (Issue #210)
Fixed more CUPS 2.2.x compatibility issues (Issue #212)
Fixed a 100% CPU usage bug when cleaning the job history (Issue #218)
Fixed the default values of --with-papplstatedir and --with-papplsockdir
to use the localstatedir value (Issue #219)
Fixed storage of label offsets for printers that implement them.
Fixed some thread access issues on ARM.
Fixed when the kernel USB printer driver is unloaded on Linux (Issue #233)
Fixed papplDevicePrintf to allow the “%c” character to be 0.
mantohtml is a man page to HTML conversion program. It supports all of the
common man/roff macros and can combine multiple man pages in a single HTML
output file.
mantohtml v2.0 is an all-new implementation of my original utility, now
available as a separate project.
PAPPL v1.2.1 is now available for download and fixes some key issues with
localization, client limits, and compiling against older versions of CUPS.
Changes in 1.2.1 include:
Fixed a bug in the max-clients support code (Issue #205)
Fixed compiler warnings (Issue #206, Issue #207)
Fixed corruption in the English localization file.
PAPPL didn’t compile against CUPS 2.2.6 and earlier.
PAPPL v1.2.0 is now available for download. PAPPL v1.2 adds full localization, support for additional IPP features, and some other improvements. Changes in 1.2.0 include:
Added papplMainloopShutdown API to trigger a shutdown of the system that
was started by papplMainloop.
Fixed mapping of MIME media types to IEEE-1284 Command Set values.
Fixed a crash bug when no printers are added.
Fixed compatibility issues with libcups3.
The macOS menu extra did not update the list of available printers.
No longer try to show the macOS menu extra when running from a root launchd
service (Issue #201)
HP Printer Application v1.2.0 is now available for download as an “officially
supported” printer application for older PCL laser and inkjet printers. Changes
in 1.2.0 include:
Fixed default listen address when running as a server (Issue #7)
Fixed the media size list which prevented A4 from showing up (Issue #8)
Fixed dropped connections in the web browser when switching to HTTPS
(Issue #9)
Now offer more appropriate printer icons (Issue #10)
Fixed a bug in the HP DeskJet driver (Issue #11)
Fixed draft output (Issue #12)
Fixed a crash bug when there was no default printer (Issue #14)
PAPPL v1.2rc1 is now available for download. PAPPL v1.2 adds full localization, support for additional IPP features, and some other improvements. Changes in 1.2rc1 include:
Added explicit support for running macOS printer applications as a server.
Added unit test support for the new SNMP-based supply level and status monitoring code.
Updated USB gadget code to not enable gadget until system is started or USB options are set.
Updated default spool directory to use a persistent, per-user location.
Fixed DNS-SD advertising when adding a printer from the web interface.
Fixed double “Supplies” buttons in the web interface.
Fixed human-readable location fields in web interfaces.
Fixed an issue with the default system callback for papplMainloop.
Fixed an issue with papplDeviceList and DNS-SD discovery when there was no active system.
Fixed printer compatibility issues with the new papplDeviceGetSupplies API.
Fixed some locking issues with the macOS menubar icon.
PAPPL v1.2b1 is now available for download. PAPPL v1.2 adds full localization, support for additional IPP features, and some other improvements. Changes include:
Added macOS menubar icon/menu (Issue #27)
Added support for localization, with base localizations for English, French, German, Italian, Japanese, and Spanish (Issue #58)
Added interpolation when printing JPEG images or when using the papplJobFilterImage function with smoothing enabled (Issue #64)
Added papplDeviceGetSupplies API to query supply levels via SNMP (Issue #83)
Added support for custom media sizes in millimeters (Issue #118)
Added papplPrinterGet/SetMaxPreservedJobs API and reprint web interface (Issue #189)
Added IPP notifications support with papplSystemAddEvent and papplSubscriptionXxx functions (Issue #191)
Added papplPrinterDisable and papplPrinterEnable functions and proper support for the IPP “printer-is-accepting-jobs” attribute.
Added OpenSSL/LibreSSL support (Issue #195)
Added papplSystemGet/SetMaxClients API (Issue #198)
Updated papplPrinterSetReadyMedia to support up to PAPPL_MAX_SOURCE media entries, regardless of the number of sources.
StringsUtil v1.0 is now available for download. StringsUtil provides a library
for using Apple “.strings” localization files and a utility for managing those
files.
StringsUtil provides a library for using Apple “.strings” localization files and
a utility for managing those files. It is intended as a free, smaller,
embeddable, and more flexible alternative to GNU gettext. Key features include:
Support for localizing using both Apple “.strings” and GNU gettext “.po”
files.
Simple C/C++ library with support for embedding localization data in an
executable and/or loading localizations from external files.
Tools for exporting, importing, and merging localization files.
Tool for reporting on the quality of a localization.
Tool for scanning C/C++ source files for localization strings.
Coming Soon: Tool for doing a first pass machine translation.
I’m providing StringsUtil under the Apache License Version 2.0 with an
(optional) exception to allow linking against GPL2/LGPL2 software.
This release of mmd adds support for task lists as well as resolving a few
minor issues reported by the Clang static code analysis tool. Changes include:
Added support for the Github-flavored markdown task list extension (check
boxes in lists)
Addressed some issues found by the Clang static analyzer.