CUPS v2.3.5 Release Notes

    • โœ… The automated test suite can now be activated using make test for consistency with other projects and CI environments - the old make check continues to work as well, and the previous test server behavior can be accessed by running make testserver.
    • ๐Ÿ–จ ippeveprinter now supports multiple icons and strings files.
    • ๐Ÿ–จ ippeveprinter now uses the system's FQDN with Avahi.
    • ๐Ÿ–จ ippeveprinter now supports Get-Printer-Attributes on "/".
    • ๐Ÿ–จ ippeveprinter now uses a deterministic "printer-uuid" value.
    • ๐ŸŽ ippeveprinter now uses system sounds on macOS for Identify-Printer.
    • โšก๏ธ Updated ippfind to look for files in "~/Desktop" on Windows.
    • โšก๏ธ Updated ippfind to honor SKIP-XXX directives with PAUSE.
    • โšก๏ธ Updated IPP Everywhere support to work around printers that only advertise color raster support but really also support grayscale (OpenPrinting #1)
    • ipptool now supports DNS-SD URIs like ipps://My%20Printer._ipps._tcp.local (OpenPrinting #5)
    • ๐Ÿ‘ท ipptool now supports monitoring the printer state while submitting a job with the MONITOR-PRINTER-STATE directive (OpenPrinting #153)
    • โœ… ipptool now supports testing for unique values with the WITH-DISTINCT-VALUES predicate (OpenPrinting #153)
    • ๐Ÿ‘ ipptool now supports retrying requests on a server-error-busy status code (OpenPrinting #153)
    • ๐Ÿ‘ ipptool now supports value-tag(MAX) and value-tag(MIN:MAX) for the OF-TYPE predicate (OpenPrinting #153)
    • โฑ The scheduler now allows root backends to have world read permissions but not world execute permissions (OpenPrinting #21)
    • Failures to bind IPv6 listener sockets no longer cause errors if IPv6 is disabled on the host (OpenPrinting #25)
    • ๐Ÿ–จ The SNMP backend now supports the HP and Ricoh vendor MIBs (OpenPrinting #28)
    • โฑ The scheduler no longer includes a timestamp in files it writes (OpenPrinting #29)
    • 0๏ธโƒฃ IPP Everywhere PPDs could have an "unknown" default InputSlot (OpenPrinting #44)
    • The httpAddrListen function now uses a listen backlog of 128.
    • ๐Ÿ–จ The PPD functions now treat boolean values as case-insensitive (OpenPrinting #106)
    • ๐Ÿ–จ Temporary queue names no longer end with an underscore (OpenPrinting #110)
    • โž• Added USB quirks (Issue #5789, #5766, #5823, #5831, #5838, #5843, #5867)
    • ๐Ÿ›  Fixed IPP Everywhere v1.1 conformance issues in ippeveprinter.
    • ๐Ÿ›  Fixed DNS-SD name collision support in ippeveprinter.
    • ๐Ÿ›  Fixed compiler and code analyzer warnings.
    • ๐Ÿ›  Fixed TLS support on Windows.
    • ๐Ÿ›  Fixed ippfind sub-type searches with Avahi.
    • ๐Ÿ›  Fixed the default hostname used by ippeveprinter on macOS.
    • ๐Ÿ›  Fixed resolution of local IPP-USB printers with Avahi.
    • ๐Ÿ›  Fixed coverity issues (OpenPrinting #2)
    • ๐Ÿ›  Fixed httpAddrConnect issues (OpenPrinting #3)
    • ๐Ÿ›  Fixed web interface device URI issue (OpenPrinting #4)
    • ๐Ÿ›  Fixed lp/lpr "printer/class not found" error reporting (OpenPrinting #6)
    • ๐Ÿ›  Fixed a memory leak in the scheduler (OpenPrinting #12)
    • ๐Ÿ›  Fixed a potential integer overflow in the PPD hashing code (OpenPrinting #13)
    • ๐Ÿ›  Fixed output-bin and print-quality handling issues (OpenPrinting #18)
    • ๐Ÿ›  Fixed PPD options getting mapped to odd IPP values like "tray---4" (OpenPrinting #23)
    • ๐Ÿ›  Fixed remote access to the cupsd.conf and log files (OpenPrinting #24)
    • ๐Ÿ›  Fixed a logging regression caused by a previous change for Issue #5604 (OpenPrinting #25)
    • ๐Ÿ›  Fixed the "uri-security-supported" value from the scheduler (OpenPrinting #42)
    • ๐Ÿ›  Fixed IPP backend crash bug with "printer-alert" values (OpenPrinting #43)
    • ๐Ÿ›  Fixed default options that incorrectly use the "custom" prefix (OpenPrinting #48)
    • ๐Ÿ›  Fixed a memory leak when resolving DNS-SD URIs (OpenPrinting #49)
    • ๐Ÿ›  Fixed cupsManualCopies values in IPP Everywhere PPDs (Issue #5807)
    • ๐Ÿ›  Fixed duplicate ColorModel entries for AirPrint printers (Issue 59)
    • ๐Ÿ›  Fixed crash bug in ppdOpen (OpenPrinting #64, OpenPrinting #78)
    • ๐Ÿ›  Fixed regression in snprintf emulation function (OpenPrinting #67)
    • ๐Ÿ›  Fixed reporting of printer instances when enumerating and when no options are set for the main instance (OpenPrinting #71)
    • ๐Ÿ›  Fixed segfault in help.cgi when searching in man pages (OpenPrinting #81)
    • ๐Ÿ›  Fixed a bug in ipptool that caused the reuse of request IDs when repeating a test (OpenPrinting #153)
    • Root certificates were incorrectly stored in "~/.cups/ssl".
    • ๐Ÿ›  Fixed a PPD memory leak caused by emulator definitions (OpenPrinting #124)
    • ๐Ÿ›  Fixed a DISPLAY bug in ipptool (OpenPrinting #139)
    • httpReconnect2 did not reset the socket file descriptor when the TLS negotiation failed (Issue #5907)
    • โšก๏ธ httpUpdate did not reset the socket file descriptor when the TLS negotiation failed (Apple #5915)
    • ๐Ÿ–จ The ippeveprinter tool now automatically uses an available port.
    • ๐Ÿ‘ท The IPP backend now retries Validate-Job requests (OpenPrinting #132)
    • โœ‚ Removed support for the (long deprecated and unused) KeepAliveTimeout directive in cupsd.conf (Issue #5733)
    • ๐Ÿ›  Fixed @IF(name) handling in cupsd.conf (Issue #5918)
    • โฑ The scheduler now supports the "everywhere" model directly (Issue #5919)
    • ๐Ÿ›  Fixed documentation and added examples for CUPS' limited CGI support (Issue #5940)
    • ๐Ÿ›  Fixed the lpc command prompt (Issue #5946)
    • ๐Ÿ›  Fixed job-pages-per-set value for duplex print jobs.