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

Networking
  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
Browsing
  6. CUPS Browsing; The default configuration now shows shared printers from any address (not just `@LOCAL`)
  7. DNS-SD (Bonjour/Zeroconf) Support; CUPS now supports printer sharing via DNS service discovery
  8. LDAP w/SSL; CUPS now supports encrypted LDAP sessions
Web Interface
  9. Internet Printer Sharing; You can now share printers over the Internet via the basic server settings
  10. Improved On-Line Help; Searching the on-line help now shows results for all text, not just headings and links
  11. 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
  12. Printer Configuration; Raw printers and classes can now be configured using the Set Printer Options button
IPP Support
  13. 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
  14. 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
  15. Printer Defaults; The `document-forma-default`, `notify-events-default`, and `notify-lease-duration-default` attributes can be set for each printer and class
  16. PWG Printer Alert Support; CUPS now supports the `printer-alert` and `printer-alert-description` attributes
  17. Server-Side Options; Server-side default options can now be retrieved using the "printer-defaults" group keyword
Scheduler
  18. Client Support; The scheduler now uses `poll()`, `epoll()`, or /dev/kqueue on platforms that provide them to support large numbers of clients
  19. "Default" Authentication; You can now specify an `AuthType` of `Default` in locations and policies, which maps to the `DefaultAuthType` value
  20. Larger Numbers of Clients; The scheduler now uses poll(), epoll(), or /dev/kqueue instead of select() when possible
  21. New cupsctl Command; The new cupsctl command allows you to perform basic server configuration from the command-line
Printer Drivers
  22. cupstestppd Improvements; The test utility now provides more extensive tests and options
  23. Label Printer Driver; Added support for the Intellibar label printers
  24. Localized Printer Drivers; The CUPS sample drivers are now localized in several languages
  25. PJL Support; New `cupsPJLCharset` attribute controls character set for PJL strings
  26. Pre-Filter Support; Drivers can now register format-specific filters to pre-screen print jobs
  27. Side-Channel API; This new API provides out-of-band control of devices
CUPS API
  28. Administration API; New `cupsAdminGetServerSettings()` and `cupsAdminSetServerSettings()` functions
  29. Array API; New `cupsArrayGetIndex()`, `cupsArrayGetInsert()`, and `cupsArrayNew2()` functions
  30. Destination API; New `cupsRemoveDest()` and `cupsSetDefaultDest()` functions
  31. HTTP API; The `http_t` structure is now completely private
  32. PPD API; New `ppdLocalizeIPPReason()`function and greatly improved `ppdConflicts()` performance