# What's New in CUPS 1.6

CUPS 1.6 provides many changes and new features to CUPS 1.5.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.

## General

1. Bonjour Support; Bonjour printer sharing and discovery is now also supported using Avahi.
2. Color Management; ICC profiles referenced by PPD files are now registered on systems with D-BUS and colord installed.
3. Default Username; CUPS now supports the `CUPS_USER` environment variable and `User` directive in the client.conf file to override the default username.
4. Open Printing Filters; The parallel and serial backends, php_cups scripting module, and bannertops, commandtoescpx, commandtopclx, imagetops, imagetoraster, pdftops, rastertoescpx, rastertopclx, and texttops filters are now provided as part of a separate cups-filters project hosted by the Linux Foundation.
5. Passwords; Passwords up to 127 characters are now supported.
6. Printer Options; The "brightness", "columns", "fitplot", "gamma", "hue", "natural-scaling", "penwidth", "position", "ppi", "saturation", and "scaling" options are not longer supported by CUPS directly, while the "page-bottom", "page-left", "page-right", "page-top", "prettyprint", and "wrap" options have been deprecated.

## Scheduler

7. Authentication; The scheduler now supports a `DefaultAuthType` value of `auto` which automatically chooses between Basic (username/password) and Negotiate (Kerberos) authentication.
8. IPP Conformance; The scheduler now correctly reports the "number-of-documents" attribute for jobs and fully conforms to the latest IPP/2.1 test suite.
9. Permissions; Filters and backends may no longer have group write permissions enabled.
10. PPD Files; PPD files can now be packaged and installed as compressed tar files to reduce the amount of disk space required. Dynamic PPD updates are now also consolidated so that a printer's PPD file is updated once at the end of a job.
11. Sharing Protocols; The scheduler no longer supports the CUPS, LDAP, or SLP protocols for printer sharing.
12. Time-Based Job Limits; New `MaxHoldTime` and `MaxJobTime` directives, combined with support for time values in the `PreserveJobFiles` and `PreserveJobHistory` directives, allow administrators to define time-based job limits and behaviors.

## CUPS API

13. Destination-Based Printing; Inspired by IPP Everywhere, new dynamic destination-based APIs allow applications to discover, query, and use both shared and network printers directly and display localized user interfaces with full conflict resolution without static configuration files. These APIs provide equivalent functionality offered by PPD-based printer drivers without the disadvantages of static configuration files.
14. IPP; IPP requests now default to protocol version 2.0, and the `ipp_t` and `ipp_value_t` structures are now private by default. New software should be developed using the corresponding accessor functions instead of directly accessing these structures.
15. PPD; The PPD functions are now officially deprecated in favor of the new destination-based printing APIs.
16. SNMP Support; The `cupsSideChannelSNMPGet` and `cupsSideChannelSNMPWalk` functions now support OIDs and values up to 64k in length.