Changes in CUPS v1.3b1:
- Copyright updates - CUPS is now owned by Apple Inc.
- Documentation updates (Issue #1775, Issue #2027, Issue #2130, Issue #2131, Issue #2263, Issue #2356, Issue #2397)
- Added new cupsfilter utility (Issue #1734)
- Added new job-printer-state-message and job-printer-state-reasons attributes to jobs (Issue #2418)
- Added LDAP+SSL support (Issue #1967)
- CUPS now supports authentication via peer credentials over domain sockets (Issue #2242, Issue #2277)
- The CUPS sample driver PPDs are now generated by the PPD compiler and include all of the localized languages by default (Issue #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 (Issue #2434)
- Added a new cupsctl command for doing basic changes to the cupsd.conf file (Issue #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 (Issue #1711)
- The scheduler did not report Bonjour shared printers as remote printers (Issue #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 (Issue #2334)
- Added a new cupsDoIORequest() function for reading and writing files via IPP requests (Issue #2334)
- Added a new CUPS_GET_PPD operation for getting an available PPD file on the server (Issue #2334)
- CUPS_GET_PPDS now reports multiple ppd-product values based on the PPD ModelName and Product strings (Issue #2334, Issue #2383)
- CUPS_GET_PPDS now reports the PSVersion attributes from a PPD file in the ppd-psversion attribute (Issue #2334)
- CUPS_GET_PPDS now reports the cupsModelNumber attribute from a PPD file in the ppd-model-number attribute (Issue #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 (Issue #2383)
- Added a new printer attribute called "cups-version" which reports the version of CUPS that is running (Issue #2240)
- backendRunLoop() now aborts immediately on SIGTERM if no data has been written yet (Issue #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 (Issue #2035, Issue #2354)
- The scheduler now recreates the CUPS log directory as needed (Issue #2353)
- cupsLangDefault() now maps new-style Apple locale names to the traditional ll_CC form (Issue #2357)
- Add new cupsArrayNew2() API to support hashed lookups of array elements (Issue #2358)
- ppdConflicts() optimizations (Issue #2358)
- The cupstestppd program now tests for existing filters, icons, profiles, and dialog extensions (Issue #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 (Issue #2238)
- The socket backend now reads any pending back-channel data before shutting down the socket (Issue #2325)
- Added a new ErrorPolicy directive in the cupsd.conf file (Issue #1871)
- Printers that use JCL options are now exported to Samba correctly (Issue #1985)
- The IPP backend now relays printer-state-message values from the server to the client (Issue #2109)
- Added support for the PWG printer-alert and printer-alert-description attributes (Issue #2088)
- Added support for LPD "stream" mode (Issue #2036)
- The scheduler now reports the PostScript product string from PPD files in CUPS-Get-PPDs responses (Issue #1900)
- Raw printing with queues pointing to the file pseudo- device and multiple files and/or banners now works (Issue #1933)
- Added new public cupsAdminGetServerSettings() and cupsAdminSetServerSettings() APIs.
- Added new "makebuttons" script in the "tools" directory for creating web interface buttons (Issue #2231)
- Added support for DNS-SD (aka "Bonjour") printer sharing (Issue #1171)
- Job operations (cancel, hold, release, etc.) from the web interface now return back to the original page (Issue #2239)
- The classes or printers list is now shown after a successful deletion from the web interface (Issue #1999)
- The default configuration now allows browse packets from any address (Issue #2008)
- The web interface now provides an "allow printing from the Internet" check box (Issue #1897)
- The notify-events-default and notify-lease-duration-default attributes can now be set (Issue #1671)
- Server-side default options are now sent to clients when the "printer-defaults" attribute group is requested (Issue #1923)
- Added support for Linux "relro" linker option (Issue #1614)
- CUPS now validates the number-up option value (Issue #1329)
- The on-line help now provides better search capabilities (Issue #1701)
- The web interface "Add This Printer" button now allows you to change the printer name, description, and location (Issue #1646)
- Added support for Mac OS X authorization services (Issue #2206)
- Added support for driver-specific pre-filters (Issue #2108)
- Added a new side-channel API for drivers and backends for basic device control and information queries (Issue #1898)
- The scheduler now uses poll(), epoll(), or /dev/kqueue instead of select() when possible (Issue #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 (Issue #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 (Issue #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.