-CHANGES.txt - 2007-08-08
+CHANGES.txt - 2008-09-27
------------------------
+CHANGES IN CUPS V1.4b1
-CHANGES IN CUPS V1.3.0
+ - Documentation updates (STR #2567)
+ - The scheduler now sets the PRINTER_INFO and PRINTER_LOCATION
+ environment variables from the corresponding IPP attributes.
+ - The ippRead*() and ippWrite*() functions no longer use a
+ stack-based buffer (STR #2388)
+ - The CUPS-Add-Modify-Printer operation now allows you to set
+ the printer-state-reasons attribute.
+ - The "set printer options" page now supports auto-configuration
+ of printer options (STR #1440)
+ - The web interface now provides an advanced server settings
+ form.
+ - The web interface's "modify printer" pages now make it
+ easier to change just one setting (STR #1919)
+ - The scheduler now supports a plist PrintcapFormat.
+ - The scheduler now supports multiple addresses in Allow and
+ Deny lines, just like Apache (STR #2947)
+ - Added CUPS_JOBTYPE environment variable for job filters so
+ they know whether they are printing a banner or document
+ file (STR #2799)
+ - Added support for printer filtering by the cupsfilter
+ command (STR #2562)
+ - Added a SSLOptions directive to allow Windows clients to
+ talk to CUPS in FIPS mode (STR #2827)
+ - Renamed the accept and reject commands to cupsaccept and
+ cupsreject; the old names are still available (STR #2936)
+ - The locale/translate utility needed an update to work with
+ Google (STR #2882)
+ - The lpstat command now supports a -H option to display the
+ default server (STR #2833)
+ - The scheduler now supports a FatalErrors directive to control
+ which errors should cause the scheduler to exit (STR #2536)
+ - The scheduler now uses the php-cgi program if it is available
+ (STR #2923)
+ - The scheduler now supports a DefaultPaperSize directive
+ (STR #2848)
+ - The scheduler now passes the job-originating-host-name
+ value to filters in the options argument (STR #2558)
+ - CUPS now supports job tickets in PDF files (STR #2903)
+ - Added a DBUS notifier (STR #2529)
+ - The LPD mini-daemon now passes the document name when queuing
+ print jobs (STR #2482)
+ - The IPP backend did not relay com.apple.print.recoverable-message
+ values.
+ - The scheduler now supports a job-media-progress attribute to
+ track the progress of individual pages.
+ - The sample HP driver now supports A5 (STR #2798)
+ - The CUPS web interface menu item now uses the xdg-open
+ command, when available (STR #2724)
+ - The cups-lpd program now supports the -h option (STR #2794)
+ - The scheduler now sets the PAM_TTY parameter and the
+ PAM_ESTABLISH_CRED credential flag (STR #2745)
+ - The scheduler now logs unsuccessful requests to the error_log
+ file as errors (STR #2616)
+ - Added support for a "retry-current-job" error policy that
+ retries the current job immediately when the backend encounters
+ an error (STR #2555)
+ - The scheduler now returns a "forbidden" error when a user
+ correctly authenticates but does not have permission to
+ continue further (STR #2101)
+ - The scheduler now loads both the server and CA certificates
+ (if present) from the ServerCertificate file (STR #2146)
+ - New RSS subscriptions now create their feed files immediately
+ (STR #2853)
+ - Added support for a device-location attribute which provides
+ the physical location of a printer device.
+ - Added a cupsBackendReport() API which handles quoting of the
+ device data by a backend.
+ - Added support for custom options in the web interface
+ (STR #1729)
+ - Added support for Mozilla LDAP, reconnection to LDAP servers,
+ and improved LDAP performance (STR #1962)
+ - Added Solaris SMF support (STR #1477)
+ - Added optional support for using TCP wrappers to limit access
+ to CUPS (STR #263)
+ - Added ppdPageSizeLimits API.
+ - Added support for new cupsMediaQualifier2, cupsMediaQualifier3,
+ cupsMinSize, and cupsMaxSize attributes.
+ - Added cupsResolveConflicts and ppdInstallableConflict APIs.
+ - Added support for new cupsUIConstraints and cupsUIResolver
+ attributes for better option conflict detection and
+ resolution.
+ - Increased the maximum size of 1284 device ID strings to
+ 256 bytes (STR #2877)
+ - Added an AccessLogLevel directive to cupsd.conf to control
+ what is logged to the access_log file.
+ - The default LogLevel is now "warn" instead of "info" to reduce
+ the amount of logging that is done to disk by default.
+ - The PPD compiler did not include OID query keywords in PPD
+ files (STR #2871)
+ - The cups-driverd helper program now directly supports driver
+ information files.
+ - The USB backend now uses libusb when available (STR #1575)
+ - Added ppdLocalizeAttr function to get the localized version
+ of an attribute.
+ - MIME types now support a priority() attribute (STR #2719)
+ - The standard MIME types are now installed in
+ DataDir/mime (STR #2719)
+ - The lpoptions command now describes custom options and
+ the necessary parameters (STR #2660)
+ - The ppdmerge program did not support Simplified Chinese
+ or Traditional Chinese language version strings (STR #2851)
+ - The PPD compiler now supports localizable attributes
+ (STR #2738)
+ - The ppdpo utility now includes cupsIPPReasons values in
+ the message catalogs it generates (STR #2754)
+ - The PPD compiler now supports conditional directives
+ (STR #2636)
+ - The ppdc utility now supports a "-t" option to test PPD
+ files (STR #2739)
+ - The ppdc utility now supports a "-m" option to use the
+ ModelName value as the output filename.
+ - The ppdc utility now supports a FileName directive to
+ set an alternate output filename (STR #2740)
+ - The side-channel API now supports SNMP queries for the
+ standard network backends.
+ - Added a PageLogFormat directive to the cupsd.conf file to
+ control the format of lines in the page_log file.
+ - Filters can now send PPD: messages to stderr to set PPD
+ keywords like DefaultPageSize while a job is printing.
+ - Added a mdns backend for discovery and printing to printers
+ that advertise themselves via DNS-SD (Bonjour)
+ - The ipp, lpd, and socket backends now support DNS-SD service
+ name resolution.
+ - The scheduler now uses a single shared file descriptor for
+ all DNS-SD registrations (STR #2674)
+ - The ipp, lpd, and socket backends now support SNMP-based
+ page accounting and supply level monitoring (STR #1655)
+ - Added support for cupsPJLDisplay attribute to control what
+ PJL commands are used to display the job information.
+ - Driver information files can now be installed in
+ /Library/Printers/PPDs.drv on Mac OS X.
+ - The CUPS image library now supports reading images larger
+ than 2GB.
+ - The scheduler now delays writing config and state files to
+ reduce disk activity (STR #2684)
+ - The CUPS-Get-Devices operation now supports the
+ exclude-schemes and timeout attributes to control which
+ backends are polled and for how long.
+ - The cups-deviced helper application now runs backends in
+ parallel to get the list of devices faster.
+ - Added --enable-pap configure option.
+ - The default cupsd.conf file now includes an "authenticated"
+ policy which requires authentication for remote print jobs.
+ - Added support for Czech and Hungarian in PPD files
+ (STR #2735, STR #2736)
+ - The PPD compiler tools now support Mac OS X .strings files
+ for localization (STR #2737)
+ - ppdOpen*() now default the colorspace member to PPD_CS_N
+ when no DefaultColorSpace attribute is present in the PPD
+ file.
+ - The build system has been updated to support separate
+ installation of data, program, header, and library files.
+ - All support libraries are now built as shared libraries
+ by default.
+ - The scheduler now manages ICC color profiles on Mac OS X.
+ - The network backends (ipp, lpd, socket) now support
+ SNMP-based supply and page count monitoring (STR #1655)
+ - The lppasswd program is no longer installed setuid to
+ root to make the default installation more secure.
+ - Added a new ppdLocalizeMarkerName() function to get
+ the localized version of a marker-names value.
+ - The scheduler now provides the printer-dns-sd-name
+ attribute for printers shared via DNS-SD/Bonjour.
+ - The pdftops filter now executes the Xpdf or poppler
+ pdftops utility to convert PDF files (STR #1471)
+ - Bonjour printer registrations now advertise as local or
+ global based on the current access policies for the
+ printer.
+ - cupsGetDests*() and cupsSetDests*() now track the last
+ used printer preference on Mac OS X.
+ - Added a new streaming request API (STR #2261)
+ - Added a new cupsGetNamedDest() function to the CUPS
+ library for faster printing with lp and lpr (STR #2638)
+ - The scheduler now sets the PAM RHOST value on systems
+ that support it (STR #2637)
+ - The scheduler now sandboxes child processes when
+ possible.
+ - The Cancel-Job operation now supports a purge-job
+ attriibute to purge a specified job.
+ - ppdEmit* and ppdCollect* now use the NonUIOrderDependency
+ attributes for custom option selections.
+ - The web interface now enables/disables the printer
+ sharing (formerly publishing) controls based on the
+ server-is-sharing-printers state (STR #2233)
+ - The scheduler now tracks printer sharing via the
+ server-is-sharing-printers attribute, and manages LPD
+ and SMB sharing as well (STR #2233)
+ - The web interface now allows you to go back to the make/
+ manufacturer page if there is no matching printer driver
+ on the model page (STR #2436)
+ - The printer list now shows the default media, banner, and
+ duplex options as well as the color and duplex capabilities
+ of printers (STR #1175)
+ - The web interface look-n-feel has been updated (STR #2492)
+ - The scheduler now supports a CUPS-Get-Document operation
+ that returns the specified print job document (STR #118)
+ - The cupsfilter utility now supports a "-J jobid" option
+ to filter the document from the specified job.
+ - The scheduler (cupsd) now supports a new option (-t) to
+ do a syntax check of the cupsd.conf file (STR #2003)
+ - Added new cupsGetPPD3() API to allow applications to
+ cache PPDs safely (STR #1473)
+ - Added generic PostScript and PCL printer driver PPDs.
- - "AuthType Default" did not work as expected when the
- "DefaultAuthType foo" line appeared after it in the
- cupsd.conf file.
- - The on-line help did not describe many common printing
- options (STR #1846)
- - The IPP backend did not return the "auth required" status
- when printing to a Kerberos-protected queue.
- - The scheduler was not looking in the correct directories
- for LSB PPD files (STR #2464)
- - Changed references to ESP Ghostscript to GPL Ghostscript
- (STR #2463)
- - The PostScript filter did not cleanly terminate when
- the job was canceled or stopped.
- - Fixed generation of Kerberos credentials for remote
- printing. Note that this requires a recent version of
- MIT Kerberos with a working krb5_cc_new_unique()
- function or Heimdal Kerberos.
- - Added Portuguese and updated Italian message catalogs.
-
-
-CHANGES IN CUPS V1.3rc2
-
- - Added more range checking to the pdftops filter.
- - The scheduler would crash if a remote IPP queue was stopped
- (STR #2460)
- - The scheduler did not allow "DefaultAuthType None".
-
-
-CHANGES IN CUPS V1.3rc1
-
- - Updated the German localization (STR #2443)
- - cupsAdminGetServerSettings() did not handle </Foo> properly.
- - When lprm and cancel are run with no job ID, they now will
- cancel the first stopped job if no pending or processing
- jobs are left in the queue.
- - The scheduler now logs successful print jobs, filter
- failures, and the job file types at the default log
- level (STR #2458)
- - The scheduler now logs the usernames it is using for
- authorization at LogLevel debug instead of debug2 (STR #2448)
- - Added Intellitech Intellibar and Zebra CPCL PPDs to the list
- of installed PPDs.
- - Added 6" and 8" wide label sizes for the Zebra ZPL Label
- Printer driver (STR #2442)
- - The cupsaddsmb program and web interface now support
- exporting of 64-bit Windows drivers, when available
- (STR #2439)
- - Moving a job that was printing did not stop the job on the
- original printer (STR #2262)
- - The cups-lpd mini-daemon did not work on Mac OS X server.
- - Added httpGetAuthString() and httpSetAuthString() APIs to get
- and set the current (cached) authorization string to use for
- HTTP requests.
- - Updated the default cupsd.conf policy to list the
- "administrative" operations separately from the "printer
- control" operations so that it is easier to define a
- group of users that are "printer operators".
- - The web interface now pulls the default cupsd.conf file
- from cupsd.conf.default in the CUPS config directory.
- - Added a help file for using Kerberos with CUPS.
- - The scheduler now strips the "@KDC" portion of Kerberos
- usernames since those usernames typically do not appear in
- the group membership lists used by CUPS.
- - cupsMarkOptions() could (incorrectly) leave multiple option
- choices marked.
- - Backends could (incorrectly) run as root during discovery
- (STR #2454)
- - Avahi is now supported for DNS-SD (Bonjour) printer sharing
- (STR #2455)
- - The default cupsd.conf file had typos and old operation names
- (STR #2450)
- - The scheduler now erases authentication cache files using the
- 7-pass US DoD algorithm.
- - Delegated Kerberos credentials (proxy authentication) did not
- work.
- - The filter makefile did not optimize the libcupsimage.2.dylib
- with a sectorder file.
- - The IPP backend incorrectly wrote an empty printer message
- when processing the "none" state reason.
- - The USB backend could deadlock on Mac OS X while performing
- a side-channel command.
- - The scheduler did not prevent remote queues from being
- shared/published.
- - The scheduler did not remove the temporary request file on
- authentication errors.
- - ppdLocalizeIPPReason() did not handle "scheme:" schemes or
- "file" URLs.
- - ppdLocalizeIPPReason() was not exported on Mac OS X.
-
-
-CHANGES IN CUPS V1.3b1
-
- - Copyright updates - CUPS is now owned by Apple Inc.
- - Documentation updates (STR #1775, STR #2027, STR #2130,
- STR #2131, STR #2263, STR #2356, STR #2397)
- - Added new cupsfilter utility (STR #1734)
- - Added new job-printer-state-message and
- job-printer-state-reasons attributes to jobs (STR #2418)
- - Added LDAP+SSL support (STR #1967)
- - CUPS now supports authentication via peer credentials
- over domain sockets (STR #2242, STR #2277)
- - The CUPS sample driver PPDs are now generated by the PPD
- compiler and include all of the localized languages by
- default (STR #2164)
- - You can now specify "AuthType Default" in the cupsd.conf
- file to use the default authentication defined by the
- DefaultAuthType directive.
- - The SNMP backend no longer adds a default Address line
- when none is specified in the snmp.conf file; this allows
- the backend to be easily disabled as needed (STR #2434)
- - Added a new cupsctl command for doing basic changes to
- the cupsd.conf file (STR #1777)
- - Added a new ppdLocalizeIPPReason() function to get the
- localized text/URI for a given IPP reason keyword for a
- driver.
- - Removed the deskjet2.ppd driver, as it only worked with
- a very small subset of HP DeskJet printers and was
- confusing to users. The rastertohp driver still
- supports the deskjet2.ppd options for existing queues.
- - The scheduler did not add a trailing banner page if a
- client did not specify the last document in a job (STR
- #1711)
- - The scheduler did not report Bonjour shared printers as
- remote printers (STR #2384)
- - Added new -R and -W options to the cupstestppd program
- for greater control over the testing of PPDs.
- - Added a new cupsGetServerPPD() function for getting
- an available PPD from the server (STR #2334)
- - Added a new cupsDoIORequest() function for reading
- and writing files via IPP requests (STR #2334)
- - Added a new CUPS_GET_PPD operation for getting an
- available PPD file on the server (STR #2334)
- - CUPS_GET_PPDS now reports multiple ppd-product values
- based on the PPD ModelName and Product strings (STR
- #2334, STR #2383)
- - CUPS_GET_PPDS now reports the PSVersion attributes
- from a PPD file in the ppd-psversion attribute
- (STR #2334)
- - CUPS_GET_PPDS now reports the cupsModelNumber attribute
- from a PPD file in the ppd-model-number attribute (STR
- #2383)
- - CUPS_GET_PPDS now reports a driver type string in the
- ppd-type attribute based on the cupsFax and cupsFilter
- attributes in a PPD file (STR #2383)
- - Added a new printer attribute called "cups-version"
- which reports the version of CUPS that is running
- (STR #2240)
- - backendRunLoop() now aborts immediately on SIGTERM
- if no data has been written yet (STR #2103)
- - Due to poor IPP support from the vendors, the SNMP
- backend no longer tries IPP connections; instead,
- it now uses a lookup file with fallback to port 9100
- (socket://address) and 515 (lpd://address) printing
- (STR #2035, STR #2354)
- - The scheduler now recreates the CUPS log directory as
- needed (STR #2353)
- - cupsLangDefault() now maps new-style Apple locale names
- to the traditional ll_CC form (STR #2357)
- - Add new cupsArrayNew2() API to support hashed lookups
- of array elements (STR #2358)
- - ppdConflicts() optimizations (STR #2358)
- - The cupstestppd program now tests for existing filters,
- icons, profiles, and dialog extensions (STR #2326)
- - The web interface no longer lists new printers on the
- main administration page. Instead, a new "List Available
- Printers" button is provided that shows a separate page
- with the list of printers.
- - The web interface now supports setting the banner and
- policy options on raw printers and classes (STR #2238)
- - The socket backend now reads any pending back-channel
- data before shutting down the socket (STR #2325)
- - Added a new ErrorPolicy directive in the cupsd.conf
- file (STR #1871)
- - Printers that use JCL options are now exported to Samba
- correctly (STR #1985)
- - The IPP backend now relays printer-state-message values
- from the server to the client (STR #2109)
- - Added support for the PWG printer-alert and
- printer-alert-description attributes (STR #2088)
- - Added support for LPD "stream" mode (STR #2036)
- - The scheduler now reports the PostScript product string
- from PPD files in CUPS-Get-PPDs responses (STR #1900)
- - Raw printing with queues pointing to the file pseudo-
- device and multiple files and/or banners now works (STR
- #1933)
- - Added new public cupsAdminGetServerSettings() and
- cupsAdminSetServerSettings() APIs.
- - Added new "makebuttons" script in the "tools" directory
- for creating web interface buttons (STR #2231)
- - Added support for DNS-SD (aka "Bonjour") printer sharing
- (STR #1171)
- - Job operations (cancel, hold, release, etc.) from the
- web interface now return back to the original page (STR
- #2239)
- - The classes or printers list is now shown after a
- successful deletion from the web interface (STR #1999)
- - The default configuration now allows browse packets from
- any address (STR #2008)
- - The web interface now provides an "allow printing from the
- Internet" check box (STR #1897)
- - The notify-events-default and
- notify-lease-duration-default attributes can now be set
- (STR #1671)
- - Server-side default options are now sent to clients when
- the "printer-defaults" attribute group is requested (STR
- #1923)
- - Added support for Linux "relro" linker option (STR #1614)
- - CUPS now validates the number-up option value (STR #1329)
- - The on-line help now provides better search capabilities
- (STR #1701)
- - The web interface "Add This Printer" button now allows you
- to change the printer name, description, and location
- (STR #1646)
- - Added support for Mac OS X authorization services
- (STR #2206)
- - Added support for driver-specific pre-filters (STR #2108)
- - Added a new side-channel API for drivers and backends
- for basic device control and information queries (STR
- #1898)
- - The scheduler now uses poll(), epoll(), or /dev/kqueue
- instead of select() when possible (STR #1261)
- - Added new cupsArrayGetIndex() and cupsArrayGetInsert()
- functions to get the current index and insertion
- positions of an array.
- - Added a new --with-max-copies configure option (STR
- #2090)
- - Added new cupsRemoveDest() and cupsSetDefaultDest()
- functions.
- - Added support for cupsPJLCharset attribute in PPD files
- which specifies the character set that is used in PJL
- strings (STR #1969)
- - Moved the definition of the (private) _http_s structure
- to http-private.h; code that directly accesses the
- http_t members will no longer compile!
- - Added support for setting the document-format-default
- attribute on a per-printer basis.
- - Added support for IntelliBar label printers.