What's new in Common UNIX Printing System 2.3.1

Dec 16, 2019
  • Documentation updates (Issue #5661, #5674, #5682)
  • 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)
  • Sandboxed applications were not able to get the default printer (Issue #5676)
  • Log file access controls were not preserved by cupsctl (Issue #5677)
  • 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.

New in Common UNIX Printing System 2.3.0 (Aug 26, 2019)

  • 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
  • (rdar://51775322)
  • 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.

New in Common UNIX Printing System 2.2.9 (Nov 12, 2018)

  • This is a bug fix release that addresses issues in the scheduler, IPP Everywhere support, CUPS library, and USB printer support.

New in Common UNIX Printing System 2.2.4 (Jul 2, 2017)

  • The scheduler did not remove old job files (Issue #4987)
  • cupsEnumDests did not return early when all printers had been discovered
  • (Issue #4989)
  • The CUPS build system now supports cross-compilation (Issue #4897)
  • Added a new CUPS Programming Manual to replace the aging API documentation.
  • Added the cupsAddIntegerOption and cupsGetIntegerOption functions
  • (Issue #4992)
  • The cupsGetDests and cupsCreateJob functions now support Bonjour printers
  • (Issue #4993)
  • Added a USB quirk rule for Lexmark E260dn printers (Issue #4994)
  • Fixed a potential buffer overflow in the cupstestppd utility (Issue #4996)
  • IPP Everywhere improvements (Issue #4998)
  • Fixed the "cancel all jobs" function in the web interface for several
  • languages (Issue #4999)
  • Fixed issues with local queues (Issue #5003, Issue #5008, Issue #5009)
  • The lpstat command now supports a -e option to enumerate local printers
  • (either previously added or on the network) that can be accessed
  • (Issue #5005)
  • The lp and lpr commands now support printing to network printers that
  • haven't yet been added (Issue #5006)
  • Fixed a typo in the mime.types file.
  • Fixed a bug in the Spanish web interface template (Issue #5016)
  • The cupsEnumDests* and cupsGetDest* functions now report the value of the
  • "printer-is-temporary" Printer Status attribute (Issue #5028)
  • Added Chinese localization (Issue #5029)
  • The cupsCheckDestSupported function did not support NULL values
  • (Issue #5031)
  • Fixed some issues in the RPM spec file (Issue #5032)
  • The cupsConnectDest function now supports the CUPS_DEST_FLAGS_DEVICE flag
  • for explicitly connecting to the device (printer) associated with the
  • destination.
  • The SSLOptions directive in "client.conf" and "cupsd.conf" now supports
  • DenyCBC and DenyTLS1.0 options (Issue #5037)

New in Common UNIX Printing System 2.2.3 (Mar 29, 2017)

  • The IPP backend could get into an infinite loop for certain errors, causing a hung queue (rdar://problem/28008717)
  • The scheduler could pause responding to client requests in order to save state changes to disk (rdar://problem/28690656)
  • Added support for PPD finishing keywords (Issue #4960, Issue #4961, Issue #4962)
  • The IPP backend did not send a media-col attribute for just the source or type (Issue #4963)
  • IPP Everywhere print queues did not always support all print qualities supported by the printer (Issue #4953)
  • IPP Everywhere print queues did not always support all media types supported by the printer (Issue #4953)
  • The IPP Everywhere PPD generator did not return useful error messages (Issue #4954)
  • The IPP Everywhere finishings support did not work correctly with common UI or command-line options (Issue #4976)
  • Fixed an error handling issue for the network backends (Issue #4979)
  • The default cupsd.conf file did not work on systems compiled without Kerberos support (Issue #4947)
  • The "reprint job" option was not available for some canceled jobs (Issue #4915)
  • Updated the job listing in the web interface (Issue #4978)
  • Fixed some localization issues on macOS (rdar://problem/27245567)

New in Common UNIX Printing System 2.2.2 (Jan 18, 2017)

  • CUPS 2.2.2 is a general bug fix release.

New in Common UNIX Printing System 2.2.1 (Oct 4, 2016)

  • CUPS 2.2.1 is a general bug fix release. A detailed list of changes can be found in the change log included in the download.

New in Common UNIX Printing System 2.2.0 (Sep 14, 2016)

  • CUPS 2.2.0 adds support for local IPP Everywhere print queues and includes several performance and security improvements.

New in Common UNIX Printing System 2.1.3 (Feb 5, 2016)

  • The default password function did not work on some platforms (STR #4750)
  • The scheduler should not exit under memory pressure ()
  • The EPL2 and ZPL sample drivers did not properly support the CutMedia option.
  • Pending subscriptions would prevent the scheduler from idle exiting (STR #4754)
  • Fixed some issues in ipptool for skipped tests ()
  • The "lp -H resume" command did not reset the "job-state-reasons" attribute value (STR #4752)
  • The scheduler did not allow access to resource files (icons, etc.) when the web interface was disabled (STR #4755)
  • Localization fix (STR #4756)

New in Common UNIX Printing System 2.1.2 (Dec 3, 2015)

  • CUPS 2.1.2 fixes an issue in the 2.1.1 source archives which actually contained a current 2.2 snapshot. There are no other changes.

New in Common UNIX Printing System 2.1.0 (Sep 1, 2015)

  • CUPS 2.1.0 offers improved support for IPP Everywhere, adds support for advanced logging using journald on Linux and ASL on OS X, and includes new security features for encrypted printing and reduced network visibility in the default configuration.

New in Common UNIX Printing System 2.0.3 (Jun 9, 2015)

  • Security: Fixed CERT VU #810572 exploiting the dynamic linker (STR #4609)
  • Security: The scheduler could hang with malformed gzip data (STR #4602)
  • Restored missing generic printer icon file (STR #4587)
  • Fixed logging of configuration errors to show up as errors (STR #4582)
  • Fixed potential buffer overflows in raster code and filters (STR #4598, STR #4599, STR #4600, STR #4601)
  • Fixed inside (STR #4575)
  • Fixed lpadmin when both -m and -o are used (STR #4578)
  • The web interface always showed support for 2-sided printing (STR #4595)
  • cupsRasterReadHeader did not fully validate the raster header (STR #4596)
  • The rastertopwg filter did not check for truncated input (STR #4597)
  • The cups-lpd mini-daemon did not check for request parameters (STR #4603)
  • The scheduler could get caught in a busy loop (STR #4605)
  • The sample Epson driver could crash (STR #4616)
  • The IPP backend now correctly monitors jobs ()
  • The ppdhtml and ppdpo utilities crashed when the -D option was used before a driver information file (STR #4627)
  • ippfind incorrectly substituted "=port" for service_port.
  • The IPP/1.1 test file did not handle the initial print job completing early (STR #4576)
  • Fixed a memory leak in cupsConnectDest (STR #4634)
  • PWG Raster Format output contained invalid ImageBox values ()
  • Added Russian translation (STR #4577)
  • Added German translation (STR #4635)

New in Common UNIX Printing System 2.0.2 (Feb 10, 2015)

  • Security: cupsRasterReadPixels buffer overflow with invalid page header and compressed raster data (STR #4551)
  • Command-line programs were not localized on Mac OS X ()
  • The scheduler incorrectly cleared the MakeModel string in the printers.conf file after a restart ()
  • CUPS did not compile with older versions of GNU TLS (STR #4527)
  • CUPS did not compile without Avahi or mDNSResponder (STR #4523)
  • ippLength() did not return the correct length for IPP_TAG_CONST string values.
  • The scheduler incorrectly aborted jobs after a job was restarted ()
  • The cups-files.conf file contained the old ServerCertificate/Key directives instead of ServerKeychain.
  • Fixed builds when no SSL/TLS library is available, or when explicitly disabled (STR #4531)
  • Fixed an OpenBSD charset transcoding issue.
  • Fixed USB printing on OpenBSD (STR #4525)
  • The --without-xinetd configure option did not work (STR #4542)
  • Backends needing to load OS X kernel extensions did not work ()
  • Mapping of PPD keywords to IPP keywords did not work if the PPD keyword was already an IPP keyword ()
  • cupsGetPPD* sent bad requests (STR #4567)
  • ippserver used the wrong temporary directory on Windows (STR #4547)
  • ippserver did not handle Bonjour registrations properly (STR #4548)
  • The scheduler could crash during shutdown if Avahi was shutdown first (STR #4550)
  • Added a USB quirk rule for Intermec printers (STR #4553)
  • The scheduler did not always log which configuration file had the error (STR #4559)
  • The ippfind and ipptool programs now correctly match hostnames with trailing dots (STR #4563)
  • The ipptool timeout option did not work (STR #4515)
  • Fixed several issues with client.conf, CUPS_SERVER, and the "-h" option of most commands (STR #4528)
  • Another change for OpenBSD (STR #4526)
  • Added Japanese localization (STR #4524)
  • Documentation changes (STR #4569)

New in Common UNIX Printing System 2.0.1 (Nov 15, 2014)

  • Security: SSLv3 is now disabled by default to protect against the POODLE attack (STR #4476)
  • Printer sharing did not work when systemd was being used (STR #4497)
  • cupsGetPPD* would return a symlink to the PPD in /etc/cups/ppd even if it was not readable by the user (STR #4500)
  • The web interface now protects against frame "click-jacking" attacks (STR #4492)
  • Fixed a crash in ippAttributeString ()
  • Fixed a crash in the scheduler on Linux/*BSD if colord was not running (STR #4496)
  • Fixed a random crash in the scheduler when not using systemd (STR #4484)
  • Added systemd support for cups-lpd (STR #4493)
  • The scheduler did not honor the FatalErrors directive for misconfigured Group and SystemGroup values (STR #4495)
  • The network backends no longer report waste-receptacle conditions when using SNMP (STR #4499)
  • The IPP backend did not work with some configurations of Windows (STR #4503)
  • RPMs did not build (STR #4490)
  • Added a USB quirk rule for the Brother HL-1250 (STR #4519)
  • Fixed compiles on unsupported platforms (STR #4510)
  • "cancel -a" did not cancel all jobs on all destinations (STR #4513)
  • The web interface did not work on OpenBSD (STR #4496)

New in Common UNIX Printing System 2.0.0 (Oct 2, 2014)

  • The scheduler did not preserve listener sockets from launchd or systemd after a restart ()
  • Added some USB quirk rules for the libusb-based USB backend (STR #4482)
  • Spanish localization update (STR #4487)
  • Updated documentation for 2.0.0 release.

New in Common UNIX Printing System 2.0 Beta 1 (Jul 31, 2014)

  • The CUPS library now provides a complete set of APIs for implementing HTTP and IPP services, and the scheduler uses those APIs to provide a modest code size reduction and corresponding improvement in performance. The scheduler is now also launched on demand on Linux, so for most users cupsd will only be running if something is being printed.
  • SSL/TLS support has been largely re-written to support certificate validation and policy enforcement, and on the server side we can now use different certificates depending on the hostname used. OpenSSL support has been dropped for a number of technical and security reasons.
  • IPP Everywhere support has been expanded to support long-edge feed printers and automatic retries using PWG Raster as needed. Finally, the ipptool utility has been updated with features needed to support IPP Everywhere printer self-certification.

New in Common UNIX Printing System 1.7.5 (Jul 31, 2014)

  • Added a "--list-filters" option to the cupsfilter command (STR #4325)
  • Added systemd support (STR #3917)
  • Added support for re-sending a job as a raster file if a higher-level format such as PDF fails ()
  • Added support for regular expression matching in the MIME type rules ()
  • Added support for TLS certificate validation and policy enforcement (STR #1616)
  • Added support for simultaneous XML and test output from ipptool.
  • Added support for PAUSE directive in ipptool test files.
  • Added support for auto-typing of TIFF files by ipptool (STR #4418)
  • The scheduler now returns completed jobs in the correct newest-to-oldest order (STR #4396)
  • The configure script now supports target-specific tools for pkg-config and others (STR #4423)
  • The ipptool program now supports EXPECT statements for collection member attributes ()
  • The ipptool program now supports collection attributes with multiple values ()
  • The sample drivers now include all of the installed localizations by default ()
  • Adopted Linux man page conventions and updated all man pages (STR #4372, STR #4329)
  • The scheduler now supports the "first-index" operation attribute for the Get-Jobs operation (STR #2913)
  • Changed the default AccessLogLevel and PageLogFormat to disable the access_log and page_log files by default ()
  • cupsRasterInterpretPPD now supports the Orientation header in order to support long-edge feed raster printers ()
  • The scheduler now allows run-as-root backends to have group read and execute permissions (STR #2935)
  • The ippFindAttribute and ippFindNextAttribute functions now support hierarchical searches (STR #4395)
  • Dropped OpenSSL support in favor of GNU TLS.
  • Dropped "dark wake" support on OS X, which was preventing portables from going to sleep when there was a stuck job. We now use a variation of the CUPS 1.4 sleep support to do a cleaner sleep ()
  • Dropped support for AIX, HP-UX, and OSF/1 (aka Digital UNIX)
  • Dropped lppasswd and support for Digest authentication in in the scheduler (STR #4321)
  • The cupsGetClasses, cupsGetPrinters, and cupsTempFile functions are no longer supported.
  • The scheduler now caches more job history data and limits the number of completed jobs returned by Get-Jobs as needed in order to prevent a denial-of-service on busy servers (STR #2913)
  • The filter/backend sandbox on OS X now defaults to a more strict whitelist ()
  • Increased the default idle exit timeout to 60 seconds on OS X ()
  • Printer classes were not accessible on OS X ()
  • The scheduler now uses to close the default printer definition in printers.conf (STR #4153)
  • Canceling all jobs in the web interface now just cancels the jobs (STR #1914)

New in Common UNIX Printing System 1.7.4 (Jul 15, 2014)

  • Security: The web interface incorrectly served symlinked files and files that were not world-readable, potentially leading to a disclosure of information (STR #4450)
  • The CUPS headers incorrectly needed libdispatch for blocks support (STR #4397)
  • CUPS did not compile when Avahi or mDNSResponder was not present (STR #4402, STR #4424)
  • The "snmp" option did not work with the network backends (STR #4422)
  • The User directive in client.conf did not override the USER environment variable (STR #4426)
  • The web interface now properly shows a "Go" button for all text-based browsers (STR #4425)
  • The MaxJobTime directive now properly supports time values (STR #4434)
  • The RPM spec file did not work due to the new Brazilian Portuguese localization (STR #4436)
  • Fixed an "IPP read error" issue (STR #4440)
  • Fixed the --disable-libusb configure option (STR #4439)
  • Fixed the debug output from the DNS-SD backend when using Avahi (STR #4444)
  • Fixed a bug in the CUPS_SC_GET_DEVICE_ID handling by the network backends (STR #4447)
  • Added USB quirk rule for Lexmark E230 (STR #4448)
  • The LPD backend did not work with some versions of glibc (STR #4452)

New in Common UNIX Printing System 1.7.3 (May 28, 2014)

  • Added Brazilian Portuguese translation (STR #4409)
  • Fixed mapping of OutputBin values such as "Tray1" ()
  • Several ippGet* functions incorrectly returned -1 instead of 0 on error.
  • The cupsGetResponse function did not work properly with CUPS_HTTP_DEFAULT ()
  • The IPP backend did not abort a job when the printer did not validate the supplied options ()
  • Fixed an authentication race condition in cupsSendRequest (STR #4403)
  • The scheduler did not add the "job-hold-until-specified" reason when holding a job using the lp command (STR #4405)
  • The CUPS headers incorrectly needed libdispatch for blocks support (STR #4397)
  • The configure script incorrectly added libgcrypt as a GNU TLS dependency (STR #4399)
  • CUPS did not compile when Avahi or mDNSResponder was not present (STR #4402)
  • cupsGetDestMediaCount did not work for CUPS_MEDIA_FLAGS DEFAULT (STR #4414)
  • Auto-typing of PWG Raster files did not work (STR #4417)
  • IPP queues using hardcoded credentials would ask for credentials (STR #4371)
  • Dates in non-UTF-8 locales did not display correctly (STR #4388)
  • The RPM spec file now looks for libusb-devel 1.0 or later.
  • Fixed the "create-printer-subscription.test" file for IPPTOOL (STR #4420)

New in Common UNIX Printing System 1.7.2 (Apr 11, 2014)

  • Security: The scheduler now blocks URLs containing embedded HTML (STR #4356)
  • Documentation fixes (STR #3259, STR #4346, STR #4355)
  • Fixed the Japanese localization (STR #4385)
  • Added a German localization (STR #4363)
  • The cupsfilter command incorrectly read the cupsd.conf file; it now reads the cups-files.conf file instead.
  • Fixed OS X builds with Xcode 5.x ()
  • Fixed SSL support on Windows (STR #4358)
  • Fixed documentation and naming of Create-Job/Printer-Subscriptions operations (STR #4389)
  • Phone numbers in fax jobs were not properly filtered for IPP FaxOut ()
  • Fixed a memory leak in the label printer driver (STR #4393)
  • Updated Linux "relro" support (STR #4349)
  • cupsEnumDests did not set the "is_default" field (STR #4332)
  • cupsDoIORequest could miss the server status, causing failed lpadmin and other administrative commands (STR #4386)
  • cupsEnumDests didn't always call the callback function (STR #4380)
  • "lp -i job-id -H hold" did not work (STR #4401)
  • CUPS didn't compile on older platforms (STR #4338)
  • Several libcups files did not have the Apple license exception notice (STR #4361)
  • Fixed a D-BUS threading issue that caused the scheduler to crash (STR #4347)
  • The scheduler now automatically reconnects to Avahi as needed (STR #4370, STR #4373)
  • The scheduler did not handle GET requests for the log files properly (STR #3265)
  • The dnssd backend did not always report all discovered printers using Avahi (STR #4365)
  • The Zebra printer driver did not properly handle negative "label top" values (STR #4354)
  • The scheduler did not always update the MakeModel value in printers.conf after updating the driver (STR #4264)
  • The LPD mini daemon did not support print jobs larger than 2GB (STR #4351)
  • Fixed a bug in the status reading code when sending a compressed data stream to an IPP printer/server ()
  • The IPP backend might not include all job attributes in Validate-Job operations ()
  • Fixed some clang-reported issues ()

New in Common UNIX Printing System 1.7.1 (Jan 9, 2014)

  • Security: the lppasswd program incorrectly used settings from ~/.cups/client.conf (STR #4319)
  • Auto debug logging was broken in 1.7.0 ()
  • Some gzip'd PPD files could not be used ()
  • Cleaned up some job logging in the scheduler ()
  • ATTR messages could cause string pool memory corruption in the scheduler ()
  • The RPM spec file did not list the build requirements; this was on purpose, but now we are listing the Red Hat package names (, STR #4322)
  • Printing to a raw queue could result in corrupt output due to opportunistic compression ()
  • The GNU TLS support code triggered many compiler warnings due to the use of old GNU TLS compatibility type names ()
  • The "make check" test suite did not work on Linux without the cups-filters package installed ()
  • Japanese PPDs using with the Shift-JIS encoding did not work ()
  • "tel:" URIs incorrectly had slashes ()
  • The libusb-based USB backend incorrectly used write timeouts ()
  • Shared printers could become inaccessible after a few days on OS X ()
  • The IPP backend did not wait for a busy printer to become available before attempting to print ()
  • CUPS did not support "auto-monochrome" or "process-monochrome" for the "print-color-mode" option ()
  • Using "@IF(name)" in an Allow or Deny rule did not work (STR #4328)
  • lpq and lpstat did not list jobs in the correct order when priorities were specified (STR #4326)
  • The D-BUS notifier did not remove its lockfile (STR #4314)
  • CUPS incorrectly used the USER environment variable when the name did not match the user ID (STR #4327)

New in Common UNIX Printing System 1.7.0 (Oct 25, 2013)

  • Updated Japanese localization.
  • The lpadmin command did not send the PPD name from the "-m" option ()
  • Network backends now use the prtMarkerSuppliesClass property to determine the direction of supply level values ()
  • The scheduler did not remove backup PPD files when a printer was deleted ()
  • The scheduler incorrectly responded to HEAD requests when the web interface was disabled ()
  • The scheduler did not respond using the hostname specified by the client ()
  • Fax queues did not work when shared via Bonjour ()
  • Error messages from the scheduler were not localized using the language specified in the client's IPP request ()
  • Added an Italian localization ()
  • Fixed a couple memory leaks in ippfind that were reported by Clang.
  • Fixed a compile issue on 64-bit Linux with Clang - need to use the -pie option instead of -Wl,-pie now ()
  • The ippfind utility reported the wrong port numbers when compiled against Avahi ()
  • httpGetFd, httpGetFile, httpPutFd, and httpPutFile did not automatically reconnect if the server closed the connecion after the previous response.
  • Fixed a compile error in libcups ()
  • The scheduler incorrectly did not pass a FINAL_CONTENT_TYPE environment variable to the filters or backend ()
  • The cups-exec helper program could fail randomly on OS X due to sandbox violations when closing excess file descriptors ()
  • The scheduler incorrectly did not use the kqueue interface on OS X.

New in Common UNIX Printing System 1.7 RC1 (Jul 12, 2013)

  • This first release candidate for CUPS 1.7.0 includes the fixes from CUPS 1.6.3, adds a new ippfind utility, fixes some issues in the ipptool utility, and fixes some general printing bugs.

New in Common UNIX Printing System 1.7 Beta 1 (Apr 19, 2013)

  • The configure script now supports a --with-rundir option to change the transient run-time state directory from the default to other locations like /run/cups (STR #4306)
  • The scheduler now supports PPD lookups for classes (STR #4296)
  • The cupsfilter program did not set the FINAL_CONTENT_TYPE environment variable for filters.
  • Added a new "-x" option to the cancel command (STR #4103)
  • Made the PWG media handling APIs public (STR #4267)
  • Implemented ready media support for the cupsGetDestMediaXxx APIs (STR #4289)
  • Added new cupsFindDestDefault, cupsFindDestReady, and cupsFindDestSupported APIs (STR #4289)
  • Added new cupsGetDestMediaByIndex, cupsGetDestMediaCount, and cupsGetDestMediaDefault APIs (STR #4289)
  • Added new ippGet/SetOctetString APIs for getting and setting an octetString value (STR #4289)
  • Added new ippCreateRequestedArray API for generating a array of attributes from the requested-attributes attribute.
  • The ipptool utility now supports compression, conditional tests based on the presence of files, and new DEFINE predicates for STATUS.
  • Added new IPP APIs for checking values (STR #4167)
  • Added new IPP APis for adding and setting formatted strings.
  • Added new HTTP APIs to support basic server functionality via libcups.
  • The dnssd backend now generates a 1284 device ID as needed (STR #3702)
  • CUPS now supports compressing and decompressing streamed data (STR #4168)
  • CUPS now supports higher-level PIN printing, external accounting systems, and "print here" printing environments (STR #4169)
  • IRIX is no longer a supported operating system (STR #4092)
  • The PPD compiler now supports JCL options properly (STR #4115)
  • The web interface now checks whether the web browser has cookies enabled and displays a suitable error message (STR #4141)

New in Common UNIX Printing System 1.6.2 (Mar 20, 2013)

  • Documentation fixes (STR #4229, STR #4239, STR #4234, STR #4248, STR #4259)
  • Security: All file, directory, user, and group settings are now stored in a separate cups-files.conf configuration file that cannot be set through the CUPS web interface or APIs (STR #4223)
  • Added a Czech localization (STR #4201)
  • Added a French localization (STR #4247)
  • Added a Russian localization (STR #4228, STR #4285)
  • Updated the Catalan localization (STR #4202)
  • Local certificate authentication did not guard against an empty certification file (STR #4293)
  • The scheduler did not reject device URIs with spaces.
  • Added USB quirk rule for Epson Stylus Photo 750 (STR #4286)
  • The IPP backend could crash if the printer disconnects early (STR #4284)
  • cupsGetPPD did not work with statically-configured CUPS shared queues (STR #4178)
  • The scheduler did not support long MIME media types (STR #4270)
  • The cupsfilter command did not set the CHARSET environment variable for the text filters (STR #4273)
  • The lp command did not show errors for unknown "--foo" (STR #4261)
  • Bad IPP responses could crash ipptool (STR #4262)
  • Updated USB quirk rules for Canon and Xerox printers (STR #4217, STR #4263)
  • Added USB blacklisting for printers that require a custom backend (STR #4218)
  • The PPD compiler did not correctly JCL options (STR #4115, STR #4203)
  • The ipptool program now supports DEFINE-MATCH and DEFINE-NO-MATCH predicates for STATUS directives.
  • Fixed a problem with local Kerberos authentication (STR #4140)
  • Coverity scan: fixed some minor issues (STR #4242)
  • The scheduler did not remove color profiles after deleting a printer (STR #4232, STR #4276)
  • The CUPS library did not always detect a timed out connection to the server which could cause temporary loss of printing from applications (STR #4187)
  • The ipptool program now supports variable substitution in OPERATION and DELAY directives (STR #4175)
  • The IPP backend now stops queues when the server configuration prevents successful job submission (STR #4125)
  • The XML output of ipptool contained empty dictionaries (STR #4136)
  • The scheduler did not delete job control backup files (STR #4244)
  • cupsGetPPD3 could return a local PPD instead of the correct remote PPD.
  • The scheduler incorrectly advertised auth-info-required for local queues needing local authentication (STR #4205)
  • CUPS 1.6 clients using the ServerName directive in client.conf did not work with CUPS 1.3.x or older servers (STR #4231, STR #4291)
  • The SNMP backend now tries to work around broken printers that use a newline to separate key/value pairs.
  • The IPP backend did not send a cancel request to printers when a job was canceled and the printer did not support Create-Job.
  • Fixed EPM packaging files (STR #4199)
  • OpenBSD build fix (STR #4195, STR #4196, STR #4197)
  • The scheduler could crash when using Avahi (STR #4183, STR #4192, STR #4200, STR #4213)
  • The IPP backend could get stuck in an endless loop on certain network errors (STR #4194)
  • 32-bit builds failed on Debian (STR #4133)
  • The scheduler no longer accepts or sends job description attributes.
  • The IPP backend now works around some conformance issues for broken printers (STR #4190)
  • cupsBackendReport() now filters out all control characters from the reported 1284 device IDs (STR #4124)
  • The scheduler no longer allows job-name values that are not valid network Unicode strings (STR #4072)
  • The web interface did not preserve the order of classes, jobs, or printers (STR #4170)
  • The network backends now support disabling of SNMP supply level queries via the "snmp" URI option (STR #4106)
  • The IPP backend did not specify the compression used (STR #4181)
  • ipptool did not support octetString values.
  • The scheduler did not recognize dnssd: or ipps: URIs as Bonjour shared queues (STR #4158)
  • Applications could not get the PPD file for statically-configured Bonjour-shared print queues (STR #4159)
  • The cupsd.conf file included obsolete browsing directives (STR #4157)
  • Fixed a USB backend compatibility issue on systems using libusb (STR #4155, STR #4191)
  • Some Bonjour features were not available on systems with Avahi (STR #4156)
  • CUPS now includes the port number in the Host: header for HTTP requests.
  • Fixed REPEAT-MATCH for STATUS and EXPECT - was incorrectly erroring out.

New in Common UNIX Printing System 1.6.0 (Jul 26, 2012)

  • Document changes (STR #4131)
  • Added new Catalan (STR #4107) and Spanish (STR #4137) localizations.

New in Common UNIX Printing System 1.5.2 (Feb 11, 2012)

  • The new release fixes the tarballs released as CUPS 1.5.1, which through an error in the distribution script and a lack of secondary checks was tagged from trunk (CUPS 1.6.x) instead of the CUPS 1.5.x branch. The script has been updated with additional checks to prevent this from happening again, and the 1.5.2 release has been tagged from the correct branch.

New in Common UNIX Printing System 1.5 Beta 2 (May 27, 2011)

  • This version fixes a compilation problem on Linux, some localization issues, and some minor bugs.

New in Common UNIX Printing System 1.4.6 (Jan 7, 2011)

  • Fixed a "make check" issue on Solaris (STR #3729)
  • Regression: The pstops filter did not support landscape printing of PostScript files (STR #3722)
  • The scheduler killed retried (fax) jobs after restarting them (STR #3697)
  • The cupsAdminSetServerSettings() function disabled sharing when debug logging was enabled (STR #3712)

New in Common UNIX Printing System 1.4.4 (Jun 18, 2010)

  • CUPS 1.4.4 fixes several security, scheduler, printing, and conformance issues.

New in Common UNIX Printing System 1.4.0 (Aug 29, 2009)

  • Localization updates (STR #3223, STR #3246, STR #3248, STR #3250)
  • Documentation updates (STR #3225, STR #3230, STR #3242, STR #3260)
  • The --with-pdftops configure option did not accept a full path to the filter (STR #3278)
  • The banner filter did not position the back side image correctly (STR #3277)
  • The dnssd backend could crash (STR #3272)
  • The 1284 device ID sometimes contained trailing garbage (STR #3266)
  • The USB backend returned different URIs for some printers than in CUPS 1.3 (STR #3259)
  • The scheduler did not do local job-hold-until processing for remote queues (STR #3258)
  • The scheduler did not try all possible SSL certificates on Mac OS X.
  • The scheduler did not always remove a file descriptor when using the kqueue interface (STR #3256)
  • The scheduler did not protect against bad job control files in all cases (STR #3253)
  • The scheduler did not encode "+" in model names (STR #3254)
  • The web interface didn't show the default options (STR #3244)
  • The IPP and LPD backends needed print data before they would do an SNMP query.
  • Fixed a GNU TLS compatibility issue (STR #3231)
  • Fixed a HTML error in the add and modify printer web interface templates (STR #3229)
  • The scheduler did not minimize the number of printer state events that were generated by filter STATE: messages, which could lead to poor performance.
  • The USB backend on Mac OS X did not cleanly cancel a job.
  • The network backends now set the connecting-to-device printer-state- reasons value when looking up the address and copying the print data for consistency.
  • The scheduler now supports the com.apple.print.recoverable-warning reason on all platforms.

New in Common UNIX Printing System 1.4 RC1 (Jun 9, 2009)

  • The PPD compiler documentation was missing information on localization (STR #3212)
  • The IPP backend now reconnects after every request when talking to printers that claim IPP support but only use HTTP/1.0.
  • The PPD compiler crashed when both "Resolution" and "Group foo Option Resolution" were specified in the .drv file.
  • The PPD compiler's #if/#elif/#else/#endif did not work for undefined variables (STR #3210)
  • Static libraries could not be installed by a non-root user on systems needing a ranlib program (STR #3209)
  • The scheduler incorrectly always tried to copy Kerberos credentials for print jobs.
  • Updated the Spanish localization (STR #3204)
  • The scheduler crashed when getting the default paper size from libpaper (STR #3205, STR #3206)
  • The PPD compiler now defines six variables: CUPS_VERSION, CUPS_VERSION_MAJOR, CUPS_VERSION_MINOR, CUPS_VERSION_PATCH, PLATFORM_NAME, and PLATFORM_ARCH (STR #3203)
  • Fixed a whitespace skipping bug in cupsRasterInterpretPPD.
  • The scheduler did not return HTTP 403 (Forbidden) for authenticated users that were not authorized to do IPP operations (STR #3193)
  • The scheduler did not report more than 8 Product strings from a PPD file. Some PPD files have as many as 24.
  • ppdOpen*() could crash if a keyword had no value string (something that cupstestppd looks for...)
  • cupsLangDefault() did not return the correct language on Mac OS X.
  • The Mac OS X USB backend did not handle aborted or stalled pipe conditions properly, which prevented drivers from ejecting partial pages when a job was canceled or held.

New in Common UNIX Printing System 1.4 Beta 2 (Dec 16, 2008)

  • This release fixes several localization, scheduler, and utility issues, improves the performance of several key CUPS APIs, and adds a Spanish localization.

New in Common UNIX Printing System 1.4 Beta 1 (Oct 28, 2008)

  • This release has over 65 changes and new features compared to CUPS 1.3.x.