Releases: apple/cups
Releases · apple/cups
v1.2.5
Changes in CUPS v1.2.5:
- Documentation updates (Issue #2038)
- The SNMP backend no longer uses IPP for Epson printers (Issue #2028)
- Updated the configure script for Tru64 UNIX 5.1 (Issue #2033)
- Tru64 5.1B's getaddrinfo() and getnameinfo() functions leak file descriptors (Issue #2034)
- cupsAddDest() didn't add the parent destination's options and attributes.
- ppdConflicts() did not handle custom option constraints.
- Raw printing of gzip'd files did not work (Issue #2009)
- The scheduler no longer preserves default option choices when the new PPD no longer provides the old default choice (Issue #1929)
- The Linux SCSI backend is now only built if the SCSI development headers are installed.
- USB printing to Minolta printers did not work (Issue #2019)
- Windows clients could not monitor the queue status (Issue #2006)
- The scheduler didn't log the operation name in the access_log file for Create-Job and Print-Job requests.
- The PostScript filter now separates collated copies with any required JCL commands so that JCL-based finishing options act on the individual copies and not all of the copies as a single document.
- The PostScript filter now disables duplex printing when printing a 1-page document.
- cups-lpd didn't pass the correct job-originating-host-name value (Issue #2023)
- Fixed some speling errors in the German message catalog (Issue #2012)
- cupstestppd did not catch PPD files with bad UIConstraints values (Issue #2016)
- The USB backend did not work with the current udev- created printers if the first printer was disconnected (Issue #2017)
- Mirrored and rotated printing did not work with some documents (Issue #2004)
- 2-sided printing with banners did not work properly on some printers (Issue #2018)
- Updated the raw type rule to handle PJL within the first 4k of a print job (Issue #1969)
- Added an Estonian translation (Issue #1957)
- Clarified the documentation for the cupsd.conf @Local and @if(name) allow/deny functionality (Issue #1992)
- The PostScript filters did not escape the Title and For comments in the print job header (Issue #1988)
- The scheduler would use 100% CPU if browsing was disabled and the cupsd.conf file contained BrowsePoll lines (Issue #1994)
- The cupsDirRead() function did not work properly on non-POSIX-compliant systems (Issue #2001)
- The cupsFile functions didn't handle read/write errors properly (Issue #1996)
- The DBUS support now works with older versions of the DBUS library.
v1.2.4
Changes in CUPS v1.2.4:
- The --with-printcap configure option did not work (Issue #1984)
- The character set reported by cupsLangGet() did not always reflect the default character set of a given locale (Issue #1983)
- Older Lexmark and Tektronix printers did not work with IPP (Issue #1980)
- Failsafe printing did not work (PR #6328)
- Some web interface redirects did not work (Issue #1978)
- The web interface change settings button could introduce a "Port 0" line in cupsd.conf if there was no loopback connection available (Issue #1979)
- The web interface change settings and edit configuration file buttons would truncate the cupsd.conf file (Issue #1976)
- The German web interface used the wrong printer icon images (Issue #1973)
- The "All Documents" link in the on-line help was missing a trailing slash (Issue #1971)
- The Polish web interface translation used the wrong URLs for the job history (Issue #1963)
- The "reprint job" button did not work (Issue #1956)
- The scheduler did not always report printer or job events properly (Issue #1955)
- The scheduler always stopped the queue on error, regardless of the exit code, if the error policy was set to "stop-printer" (Issue #1959)
- ppdEmitJCL() included UTF-8 characters in the JCL job name, which caused problems on some printers (Issue #1959)
- Fixed a buffering problem that cause high CPU usage (Issue #1968)
- The command-line applications did not convert command-line strings to UTF-8 as needed (Issue #1958)
- cupsDirRead() incorrectly aborted when reading a symbolic link that pointed to a file/directory that did not exist (Issue #1953)
- The cupsInterpretRasterPPD() function did not handle custom page sizes properly.
v1.2.3
Changes in CUPS v1.2.3:
- The scheduler did not send job-state or job-config-changed events when a job was held, released, or changed (Issue #1947)
- The scheduler now aborts if the configuration file and directory checks fail (Issue #1941)
- Fixed a problem with ippPort() not using the port number that was set via the client.conf file or CUPS_SERVER environment variable (Issue #1945)
- HTTP headers were not buffered (Issue #1899)
- Some IPP printers (HP) did not like UTF-8 job names (Issue #1837)
- The CUPS desktop icon is now localized for Polish (Issue #1920)
- Printer options were not always honored when printing from Windows clients (Issue #1839)
- The openssl command would lock up the scheduler when generating an encryption certificate on some platforms due to a lack of entropy for the random number generator (Issue #1876)
- The web admin page did not recognize that "Listen 631" enabled remote access (Issue #1908)
- The web admin page did not check whether changes were made to the Basic Server Settings check boxes (Issue #1908)
- The IPP backend could generate N*N copies in certain edge cases.
- The scheduler did not restore remote printers properly when BrowseShortNames was enabled (Issue #1893)
- Polling did not handle changes to the network environment on Mac OS X (Issue #1896)
- The "make test" subscription tests used invalid notify-recipient-uri values (Issue #1910)
- Printers could be left in an undefined state on system sleep (Issue #1905)
- The Berkeley and System V commands did not always use the expected character set (Issue #1915)
- Remote printing fixes (Issue #1881)
- The cupstestppd utility did not validate translation strings for custom options properly.
- Multi-language PPD files were not properly localized in the web interface (Issue #1913)
- The admin page's simple settings options did not check for local domain socket or IPv6 addresses and did not use "localhost" as the listen address.
- An empty BrowseProtocols, BrowseLocalProtocols, or BrowseRemoteProtocols line would crash the scheduler instead of disabling the corresponding browsing options.
- The scheduler now logs IPP operation status as debug messages instead of info or error.
- cupsFileRewind() didn't clear the end-of-file state.
- cupstestppd didn't report the actual misspelling of the 1284DeviceID attribute (Issue #1849)
- BrowseRelay didn't work on Debian (Issue #1887)
- configure --without-languages didn't work (Issue #1879)
- Manually added remote printers did not work (Issue #1881)
- The <cups/backend.h> header was not installed.
- Updated the build files for Autoconf 2.60 (Issue #1853)
- The scheduler incorrectly terminated the polling processes after receiving a partial log line.
- The cups-lpd mini-daemon reported "No printer-state attribute found" errors when reporting the queue status (PR #6250, Issue #1821)
- SNMP backend improvements (Issue #1737, Issue #1742, Issue #1790, Issue #1835, Issue #1880)
- The scheduler erroneously reported an error with the CGI pipe (Issue #1860)
- Fixed HP-UX compile problems (Issue #1858, Issue #1859)
- cupstestppd crashed with some PPD files (Issue #1864)
- The <cups/dir.h> and <cups/file.h> header files did not work with C++.
v1.2.2
Changes in CUPS v1.2.2:
- Documentation updates (Issue #1765, Issue #1780)
- CUPS didn't know about alternate character set names for Asian text (Issue #1819)
- The lpoptions -o and -r options did not work unless you specified a printer.
- The lpoptions command incorrectly allowed users to set printer attributes like printer-type (Issue #1791)
- httpWait() did not flush the write buffer, causing "bad request" errors when communicating with CUPS 1.1.x servers (Issue #1717)
- Polling did not sanitize the printer description, location, or make and model strings like broadcasts did.
- Polled printers did not show the server's default job-sheets option value.
- The Samba password prompt was not properly localized (Issue #1814)
- Added a German translation (Issue #1842)
- The scheduler now creates self-signed SSL certficates automatically when using OpenSSL and CDSA for encryption, just as for GNU TLS.
- The SNMP backend sporatically reported some printers as "unknown" (Issue #1774)
- The scheduler now forces BrowseTimeout to be at least twice the BrowseInterval value and non-zero to avoid common configuration errors.
- The scheduler incorrectly returned printer URIs of the form "ipp://server/printers/classname" for classes (Issue #1813)
- Updated Japanese localization (Issue #1805)
- The scheduler's SSL certificate/key directory was not created on installation (Issue #1788)
- Added a mailto.conf man page and help page (Issue #1754)
- The parallel and USB backends no longer wait for the printer to go on-line - this caused problems with certain printers that don't follow with the IEEE-1284 standard (Issue #1738)
- The scheduler could crash on a reload when implicit classes were present (Issue #1828)
- The IPP backend incorrectly used the CUPS_ENCRYPTION environment variable to determine the default encryption mode when printing (Issue #1820)
- USB printing did not work on Solaris (Issue #1756)
- The scheduler sorted job priorities in the wrong order (Issue #1811)
- The scheduler did not automatically restart notifiers that exited or crashed (Issue #1793)
- IPv6 support did not work on NetBSD (Issue #1834)
- The EPM packaging file did not work (Issue #1804)
- The scheduler used up the CPU if BrowseRemoteProtocols was empty (Issue #1792)
- Custom page sizes did not work (Issue #1787)
- The SNMP backend could crash on some systems when SNMP logging was enabled (Issue #1789)
- Browsing could produce some funny printer names when ServerName was set to an IP address (Issue #1799)
- Fixed the log message for BrowseRelay (Issue #1798)
- Fixes to allow CUPS to compile on MirBSD (Issue #1796)
- The scheduler incorrectly set the FINAL_CONTENT_TYPE environment variable (Issue #1795)
- The pdftops filter incorrectly embedded a "produced by" comment, causing PDF printing not to work on some operating systems (Issue #1801)
- Sending raw jobs from a client system could cause the client's scheduler to eventually crash (Issue #1786)
- The scheduler now checks that the notifier exists prior to accepting a new subscription request.
- The scheduler now reports the supported notify-recipient schemes based on the contents of the ServerBin/notifier directory.
- Event notifications did not include the notify-sequence-number or other required attributes (Issue #1747)
- Allow/Deny addresses of the form "11.22.33.*" did not work on Linux (Issue #1769)
- cupsGetPPD() did not work if the scheduler was only listening on a domain socket (Issue #1766)
- The scheduler could crash advertising a class (Issue #1768)
- The scheduler could crash if the default printer was deleted (Issue #1776)
- Added a new default CUPS raster format (v3) which does not compress the raster stream in order to provide the same cupsRasterReadPixels() and cupsRasterWritePixels() performance as CUPS 1.1.x.
- The cupsaddsmb man page listed the wrong files for the CUPS driver.
- Some configure --with options did not work (Issue #1746)
- "Allow @if(name)" didn't work if "name" wasn't the first network interface (Issue #1758)
- The lpstat command did not use the correct character set when reporting the date and time (Issue #1751)
- The cupsaddsmb command and web interface did not update the Windows PPD files properly, resulting in corrupt PPD files for the Windows client to use (Issue #1750)
- The cupsd.conf man page didn't describe the Listen domain socket syntax (Issue #1753)
- The scheduler no longer tries to support more than FD_SETSIZE file descriptors.
- CDSA (encryption) support fixes for MacOS X.
- The lppasswd program needs to be setuid to root to create and update the /etc/cups/passwd.md5 file (Issue #1735)
- 32/64-bit library installation was broken (Issue #1741)
- The USB backend now reports a "no such device" error when using the old filename-based USB URIs instead of the "success" error.
- Increased the HTTP and IPP read timeouts to 10 seconds, as 1 second was too short on congested networks (Issue #1719)
- The SNMP backend now uses the device description over the printer-make-and-model attribute when the attribute contains a generic name (Issue #1728)
- Fixed another file descriptor leak when printing raw files (Issue #1736)
- Raw queues were not shared via LDAP (Issue #1739)
- The pstops filter didn't always embed PageSetup commands from the PPD file (Issue #1740)
- "make install" didn't work if you disabled all of the localizations.
- The scheduler didn't always choose the least costly filter.
- Fixed parsing of IPv6 addresses in Allow, Deny, BrowseAllow, BrowseDeny, and BrowseRelay directives (Issue #1713)
- Printers that were shared via LDAP did not get added to the LDAP server properly (Issue #1733)
- LDAP browsing would crash the scheduler if a required value was missing (Issue #1731)
- Special cases for the "localhost" hostname did not work, causing printing to not work when the /etc/hosts file did not contain a localhost entry (Issue #1723)
- Updated the Spanish translation (Issue #1720, Issue #1770)
- Reverse-order page output was broken when N-up or landscape orientations were used (Issue #1725)
- The parallel, serial, socket, and USB backends needed print data before they would report back-channel data, causing problems with several new drivers (Issue #1724)
v1.2.12
Changes in CUPS v1.2.12:
- The PHP cups_print_file() function crashed if the options array contained non-string option values (Issue #2430)
- The image/tiff file matching rule incorrectly identified some text files as TIFF files (Issue #2431)
- The filter(7) man page incorrectly documented the "PAGE: total #-pages" message (Issue #2427)
- PCL text files were mis-identified as HP-GL/2 and caused the HP-GL/2 filter to hang (Issue #2423)
- When printing to a queue with user ACLs, the scheduler incorrectly returned a quota error instead of a "not allowed to print" error (Issue #2409)
- cupsaddsmb could get in a loop if no printer drivers were installed (Issue #2407)
- cupsRasterReadHeader() did not byte-swap the header properly when compiled with certain versions of GCC.
- The IPP backend did not send the document-format attribute for filtered jobs (Issue #2411)
- Some PPD files could cause a crash in ppdOpen2 (Issue #2408)
- The web admin interface incorrectly handled the "share printers" and "show remote printers" settings (Issue #2393)
- The scheduler's log messages about AuthClass and AuthGroupName advised using a replacement directive but had the wrong syntax (Issue #2400)
- Updated the PostScript/PJL and HP-GL/2 MIME rules to look in the first 4k of the file, not just the first 1k (Issue #2386)
- Updated the Italian localization (Issue #2382)
v1.2.11
Changes in CUPS v1.2.11:
- Fixed the "relaying from" log message (Issue #2376)
- Updated the launchd support on Mac OS X to better support reconfiguration.
- "make distclean" didn't remove all generated files (Issue #2366)
- Fixed a bug in the advertisement of classes (Issue #2373)
- The IPP backend now stays running until the job is actually printed by the remote server; previously it would stop monitoring the job if it was held or temporarily stopped (Issue #2352)
- PDF files were not always printed using the correct orientation (Issue #2348)
- The scheduler could crash if you specified a bad file: URI for a printer (Issue #2351)
- The Renew-Subscription operation now returns the notify-lease-duration value that was used (Issue #2346)
- The IPP backend sent job options to IPP printers, however some printers tried to override the options embedded in the PS/PCL stream with those job options (Issue #2349)
- ppdLocalize() now also tries a country-specific localization for when localizing to a generic locale name.
- The cupstestppd program now allows for partial localizations to reduce the size of universal PPD files.
- Chinese PPD files were incorrectly tagged with the "cn" locale (should have been "zh")
- The backends now manage the printer-state-reasons attribute more accurately (Issue #2345)
- Java, PHP, Perl, and Python scripts did not work properly (Issue #2342)
- The scheduler would take forever to start if the maximum number of file descriptors was set to "unlimited" (Issue #2329)
- The page-ranges option was incorrectly applied to the banner pages (Issue #2336)
- Fixed some GCC compile warnings (Issue #2340)
- The DBUS notification code was broken for older versions of DBUS (Issue #2327)
- The IPv6 code did not compile on HP-UX 11.23 (Issue #2331)
- PPD constraints did not work properly with custom options.
- Regular PPD options with the name "CustomFoo" did not work.
- The USB backend did not work on NetBSD (Issue #2324)
- The printer-state-reasons attribute was incorrectly cleared after a job completed (Issue #2323)
- The scheduler did not set the printer operation policy on startup, only on soft reload (Issue #2319)
- The AP_FIRSTPAGE_InputSlot option did not clear any ManualFeed setting that was made, which caused problems with some PPD files (Issue #2318)
- cupsDoFileRequest() and cupsDoRequest() did not abort when getting an error in the response (Issue #2315)
- The scheduler did not schedule jobs properly to remote or nested classes (Issue #2317)
- Updated the mime.types and mime.convs headers to warn that the files are overwritten when CUPS is installed. Local changes should go in local.types or local.convs, respectively (Issue #2310)
- The scheduler could get in an infinite loop if a printer in an implicit class disappeared (Issue #2311)
- The pstops filter did not handle %%EndFeature comments properly (Issue #2306)
- Fixed a problem with the Polish web page printer icons (Issue #2305)
- ppdLocalize() now also localizes the cupsICCProfile attributes.
- The scheduler still had a reference to the incorrect "notify-recipient" attribute (Issue #2307)
- The "make check" and "make test" subscription tests did not set the locale (Issue #2307)
- The "make check" and "make test" subscription tests incorrectly used the notify-recipient attribute instead of notify-recipient-uri (Issue #2307)
- cupsRasterInterpretPPD() incorrectly limited the cupsBorderlessScalingFactor when specified in the job options.
v1.2.10
Changes in CUPS v1.2.10:
- ppdLocalize() now supports localizing for Japanese using the "jp" locale name used by the ppdmerge program from the CUPS DDK 1.1.0 (Issue #2301)
- _cupsAdminSetServerSettings() did not support changing of top-level directives as designed.
- The init script path check was broken.
- CUPS incorrectly used the attribute "notify-recipient" instead of "notify-recicpient-uri" in several places (Issue #2297)
- Fixed a configure script bug on MirBSD (Issue #2294)
- The pdftops filter did not limit the amount of recursion of page sets (Issue #2293)
- Custom page sizes with fractional point sizes did not work (Issue #2296)
- The lpoptions command would crash when adding or removing options on a system with no printers (Issue #2295)
v1.2.1
Changes in CUPS v1.2.1:
- "lprm -h hostname" did not work (Issue #1800)
- The web interface did not handle reloads properly for MSIE (Issue #1716)
- The configure script no longer adds linker rpath options when they are unnecessary.
- The scheduler could crash printing a debug message on Solaris (Issue #1714)
- The --enable-32bit and --enable-64bit configure options did not always work.
- The password prompt showed the domain socket address instead of "localhost" for local authentication (Issue #1706)
- The web interface filtered the list of printers even if the user wasn't logged in (Issue #1700)
- The IPP backend did not work reliably with some Xerox printers (Issue #1704)
- Trailing banners were not added when printing a single file (Issue #1698)
- The web interface support programs crashed on Solaris (Issue #1699)
- cupstestppd incorrectly reported problems with *1284DeviceID attributes (Issue #1710)
- Browsing could get disabled after a restart (Issue #1670)
- Custom page sizes were not parsed properly (Issue #1709)
- The -U option wasn't supported by lpadmin (Issue #1702)
- The -u option didn't work with lpadmin (Issue #1703)
- The scheduler did not create non-blocking back-channel pipes, which caused problems when the printer driver did not read the back-channel data (Issue #1705)
- The scheduler no longer uses chunking in responses to clients - this caused problems with older versions of CUPS like 1.1.17 (PR #6143)
- Automatic raw printing was broken (Issue #1667)
- 6-up printing was broken (Issue #1697)
- The pstops filter did not disable CTRL-D processing on the printer/RIP.
- ppdOpen*() did not load custom options properly (Issue #1680)
- "Set Printer Options" in the web interface did not update the DefaultImageableArea or DefaultPaperDimension attributes in the PPD file (Issue #1689)
- Fixed compile errors (Issue #1682, Issue #1684, Issue #1685, Issue #1690)
- The lpstat command displayed the wrong error message for a missing destination (Issue #1683)
- Revised and completed the Polish translation (Issue #1669)
- Stopped jobs did not show up in the list of active jobs (Issue #1676)
- The configure script did not use the GNU TLS "libgnutls-config" script to find the proper compiler and linker options.
- The imagetoraster filter did not correctly generate several 1, 2, and 4-bit color modes.
- cupsRasterWritePixels() could lose track of the current output row.
- cupsRasterReadPixels() did not automatically swap 12/16-bit chunked pixel data.
- Moved the private _cups_raster_s structure out of the public header.
- Updated the CUPS raster format specification to include encoding rules and colorspace definitions.
- The Zebra PPD files had the wrong PostScript code for the "default" option choices.
- The imagetoraster filter did not generate correct CIE XYZ or Lab color data.
- The cups-config script did not work when invoked from a source directory (Issue #1673)
- The SNMP backend did not compile on systems that used the getifaddrs emulation functions (Issue #1668)
v1.2.0
Changes in CUPS v1.2.0:
- Documentation updates (Issue #1618, Issue #1620, Issue #1622, Issue #1637)
- Static file copy buffers reduced from 64k to 32k to work around bogus MallocDebug library assumptions (Issue #1660)
- The scheduler did not decode the backend exit code properly (Issue #1648)
- The MacOS X USB backend did not report the 1284 device ID, nor did it fix device IDs returned by HP printers.
- The scheduler started more slowly than 1.1.x with large numbers of printers (Issue #1653)
- cupsRasterInterpretPPD() didn't support the cupsPreferredBitsPerColor attribute, and imagetoraster didn't use the new API.
- The "make test" script did not create all of the necessary subdirectories for testing (Issue #1638)
- The scheduler did not prevent rotation of logs redirected to /dev/null (Issue #1651)
- "make test" did not include the SNMP backend in the test environment (Issue #1625)
- The EPM packaging files did not work (Issue #1621)
- "Use Default Configuration" inserted a broken configuration file (Issue #1624)
- Redirects in the web interface did not always preserve the encrypted status of a connection (Issue #1603)
- Added the Apple "pap" backend.
- Added CUPS library to CUPS Image shared library linkage to support Linux --as-needed linker option (Issue #1606)
- Fixed support for --enable-pie (Issue #1609)
- The pdftops filter did not validate the length of the encryption key (Issue #1608)
- Updated the Polish localization.
- "Encryption Required" in the cupsd.conf file now only requires encryption when the connection is not over the loopback interface or domain socket.
- Printer names containing "+" were not quoted properly in the web interface (Issue #1600)
- The SNMP backend now reports the make and model in the information string so that the auto-generated printer name is more useful than just an IP address.
v1.1b5
Changes in CUPS v1.1b5:
- Documentation updates.
- The pstoraster filter didn't compile without the JPEG library.
- The cupsd server didn't support the HTTP OPTIONS request method.
- Dropped the "CLOSE" method supported by the cupsd server. (not defined in HTTP specification)
- Makefile/configure script fixes.
- Missing the job-restart template.
- Added IPP test suite for testing.
- Missing IPP documentation from binary distributions.
- Fixed multiple-document handling code when last-document not specified.
- Added more checks to IPP requests to prevent bad requests from getting through.
- Not all of the Ghostscript error output was being sent to stderr.
- The PostScript filter now added PJL commands to set the job name and display string, if supported.
- The scheduler would crash if the browse socket could not be bound. Now disables browsing if port 631 (reserved for IPP) is being used by a misbehaving daemon.
- The USB backend now looks for the older Linux 2.2.x USB printer device filenames as well as the newer ones.
- The IPP backend now uses the UTF-8 charset exclusively, since apparently only CUPS handles more than US-ASCII and UTF-8...
- Wasn't quoting ( in PostScript banners...
- Send-document requests with no document-format attribute could cause cupsd to crash.
- Old jobs in the spool directory might cause cupsd to crash.
- CUPS now supports all of the recommended job-hold-until keywords as well as name values of the form "HH:MM" and "HH:MM:SS".
- Added placeholder pointer for TLS encryption to the HTTP connection structure.
- Fixed the "fast poll" bug reported by DISA - the status pipe wasn't being closed for multi-file jobs.
- Revamped put_params code in pstoraster to fix bitmap allocation bug with FrameMaker output.
- Ripped out filename, etc. code from pstoraster as it is a potential security hole.
- Added support for RIP_CACHE environment variable in the new pstoraster.
- Fixed USB device filenames for Linux; now support new pre-2.4 devices (/dev/usb/lp#) and 2.2 devices (/dev/usblp#)
- Fixed accept-jobs crash with classes.
- Didn't include dot-matrix EPSON drivers in previous release.