CUPS 1.3 adds over 30 changes and new features to CUPS 1.2.x. This page provides a high-level outline of these changes. If you have never used CUPS before, read the "Overview of CUPS" document instead.

Changes in CUPS 1.3

  1. Kerberos; CUPS now supports Kerberos authentication
  2. Mac OS X Authorization Services; CUPS now supports the Authorization Services framework, providing role-based access control in addition to the tradition UNIX model
  3. Peer Credentials; CUPS now supports authentication using peer credentials provided over UNiX domain sockets
  4. SNMP Support; SNMP lookups are no longer performed by default, and IPP is no longer used for discovered printers
  5. LPD Support; The LPD backend now supports a faster streaming mode that does not require a temporary file
  1. CUPS Browsing; The default configuration now shows shared printers from any address (not just @LOCAL)
  2. DNS-SD (Bonjour/Zeroconf) Support; CUPS now supports printer sharing via DNS service discovery
  3. LDAP w/SSL; CUPS now supports encrypted LDAP sessions
Web Interface
  1. Internet Printer Sharing; You can now share printers over the Internet via the basic server settings
  2. Improved On-Line Help; Searching the on-line help now shows results for all text, not just headings and links
  3. Printer Setup; The available printer list is now only show when requested and the Add This Printer button now allows you to change the default name, location, and description
  4. Printer Configuration; Raw printers and classes can now be configured using the Set Printer Options button
IPP Support
  1. Job Printer Attributes; CUPS now provides job-printer-state-message and job-printer-state-reasons attributes containing copies of the corresponding printer attributes to provide important history information with each job
  2. PPD Operations and Attributes; The new CUPS_GET_PPD operation allows you to retrieve PPD files from the scheduler; also, CUPS_GET_PPDS now reports more information and supports more value filters
  3. Printer Defaults; The document-forma-default, notify-events-default, and notify-lease-duration-default attributes can be set for each printer and class
  4. PWG Printer Alert Support; CUPS now supports the printer-alert and printer-alert-description attributes
  5. Server-Side Options; Server-side default options can now be retrieved using the "printer-defaults" group keyword
  1. Client Support; The scheduler now uses poll(), epoll(), or /dev/kqueue on platforms that provide them to support large numbers of clients
  2. "Default" Authentication; You can now specify an AuthType of Default in locations and policies, which maps to the DefaultAuthType value
  3. Larger Numbers of Clients; The scheduler now uses poll(), epoll(), or /dev/kqueue instead of select() when possible
  4. New cupsctl Command; The new cupsctl command allows you to perform basic server configuration from the command-line
Printer Drivers
  1. cupstestppd Improvements; The test utility now provides more extensive tests and options
  2. Label Printer Driver; Added support for the Intellibar label printers
  3. Localized Printer Drivers; The CUPS sample drivers are now localized in several languages
  4. PJL Support; New cupsPJLCharset attribute controls character set for PJL strings
  5. Pre-Filter Support; Drivers can now register format-specific filters to pre-screen print jobs
  6. Side-Channel API; This new API provides out-of-band control of devices
  1. Administration API; New cupsAdminGetServerSettings() and cupsAdminSetServerSettings() functions
  2. Array API; New cupsArrayGetIndex(), cupsArrayGetInsert(), and cupsArrayNew2() functions
  3. Destination API; New cupsRemoveDest() and cupsSetDefaultDest() functions
  4. HTTP API; The http_t structure is now completely private
  5. PPD API; New ppdLocalizeIPPReason()function and greatly improved ppdConflicts() performance