All Versions
Latest Version
Avg Release Cycle
88 days
Latest Release

Changelog History
Page 1

  • v2.3.6 Changes

    • CVE-2022-26691: An incorrect comparison in local admin authentication.
  • v2.3.5 Changes

    • โœ… 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.
  • v2.3.4 Changes

    April 24, 2020
    • ๐Ÿ›  CVE-2020-10001: Fixed a buffer (read) overflow in the ippReadIO function.
  • v2.3.3 Changes

    April 24, 2020

    ๐Ÿ”„ CHANGES - 2.3.3 - 2020-04-24

    ๐Ÿ”„ Changes in CUPS v2.3.3

    • ๐Ÿ’ป CVE-2020-3898: The ppdOpen function did not handle invalid UI
      constraint. ppdcSource::get_resolution function did not handle
      invalid resolution strings.
    • CVE-2019-8842: The ippReadIO function may under-read an extension

    ๐Ÿ”„ Changes in CUPS v2.3.2 (never tagged)

    • โšก๏ธ Localization updates.
  • v2.3.2 Changes

    December 18, 2019
    • โšก๏ธ Localization updates.
  • v2.3.1 Changes

    August 27, 2019

    ๐Ÿš€ CUPS 2.3.1 is a general bug fix release, including a fix for CVE-2019-2228. Changes include:

    • ๐Ÿ“š Documentation updates (Issue #5661, #5674, #5682)
    • 0๏ธโƒฃ CVE-2019-2228: The ippSetValuetag function did not validate the default
      language value.
    • ๐Ÿ›  Fixed a crash bug in the web interface (Issue #5621)
    • The PPD cache code now looks up page sizes using their dimensions
      (Issue #5633)
    • PPD files containing "custom" option keywords did not work (Issue #5639)
    • โž• Added a workaround for the scheduler's systemd support (Issue #5640)
    • ๐Ÿ On Windows, TLS certificates generated on February 29 would likely fail
      (Issue #5643)
    • โž• Added a DigestOptions directive for the client.conf file to control whether
      MD5-based Digest authentication is allowed (Issue #5647)
    • ๐Ÿ›  Fixed a bug in the handling of printer resource files (Issue #5652)
    • The libusb-based USB backend now reports an error when the distribution
      permissions are wrong (Issue #5658)
    • โž• Added paint can labels to Dymo driver (Issue #5662)
    • ๐Ÿ–จ The ippeveprinter program now supports authentication (Issue #5665)
    • ๐Ÿ–จ The ippeveprinter program now advertises DNS-SD services on the correct
      interfaces, and provides a way to turn them off (Issue #5666)
    • ๐Ÿ”ง The --with-dbusdir option was ignored by the configure script (Issue #5671)
    • 0๏ธโƒฃ Sandboxed applications were not able to get the default printer (Issue #5676)
    • ๐ŸŒฒ Log file access controls were not preserved by cupsctl (Issue #5677)
    • 0๏ธโƒฃ Default printers set with lpoptions did not work in all cases (Issue #5681,
      Issue #5683, Issue #5684)
    • ๐Ÿ›  Fixed an error in the jobs web interface template (Issue #5694)
    • ๐Ÿ›  Fixed an off-by-one error in ippEnumString (Issue #5695)
    • ๐Ÿ›  Fixed some new compiler warnings (Issue #5700)
    • ๐Ÿ›  Fixed a few issues with the Apple Raster support (rdar://55301114)
    • ๐Ÿ‘ท The IPP backend did not detect all cases where a job should be retried using
      a raster format (rdar://56021091)
    • ๐Ÿ›  Fixed spelling of "fold-accordion".
    • ๐Ÿ›  Fixed the default common name for TLS certificates used by ippeveprinter.
    • ๐Ÿ›  Fixed the option names used for IPP Everywhere finishing options.
    • โž• Added support for the second roll of the DYMO Twin/DUO label printers.


  • v2.3.0 Changes

    August 01, 2019

    ๐Ÿ’… CUPS 2.3.0 is now available for download, which adopts the new CUPS license, adds support for IPP presets and finishing templates, fixes a number of bugs and "polish" issues, and includes the new ippeveprinter utility. Changes include:

    • ๐Ÿ›  CVE-2019-8696 and CVE-2019-8675: Fixed SNMP buffer overflows (rdar://51685251)
    • โž• Added a GPL2/LGPL2 exception to the new CUPS license terms.
    • ๐Ÿ“š Documentation updates (Issue #5604)
    • โšก๏ธ Localization updates (Issue #5637)
    • ๐Ÿ›  Fixed a bug in the scheduler job cleanup code (Issue #5588)
    • ๐Ÿ›  Fixed builds when there is no TLS library (Issue #5590)
    • โš  Eliminated some new GCC compiler warnings (Issue #5591)
    • โœ‚ Removed dead code from the scheduler (Issue #5593)
    • "make" failed with GZIP options (Issue #5595)
    • ๐Ÿ›  Fixed potential excess logging from the scheduler when removing job files
      (Issue #5597)
    • ๐Ÿ›  Fixed a NULL pointer dereference bug in httpGetSubField2 (Issue #5598)
    • โž• Added FIPS-140 workarounds for GNU TLS (Issue #5601, Issue #5622)
    • โฑ The scheduler no longer provides a default value for the description
      (Issue #5603)
    • โฑ The scheduler now logs jobs held for authentication using the error level so
      it is clear what happened (Issue #5604)
    • โšก๏ธ The lpadmin command did not always update the PPD file for changes to the
      cupsIPPSupplies and cupsSNMPSupplies keywords (Issue #5610)
    • โฑ The scheduler now uses both the group's membership list as well as the
      various OS-specific membership functions to determine whether a user belongs
      to a named group (Issue #5613)
    • โž• Added USB quirks rule for HP LaserJet 1015 (Issue #5617)
    • ๐Ÿ›  Fixed some PPD parser issues (Issue #5623, Issue #5624)
    • ๐Ÿ“œ The IPP parser no longer allows invalid member attributes in collections
      (Issue #5630)
    • ๐Ÿ”ง The configure script now treats the "wheel" group as a potential system
      group (Issue #5638)
    • ๐Ÿ›  Fixed a USB printing issue on macOS (rdar://31433931)
    • ๐Ÿ›  Fixed IPP buffer overflow (rdar://50035411)
    • ๐Ÿ›  Fixed memory disclosure issue in the scheduler (rdar://51373853)
    • ๐Ÿ›  Fixed DoS issues in the scheduler (rdar://51373929)
    • ๐Ÿ›  Fixed an issue with unsupported "sides" values in the IPP backend
    • โฑ The scheduler would restart continuously when idle and printers were not
      shared (rdar://52561199)
    • ๐Ÿ›  Fixed an issue with EXPECT !name WITH-VALUE ... tests.
    • ๐Ÿ›  Fixed a command ordering issue in the Zebra ZPL driver.
    • ๐Ÿ›  Fixed a memory leak in ppdOpen.


  • v2.3.rc1 Changes

    May 21, 2019

    ๐Ÿš€ CUPS 2.3rc1 is now available for download. This is the first release candidate for CUPS 2.3.0 which adopts the new CUPS license, adds support for IPP presets and finishing templates, and fixes a number of bugs and "polish" issues. This beta also includes the new ippeveprinter utility. Changes include:

    • The cups-config script no longer adds extra libraries when linking against
      shared libraries (Issue #5261)
    • โšก๏ธ The supplied example print documents have been optimized for size
      (Issue #5529)
    • The cupsctl command now prevents setting "cups-files.conf" directives
      (Issue #5530)
    • ๐ŸŒ The "forbidden" message in the web interface is now explained (Issue #5547)
    • ๐ŸŒ The footer in the web interface covered some content on small displays
      (Issue #5574)
    • ๐Ÿ–จ The libusb-based USB backend now enforces read limits, improving print speed
      in many cases (Issue #5583)
    • ๐Ÿ–จ The ippeveprinter command now looks for print commands in the "command"
    • ๐Ÿ‘ The ipptool command now supports $date-current and $date-start variables
      to insert the current and starting date and time values, as well as ISO-8601
      relative time values such as "PT30S" for 30 seconds in the future.


  • v2.3.b8 Changes

    May 02, 2019

    ๐Ÿ’… CUPS 2.3b8 is now available for download. This is the eighth beta of the CUPS 2.3 series which adopts the new CUPS license, adds support for IPP presets and finishing templates, and fixes a number of bugs and "polish" issues. This beta also includes the new ippeveprinter utility. Changes include:

    • Media size matching now uses a tolerance of 0.5mm (rdar://33822024)
    • The lpadmin command would hang with a bad PPD file (rdar://41495016)
    • ๐Ÿ›  Fixed a potential crash bug in cups-driverd (rdar://46625579)
    • ๐Ÿ›  Fixed a performance regression with large PPDs (rdar://47040759)
    • ๐Ÿ›  Fixed a memory reallocation bug in HTTP header value expansion
    • ๐Ÿ‘ท Timed out job submission now yields an error (Issue #5570)
    • โช Restored minimal support for the Emulators keyword in PPD files to allow
      ๐Ÿ–จ old Samsung printer drivers to continue to work (Issue #5562)
    • โฑ The scheduler did not encode octetString values like "job-password" correctly
      ๐Ÿ–จ for the print filters (Issue #5558)
    • ๐Ÿ‘ The cupsCheckDestSupported function did not check octetString values
      correctly (Issue #5557)
    • โž• Added support for UserAgentTokens directive in "client.conf" (Issue #5555)
    • โšก๏ธ Updated the systemd service file for cupsd (Issue #5551)
    • The ippValidateAttribute function did not catch all instances of invalid
      UTF-8 strings (Issue #5509)
    • ๐Ÿ›  Fixed an issue with the self-signed certificates generated by GNU TLS
      (Issue #5506)
    • ๐Ÿ›  Fixed a potential memory leak when reading at the end of a file (Issue #5473)
    • ๐Ÿ›  Fixed potential unaligned accesses in the string pool (Issue #5474)
    • ๐Ÿ›  Fixed a potential memory leak when loading a PPD file (Issue #5475)
    • โž• Added a USB quirks rule for the Lexmark E120n (Issue #5478)
    • โšก๏ธ Updated the USB quirks rule for Zebra label printers (Issue #5395)
    • ๐Ÿ›  Fixed a compile error on Linux (Issue #5483)
    • โฑ The lpadmin command, web interface, and scheduler all queried an IPP
      ๐Ÿ–จ Everywhere printer differently, resulting in different PPDs for the same
      ๐Ÿ–จ printer (Issue #5484)
    • ๐ŸŒ The web interface no longer provides access to the log files (Issue #5513)
    • ๐Ÿ Non-Kerberized printing to Windows via IPP was broken (Issue #5515)
    • ๐ŸŽ Eliminated use of private headers and some deprecated macOS APIs (Issue #5516)
    • โฑ The scheduler no longer stops a printer if an error occurs when a job is
      canceled or aborted (Issue #5517)
    • โž• Added a USB quirks rule for the DYMO 450 Turbo (Issue #5521)
    • โž• Added a USB quirks rule for Xerox printers (Issue #5523)
    • โฑ The scheduler's self-signed certificate did not include all of the alternate
      names for the server when using GNU TLS (Issue #5525)
    • ๐Ÿ›  Fixed compiler warnings with newer versions of GCC (Issue #5532, Issue #5533)
    • ๐Ÿ›  Fixed some PPD caching and IPP Everywhere PPD accounting/password bugs
      (Issue #5535)
    • ๐Ÿ›  Fixed PreserveJobHistory bug with time values (Issue #5538)
    • โฑ The scheduler no longer advertises the HTTP methods it supports (Issue #5540)
    • โšก๏ธ Localization updates (Issue #5461, Issues #5471, Issue #5481, Issue #5486,
      Issue #5489, Issue #5491, Issue #5492, Issue #5493, Issue #5494, Issue #5495,
      Issue #5497, Issue #5499, Issue #5500, Issue #5501, Issue #5504)
    • โฑ The scheduler did not always idle exit as quickly as it could.
    • โž• Added a new ippeveprinter command based on the old ippserver sample code.


  • v2.3.b7 Changes

    December 14, 2018

    ๐Ÿ’… CUPS 2.3b7 is now available for download. This is the sixth beta of the CUPS 2.3 series which adopts the new CUPS license, adds support for IPP presets and finishing templates, and fixes a number of bugs and "polish" issues.

    ๐Ÿ”„ Changes include:

    • ๐Ÿ›  Fixed some build failures (Issue #5451, Issue #5463)
    • โš™ Running ppdmerge with the same input and output filenames did not work as
      advertised (Issue #5455)