Releases: apple/cups
Releases · apple/cups
v1.3.0
Changes in CUPS v1.3.0:
- The scheduler did not handle out-of-file conditions gracefully when accepting new connections, leading to heavy CPU usage.
- The scheduler did not detect ServerBin misconfigurations (Issue #2470)
- "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 (Issue #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 (Issue #2464)
- Changed references to ESP Ghostscript to GPL Ghostscript (Issue #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.
v1.2rc3
Changes in CUPS v1.2rc3:
- The cups-lpd program always did reverse lookups on the client address, which could be a performance problem. Added a "-n" option to disable lookups.
- When configured with SSL support, require encryption by default when displaying the /admin location (Issue #1592)
- The next job ID was not computed correctly if the job cache file got out of sync with the spool directory (Issue #1582)
- The PNG image handling code used deprecated functions from libpng (Issue #1587)
- Added a Polish translation (Issue #1584, Issue #1586)
- More changes to the scheduler to improve battery life on portable devices (Issue #1583)
- Changed the default log level for status messages back to "DEBUG" to be consistent with CUPS 1.1.x (Issue #1579)
- The error string was not set properly when cupsDoFileRequest() was given the name of a directory (Issue #1578)
- Fixed handling of job-hold-until (Issue #1581)
- Added explicit notes to the cupsaddsmb man page explaining that the driver filenames are case-sensitive under UNIX and that they must be all lowercase (Windows 2000) or all UPPERCASE (Windows 95/98/Me) to work (Issue #1568)
- The USB backend incorrectly split the manufacturer name if it contained spaces (Issue #1566)
- The scheduler would hang when listing PPD files for a manufacturer whose name contained spaces (Issue #1567)
- Added the SNMP backend for network printer discovery (Issue #1555)
- cupstestppd now fails PPD files with 1284DeviceId instead of 1284DeviceID, and cups-driverd uses a case-insensitive comparison when looking for it (Issue #1573)
- cupsDoFileRequest() and cupsDoRequest() now work properly with non-blocking HTTP connections.
- Added Swedish translation (Issue #1569)
- "make install" now installs the MIME files with world read permissions (Issue #1565)
- More CDSA encryption support fixes (Issue #1563)
- Updated the default mime.types file to support printing of files that do not have a locally-recognized MIME media type to raw or System V queues.
- Updated the serial port detection code on Linux (Issue #1562)
- Added some more error checking to httpGetHostname() (Issue #1561)
- The title of some administration pages was not localized (Issue #1548)
- The edit-config.tmpl file was not generated or installed for the Spanish or Japanese localizations (Issue #1547)
- The mimeDelete() function freed the types before the filters, but the filters needed the type data (Issue #1558)
- The scheduler didn't keep track of the status pipes properly, leading to a bad select() for multi-file jobs (Issue #1559)
- The cupstestdsc program didn't validate the ordinal page number value for %%Page: comments.
v1.2rc2
Changes in CUPS v1.2rc2:
- The scheduler was not always using the string pool, causing random crashes.
- The lpmove and the web interface's Move Job button did not work with stopped jobs (Issue #1534)
- The PostScript filter did not handle the page-set option properly with number-up printing (Issue #1543)
- The scheduler now only warns about unsupported ACLs once (Issue #1532)
- The "fitplot" option did not work with output from Mozilla (Issue #1542)
- The imagetops filter did not work with Level 2 or 3 printers (Issue #1533)
- The scheduler now recognizes PostScript files with PJL commands that do not include an ENTER LANGUAGE command.
- Added --with-printcap configure option.
- 64-bit SSL fixes for MacOS X.
- The scheduler didn't send some printer state change events.
- The scheduler didn't send jobs to busy remote printers.
- Fixed some problems with the launchd support.
- Added new USB printer backend for MacOS X.
- The PostScript filter now handles files that start with an incomplete PJL header (PR #6076)
- The web interface language selection code did not try the generic language localization (Issue #1531)
- The language cache, string pool, and transcoding caches are now process global instead of per-thread to avoid problems with GNOME and to allow for data sharing between threads (Issue #1530)
- Fixed a CUPS 1.1.x compatibility bug (Issue #1528)
- The web interface redirection after certain printer administration tasks was broken (Issue #1516)
- Web interface authorization could get stuck (Issue #1512)
- Localization updates (Issue #1513, Issue #1518, Issue #1520)
- The pstops filter didn't work with some files (Issue #1523)
- "./configure --enable-static" didn't work (Issue #1522)
- The scheduler was not using the configured default Group (Issue #1521)
- The web interface still did not show the localized time and date for some locales and systems (Issue #1509)
- httpAddrGetList() would crash on systems without getaddrinfo().
- Socket URIs without a trailing slash would cause the port number to not be accepted (Issue #1519)
- Local raw and System V printers were not advertised as such for printer browsing (Issue #1502)
- The RPM spec file incorrectly put duplicate copies of the Japanese and Spanish web interface templates in the main cups package (Issue #1517)
- cupsSetDests() did not explicitly set the permissions of the /etc/cups/lpoptions file (Issue #1508)
- The lpq command crashed with the -h option (Issue #1515)
v1.2rc1
Changes in CUPS v1.2rc1:
- Documentation updates (Issue #1497, Issue #1498)
- The scheduler now redirects browsers to https: URLs when encryption is required.
- The scheduler would crash when printing with a banner (Issue #1500)
- cups-driverd did not use the LanguageEncoding attribute in PPD files to convert the NickName to UTF-8 (Issue #1503)
- The lpadmin command could not set the printer-error-policy attribute (Issue #1504)
- The web interface did not show the time and date in the correct format for the locale (Issue #1505)
- CUPS no longer accepts print jobs if a printer does not support the file format (Issue #1501)
- Cleaned up the PostScript filter (pstops) so that it properly supports %%IncludeFeature and page scaling (Issue #1453)
- Fixed the cupsFileRewind() and cupsFileSeek() functions to work properly with uncompressed files.
- Added cupsFileGetLine(), cupsFileStderr(), cupsFileStdin(), and cupsFileStdout() functions to the CUPS library.
- Added a new cupstestdsc program to test the DSC conformance of PostScript files.
- Added KDE/GNOME icons and a Manage Printers menu item.
- Added --enable-image and --enable-pdftops configure options to control whether the image and PDF filters are built and installed (default = yes for all platforms but MacOS X)
- Fixed a minor memory leak in the PPD API.
- Fixed transcoding issues (Issue #1493)
- The scheduler now enforces a minimum job cost of 100 when doing FilterLimit checks.
- The scheduler would leak file descriptors when printing to raw queues (Issue #1491)
- The IPv6 support did not compile on Tru64 UNIX (Issue #1488)
- ppdOpen2() now converts the NickName and all UI text to UTF-8 (Issue #1475)
- The Set Allowed Users web page did not work (Issue #1486)
- When the default policy was not set or set to a non- existing policy, the scheduler did not set the default policy name to "default" (Issue #1484)
- The Zebra CPCL driver did not use the correct righthand margin for the 4" wide label sizes.
- Fixed a problem with the parsing of fractional real numbers in PPD files.
- Added Spanish localization files (Issue #1480)
- Fixed localization of a few scheduler messages (Issue #1478)
- Fixed support for HEAD requests in the scheduler (Issue #1481)
v1.2b2
Changes in CUPS v1.2b2:
- Updated the CUPS design description.
- Added --enable-32bit and --enable-64bit configure options to allow building of separate 32/64-bit libraries on systems that support both environments (Issue #1472)
- Various compiler warning fixes.
- Fixes for Solaris 10 builds against old GNU TLS and LDAP libraries.
- Added a cupsArrayUserData() function to retrieve the user data pointer for an array (useful for typing arrays)
- The ppdEmitString() function did not compute the required buffer size properly, leading to dropped characters on the end of the printer commands in pstops and imagetops (Issue #1470)
v1.2b1
Changes in CUPS v1.2b1:
- The serial backend now supports Equinox 8-port serial hubs (Issue #526)
- The IPP backend now supports a compression option to compress print files as they are sent to the remote server (Issue #956)
- The CUPS browse protocol now supports passing of default options and browse timeout values from the server to the clients (Issue #800)
- Implicit classes that timed out could cause the scheduler to crash (Issue #1439)
- Added DragonFly support in local device backends (Issue #1362)
- Added LDAP printer browsing support (Issue #338)
- Added official support for printer maintenance commands via the CUPS Command file format and hooks in the printer-type and web interfaces (Issue #932)
- The HP-GL/2 filter could get in an infinite loop trying to convert HP-PCL files (Issue #1415)
- CUPS now implements the HTTP/1.1 Expect header (Issue #1407)
- Options in PPD files are no longer automatically put in an "Extra" group; rather, all options that are not inside an Open/CloseGroup will be placed in the "General" group (Issue #1385)
- The scheduler now creates a job-uuid attribute that uniquely identifies a job on a network (Issue #1410)
- The init script now unsets the TMPDIR environment variable to prevent user temporary directories from being used by cupsd accidentally (Issue #1424)
- Added support for launchd on MacOS X.
- Added support for notify_post on MacOS X.
- Added support for DBUS on Linux.
- All of the Berkeley (except for lpc) and System V commands now support specification of user, host, and port (Issue #1028, Issue #1029, Issue #1087)
- The lpmove command now allows you to move all jobs for a given queue (Issue #56)
- The web interface now supports moving of a job or jobs to another queue (Issue #56)
- The web interface now provides searching, paging, and changing of the sort/display order of classes, jobs, and printers.
- cupsaddsmb now accepts a password on the command-line and supports passwords with special characters (Issue #822, Issue #1236)
- ppdLoad*() no longer tries to "fix" bad characters in UI text (Issue #1101)
- Printer names can now (reliably) contain Unicode characters (Issue #896)
- The lpstat command now shows the time and date of the last printer state change instead of the hardcoded "Jan 01 00:00" (Issue #659)
- The scheduler now adds a job-actual-printer-uri attribute to job objects when printing to a class (Issue #116)
- The scheduler now logs log file open errors to the system log (Issue #1289)
- The scheduler now sets the job-originating-user-name to the authenticated username, if available (Issue #1318)
- The scheduler now only updates the permissions of SSL keys and certificates when they are under the ServerRoot directory (Issue #1324)
- The rastertodymo driver has been renamed to rastertolabel (a symlink is installed so that existing queues continue to work) and now also supports Zebra's CPCL language.
- The lpstat command could show the wrong active job for a printer (Issue #1301)
- Fixed a potential crash problem in the scheduler when aborting a CGI program (Issue #1290)
- Added a "cancel all jobs" button to the class and printer web interfaces (Issue #1140)
- The add-printer web page now shows the set-printer-options page after the printer has been added (Issue #690)
- The classes web page now provides links to each of the member printers (Issue #307)
- CUPS now handles HTTP request/response lines up to 32k in length; this is mainly for better cookie support (Issue #1274)
- Added support for the Apache PassEnv and SetEnv directives to cupsd.conf (Issue #853)
- Added large file (64-bit) support (Issue #541)
- Fixed a performance issue with the ippReadIO() implementation (Issue #1284)
- Fixed a performance issue with the scheduler's implicit class implementation (Issue #1283)
- The pdftops filter now adds the Title and Creator fields from the PDF file to the PostScript document comments section (Issue #539, Issue #830)
- Added a new cups_array_t and cupsArray*() functions to the CUPS API to support sorted lists of data.
- Made the CUPS API library thread-safe (Issue #1276)
- Added "media" option support for EFI EFMediaType option (Issue #902)
- Added write buffering to the HTTP code to improve performance (Issue #547)
- The scheduler now uses the attributes-natural-language attribute to localize banner pages (Issue #386)
- The scheduler now returns the address that was used to connect to it (Issue #1076)
- Fixed a problem with N-up printing and OpenOffice (Issue #576)
- Added support for the GCC position independent executable options (Issue #1209)
- Added new BrowseLocalProtocols and BrowseRemoteProtocols directives to cupsd.conf, allowing for different browse protocols for local and remote printers (Issue #877)
- PPD files can now contain strings up to 256k in length (Issue #1215)
- The pstops filter now supports the IncludeFeature DSC comment (Issue #1212)
- The pstops filter now disables the setpagedevice procedure when doing N-up printing (Issue #1161)
- The serial backend now supports "stop=1", "stop=2", "parity=space", and "parity=mark" options (Issue #1155)
- "make install" no longer overwrites an existing PAM configuration file (Issue #1064)
- The scheduler now closes all files on startup when run in daemon mode (Issue #1009)
- Added a new RGBW colorspace to the CUPS raster format (Issue #1071)
- The pdftops filter now sets the page size based on the media box when not scaling the output (Issue #912)
- The pdftops filter now supports masked images (Issue #281)
- The pdftops filter produced large output when rendering PDF files containing lot of repeated images (Issue #327)
- The pdftops filter now minimizes print processing of PDF files when using the page-ranges option (Issue #273)
- Updated pdftops filter to Xpdf 3.01.
- Added new cupsBackchannelRead() and cupsBackchannelWrite() functions, as well as backchannel support to the parallel, serial, socket, and USB backends (Issue #1252)
- The parallel and USB backends now treat a "no space available" error as an out-of-paper condition (Issue #1225)
- The "lpc" command now supports the "status all" command (Issue #1004)
- ippReadIO() did not read collections properly (Issue #1249)
- The "make test" script now creates the test files in "/tmp/cups-$USER" instead of "/tmp/$USER" (Issue #981)
- All backends now abort on error when printing a job to a class - this allows the next printer in the class to print the job (Issue #1084)
- The scheduler now verifies that a printer supports Letter or A4 media sizes before setting them as the initial default (Issue #1250)
- The cupstestppd program now flags bad Resolution options (Issue #1269)
- The USB backend now retries printing when the printer is disconnected or turned off (Issue #1267)
- Added new httpGetHostname() function to CUPS API, and use it instead of gethostname() so that the web interface will work correctly on systems whose hostname is not the FQDN (Issue #1266)
- The scheduler now stops printers if the backend for ...
v1.2.9
Changes in CUPS v1.2.9:
- The scheduler did not use the default job-sheets (banners) for implicit classes (Issue #2284)
- The scheduler could crash when listing complete jobs that had been unloaded from memory (Issue #2288)
- The French localization was doubled up (Issue #2287)
- Build system fixes for several platforms (Issue #2260, Issue #2275)
- The scheduler's openssl certificate generation code was broken on some platforms (Issue #2282)
- The scheduler's log rotation check for devices was broken (Issue #2278)
- The LPD mini-daemon did not handle the document-format option correctly (Issue #2266)
- The pdftops filter ignored the "match" size option in the pdftops.conf file (Issue #2285)
- cupstestppd now validates UTF-8 text strings in globalized PPD files (Issue #2283)
- The outputorder=reverse option did not work with all printers (Issue #2279)
- Classes containing other classes did not always work (Issue #2255)
- Printer location and description information was lost if the corresponding string contained the "#" character (Issue #2254)
- cupsRemoveOption() did not work properly (Issue #2264)
- The USB backend did not work with some USB to parallel cables on Mac OS X.
- The test page did not print the rulers properly on large media sizes (Issue #2252)
- The text filter could crash when pretty printing certain types of files (Issue #2158)
v1.2.8
Changes in CUPS v1.2.8:
- Documentation fixes (Issue #2141, Issue #2157)
- The HTTP upgrade redirection used by the scheduler did not work with Internet Explorer (Issue #2235)
- Members of a class with Unicode names did not appear correctly in the web interface (Issue #2154)
- Changing the "Save debugging information" setting in the web interface no longer affects the other server settings (Issue #1993)
- The scheduler did not choose SSL certificates correctly on Mac OS X (Issue #2225)
- The scheduler could get in an infinite loop when printing to a remote class (Issue #2228)
- The jobs web page did not have separating space after the number of pages column (Issue #2230)
- Added French localization (Issue #2221)
- Updated Spanish localization (Issue #2223)
- Updated Japanese localization (Issue #2216)
- cupsBorderlessScalingFacter was limited to a range of 0.9 to 1.1, but some printers need larger values (Issue #2222)
- Landscape printing of PDF files did not always work (Issue #2149)
- Fixed slow USB printing on Minolta printers (Issue #2104, Issue #2219)
- The ZPL label printer driver could produce stretched output (PR #6448)
- The IPP backend now clears the printer-state-message when there are no outstanding errors or warnings (Issue #2126)
- The CUPS Java scripting support did not work with recent versions of Java due to the use of Sun's private Base64 class (Issue #2152)
- The scheduler did not pass HTTP GET form variables to custom CGI programs (Issue #2173)
- The lpoptions command now displays the reason why a PPD file cannot be found (Issue #2184)
- The scheduler did not accept "none" as a browse protocol name (Issue #2200)
- The scheduler still loaded the remote printer cache, even when browsing was disabled (Issue #2198)
- The SNMP backend now shows OfficeJet printers with the "HP" manufacturer prefix (Issue #2151)
- Web interface HTML cleanup (Issue #2153)
- The parallel backend consumed 100% CPU on FreeBSD due to an apparently common parallel port driver bug (Issue #2161)
- ippReadIO() incorrectly returned IPP_IDLE when the initial IPP message header could not be read (Issue #2179)
- cupsRasterInterpretPPD() did not support custom options (Issue #1960)
- Collated output produced by the PostScript filter could lose some options (Issue #2137)
- job-hold-until with time values for the next day would be held for 60 days (Issue #2144)
- Some types of Sun raster files did not print correctly (Issue #2107)
- Raw PBM files did not print correctly (Issue #2106)
- The SNMP backend no longer uses IPP with HP printers, as some recent firmware versions appear to not work (Issue #2055)
- cupsMarkOptions() did not handle the multiple-document-handling option (Issue #2135)
- lpstat did not show the local job ID of active printers (Issue #2125)
- The backends incorrectly used STATUS: media-tray-empty-error messages for out-of-paper conditions (Issue #2123, Issue #2124)
- cupsGetPPD2() returned the wrong error when the PPD file did not exist (Issue #2122)
- cupsDoAuthentication() did not translate the password prompt (Issue #2121)
- httpGetLength2() did not handle error messages without content correctly (Issue #2133)
- Added support for 32/64-bit libraries on HP-UX Itanium systems (Issue #2115)
- Fixed a configure script problem with the 32/64-bit library support (Issue #2114)
- The PostScript filter did not properly output document setup commands for reversed output (Issue #2111)
- The scheduler did not parse IPv6 netmasks properly (Issue #2117)
v1.2.7
Changes in CUPS v1.2.7:
- Documentation updates (Issue #2089)
- Added an Italian translation (Issue #2105)
- The PostScript filter now rotates the bounding box values as needed (Issue #2079)
- The scheduler no longer loads the remote printer cache when browsing is disabled (Issue #2084)
- The scheduler no longer writes a new launchd configuration file if it doesn't have to (Issue #2083)
- Updated the USB and PAP backends for Mac OS X (Issue #2086)
- The scheduler now picks up on changes to IPv6 and DNS configuration on Mac OS X (Issue #2085)
- The lpstat program could still hang (Issue #2098)
- Fixed an inefficiency in the SNMP IPP detection code (Issue #2100)
- The SSL negotiation code did not implement short timeouts (Issue #2091)
v1.2.6
Changes in CUPS v1.2.6:
- The web interface was not localized on Mac OS X (Issue #2075)
- "lpc status" did not show the number of queued jobs for disabled queues (Issue #2069)
- The lpstat program could hang (Issue #2073)
- The serial backend did not support the new USB serial filenames on Linux (Issue #2061)
- The parallel backend did not support bidirectional I/O properly (Issue #2056)
- The network backends now log the numeric address that is being used (Issue #2046)
- Fixed a compile error when using libpaper.
- Fixed a compile error when compiling on Solaris with threading enabled (Issue #2049, Issue #2050)
- Missing printer-state-changed event for printer-state-message updates (Issue #2047)