CUPS Changelog

New in version 2.0.1

November 15th, 2014
  • The new release addresses the SSL 3.0 POODLE attack and fixes a number of bugs that have been reported since the 2.0.0 release.
  • CHANGES INCLUDE:
  • 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 version 2.0.0 (October 2nd, 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 version 2.0 RC 1 (September 8th, 2014)

  • Documentation updates (STR #4464)
  • The scheduler now monitors the AC power status on OS X, allowing for "sleep printing" when sharing printers ()
  • The scheduler incorrectly called launch_activate_socket multiple times on OS X ()
  • The ippserver test program now passes the IPP Everywhere self- certification tests (STR #4101)
  • Relaxed the new OS X filter sandbox slightly (STR #4471, )
  • Dropped the old Epson Stylus Color/Photo sample drivers since they don't work with any current printers and there are free alternatives that produce much better output ()
  • Log and configuration files that are not world-readable are again accessible via the web interface (STR #4461)
  • PPD files are now created using the permissions specified by the ConfigFilePerm directive.
  • Fixed RPM build issues (STR #4459)
  • Fixed the spinner image and restart page when reconfiguring the scheduler through the web interface (STR #4475)

New in version 2.0 Beta 1 (July 31st, 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 version 1.7.4 (July 15th, 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 version 1.7.3 (May 28th, 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 version 1.7.2 (April 11th, 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 version 1.7.1 (January 9th, 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 version 1.7 RC 1 (July 15th, 2013)

  • Printer xxx-default values were not reported by Get-Printer-Attributes or lpoptions ()
  • Fixed deprecation warnings for many functions on OS X so they are tied to the deployment version when building ()
  • Fixed a build issue on ARM-based Linux systems - unable to validate va_list arguments.
  • Added a new ippfind tool for finding IPP printers and other Bonjour services ()
  • Fixed some issues with conversion of PWG media size names to hundredths of millimeters ()
  • The IPP backend could crash on OS X when printing to a Kerberized printer ()
  • The ipptool program now automatically extends timeouts when the output buffer is filled ()
  • The ipptool program now supports the --help and --version options.
  • The ipptool program did not continue past include file errors by default ()
  • The ipptool program now supports FILE-ID and TEST-ID directives and includes their values in its XML output ()
  • The ipptool program now supports WITH-HOSTNAME, WITH-RESOURCE, and WITH-SCHEME expect predicates to compare the corresponding URI components ()