CHANGES.txt - 2007-07-16 ------------------------ CHANGES IN CUPS V1.3?? - 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.