# Scope

## Identification

This software version description document provides release information for the Common UNIX Printing System ("CUPS") Version 1.1.

## Document Overview

This software version description document is organized into the following sections:

- 1 - Scope
- 2 - References
- 3 - Additions
- 4 - Changes
- A - Glossary

# Additions

CUPS 1.1 includes many new features from the 1.0.x releases.

## Filters

### `imagetoraster`, `imagetops`

The image file filters have been upgraded to support conversion of Microsoft Bitmap ("BMP") and Alias PIX files.

### pdftops

A new pdftops filter has been developed that is based on the excellent Xpdf 0.90 software from Derek B. Noonburg. The new filter is faster, smaller, and considerably more reliable than the Ghostscript-based filter in CUPS 1.0.

### pstoraster

The `pstoraster` filter has been integrated with GNU GhostScript 5.50. The new RIP supports most Level 3 PostScript language features.

### rastertoepson

The new `rastertoepson` filter supports EPSON printers using the ESC/P or ESC/P2 command sets. PPDs are supplied for 9-pin, 24-pin, Stylus Color, and Stylus Photo printers.

## User-Defined Printers and Options

The new `lpoptions` command allows users to configure default document options and create additional "instances" of existing printers, each with unique options.

The `lp`, `lpr`, and `lpstat` commands have been upgraded to use this option and printer instance information automatically.

## Daemons

CUPS 1.1 includes two new daemons that provide enhanced network printing support.

### cups-lpd

The `cups-lpd` daemon provides support for clients using the Line Printer Daemon protocol.

### cups-polld

The `cups-polld` daemon provides remote polling services for the scheduler.

## Commands

CUPS 1.1 includes several new printing commands.

### lpoptions

The `lpoptions` command provides user-defined printers and options.

### lpmove

The `lpmove` command moves a print job to a new destination.

### lpinfo

The `lpinfo` command lists the available PPD files or devices.

## IPP Implementation

CUPS 1.1 adds support for the `set-job-attributes` extension operation as well as two new CUPS-specific extension operations to determine which devices and printer drivers are available on the system.

Further information on the CUPS implementation of IPP can be found in CUPS-IPP-1.1.

# Changes

CUPS 1.1 includes many changes from the 1.0.x releases.

## Directory Structure

The directory structure in CUPS 1.1 has been modified to conform to the Filesystem Hierarchy Standard, 2.0. The following table describes the new file locations.

Table 1: Directory structure changes from CUPS 1.0.x to 1.1.x.
Description | CUPS 1.0.x | CUPS 1.1.x
--- | --- | ---
Backends | /var/cups/backend | /usr/lib/cups/backend
CGI programs | /var/cups/cgi-bin | /usr/lib/cups/cgi-bin
Configuration files | /var/cups/conf | /etc/cups
Documentation | /usr/share/cups/doc | /usr/share/doc/cups
Filter programs | /var/cups/filter | /usr/lib/cups/filter
Interface scripts | /var/cups/interfaces | /etc/cups/interfaces
Locale data | /usr/lib/locale | /usr/share/locale
Log files | /var/cups/logs | /var/log/cups
PPD files | /var/cups/ppd | /etc/cups/ppd
Request files | /var/cups/requests | /var/spool/cups

## IPP Implementation

CUPS 1.1 is based on version 1.1 of the Internet Printing Protocol.

The new scheduler supports the `create-job` and `send-document` operations. In addition, the `job-sheets`, `job-sheets-default`, and `job-sheets-supported` attributes are now supported for banner pages.

The `CUPS-get-printers` and `CUPS-get-classes` operations have been upgraded to support limited filtering based upon the `printer-type`, `printer-location`, `printer-info`, and `printer-make-and-model` attributes.

The `CUPS-add-printer` operation now supports the `ppd-name` attribute to specify a locally-available PPD file rather than sending the PPD file from the client with the request.

Further information on the CUPS implementation of IPP can be found in CUPS-IPP-1.1.