Merge branch 'tizen' of ssh://review.tizen.org:29418/platform/upstream/cups into...
[platform/upstream/cups.git] / CHANGES-1.2.txt
1 CHANGES-1.2.txt
2 ---------------
3
4 CHANGES IN CUPS V1.2.12
5
6         - The PHP cups_print_file() function crashed if the options
7           array contained non-string option values (STR #2430)
8         - The image/tiff file matching rule incorrectly identified
9           some text files as TIFF files (STR #2431)
10         - The filter(7) man page incorrectly documented the
11           "PAGE: total #-pages" message (STR #2427)
12         - PCL text files were mis-identified as HP-GL/2 and
13           caused the HP-GL/2 filter to hang (STR #2423)
14         - When printing to a queue with user ACLs, the scheduler
15           incorrectly returned a quota error instead of a "not
16           allowed to print" error (STR #2409)
17         - cupsaddsmb could get in a loop if no printer drivers
18           were installed (STR #2407)
19         - cupsRasterReadHeader() did not byte-swap the header
20           properly when compiled with certain versions of GCC.
21         - The IPP backend did not send the document-format
22           attribute for filtered jobs (STR #2411)
23         - Some PPD files could cause a crash in ppdOpen2 (STR
24           #2408)
25         - The web admin interface incorrectly handled the "share
26           printers" and "show remote printers" settings (STR
27           #2393)
28         - The scheduler's log messages about AuthClass and
29           AuthGroupName advised using a replacement directive but
30           had the wrong syntax (STR #2400)
31         - Updated the PostScript/PJL and HP-GL/2 MIME rules to
32           look in the first 4k of the file, not just the first 1k
33           (STR #2386)
34         - Updated the Italian localization (STR #2382)
35
36
37 CHANGES IN CUPS V1.2.11
38
39         - Fixed the "relaying from" log message (STR #2376)
40         - Updated the launchd support on Mac OS X to better
41           support reconfiguration.
42         - "make distclean" didn't remove all generated files
43           (STR #2366)
44         - Fixed a bug in the advertisement of classes (STR
45           #2373)
46         - The IPP backend now stays running until the job is
47           actually printed by the remote server; previously
48           it would stop monitoring the job if it was held or
49           temporarily stopped (STR #2352)
50         - PDF files were not always printed using the correct
51           orientation (STR #2348)
52         - The scheduler could crash if you specified a bad file:
53           URI for a printer (STR #2351)
54         - The Renew-Subscription operation now returns the
55           notify-lease-duration value that was used (STR #2346)
56         - The IPP backend sent job options to IPP printers,
57           however some printers tried to override the options
58           embedded in the PS/PCL stream with those job options
59           (STR #2349)
60         - ppdLocalize() now also tries a country-specific
61           localization for when localizing to a generic locale
62           name.
63         - The cupstestppd program now allows for partial
64           localizations to reduce the size of universal PPD
65           files.
66         - Chinese PPD files were incorrectly tagged with the
67           "cn" locale (should have been "zh")
68         - The backends now manage the printer-state-reasons
69           attribute more accurately (STR #2345)
70         - Java, PHP, Perl, and Python scripts did not work
71           properly (STR #2342)
72         - The scheduler would take forever to start if the
73           maximum number of file descriptors was set to
74           "unlimited" (STR #2329)
75         - The page-ranges option was incorrectly applied to the
76           banner pages (STR #2336)
77         - Fixed some GCC compile warnings (STR #2340)
78         - The DBUS notification code was broken for older
79           versions of DBUS (STR #2327)
80         - The IPv6 code did not compile on HP-UX 11.23 (STR
81           #2331)
82         - PPD constraints did not work properly with custom
83           options.
84         - Regular PPD options with the name "CustomFoo" did
85           not work.
86         - The USB backend did not work on NetBSD (STR #2324)
87         - The printer-state-reasons attribute was incorrectly
88           cleared after a job completed (STR #2323)
89         - The scheduler did not set the printer operation policy
90           on startup, only on soft reload (STR #2319)
91         - The AP_FIRSTPAGE_InputSlot option did not clear any
92           ManualFeed setting that was made, which caused problems
93           with some PPD files (STR #2318)
94         - cupsDoFileRequest() and cupsDoRequest() did not abort
95           when getting an error in the response (STR #2315)
96         - The scheduler did not schedule jobs properly to remote
97           or nested classes (STR #2317)
98         - Updated the mime.types and mime.convs headers to warn
99           that the files are overwritten when CUPS is installed.
100           Local changes should go in local.types or local.convs,
101           respectively (STR #2310)
102         - The scheduler could get in an infinite loop if a
103           printer in an implicit class disappeared (STR #2311)
104         - The pstops filter did not handle %%EndFeature comments
105           properly (STR #2306)
106         - Fixed a problem with the Polish web page printer icons
107           (STR #2305)
108         - ppdLocalize() now also localizes the cupsICCProfile
109           attributes.
110         - The scheduler still had a reference to the incorrect
111           "notify-recipient" attribute (STR #2307)
112         - The "make check" and "make test" subscription tests did
113           not set the locale (STR #2307)
114         - The "make check" and "make test" subscription tests
115           incorrectly used the notify-recipient attribute instead
116           of notify-recipient-uri (STR #2307)
117         - cupsRasterInterpretPPD() incorrectly limited the
118           cupsBorderlessScalingFactor when specified in the
119           job options.
120
121
122 CHANGES IN CUPS V1.2.10
123
124         - ppdLocalize() now supports localizing for Japanese
125           using the "jp" locale name used by the ppdmerge
126           program from the CUPS DDK 1.1.0 (STR #2301)
127         - _cupsAdminSetServerSettings() did not support changing
128           of top-level directives as designed.
129         - The init script path check was broken.
130         - CUPS incorrectly used the attribute "notify-recipient"
131           instead of "notify-recicpient-uri" in several places
132           (STR #2297)
133         - Fixed a configure script bug on MirBSD (STR #2294)
134         - The pdftops filter did not limit the amount of recursion
135           of page sets (STR #2293)
136         - Custom page sizes with fractional point sizes did not
137           work (STR #2296)
138         - The lpoptions command would crash when adding or removing
139           options on a system with no printers (STR #2295)
140
141
142 CHANGES IN CUPS V1.2.9
143
144         - The scheduler did not use the default job-sheets
145           (banners) for implicit classes (STR #2284)
146         - The scheduler could crash when listing complete jobs
147           that had been unloaded from memory (STR #2288)
148         - The French localization was doubled up (STR #2287)
149         - Build system fixes for several platforms (STR #2260,
150           STR #2275)
151         - The scheduler's openssl certificate generation code was
152           broken on some platforms (STR #2282)
153         - The scheduler's log rotation check for devices was
154           broken (STR #2278)
155         - The LPD mini-daemon did not handle the document-format
156           option correctly (STR #2266)
157         - The pdftops filter ignored the "match" size option in the
158           pdftops.conf file (STR #2285)
159         - cupstestppd now validates UTF-8 text strings in
160           globalized PPD files (STR #2283)
161         - The outputorder=reverse option did not work with all
162           printers (STR #2279)
163         - Classes containing other classes did not always work
164           (STR #2255)
165         - Printer location and description information was lost
166           if the corresponding string contained the "#" character
167           (STR #2254)
168         - cupsRemoveOption() did not work properly (STR #2264)
169         - The USB backend did not work with some USB to parallel
170           cables on Mac OS X.
171         - The test page did not print the rulers properly on
172           large media sizes (STR #2252)
173         - The text filter could crash when pretty printing certain
174           types of files (STR #2158)
175
176
177 CHANGES IN CUPS V1.2.8
178
179         - Documentation fixes (STR #2141, STR #2157)
180         - The HTTP upgrade redirection used by the scheduler did
181           not work with Internet Explorer (STR #2235)
182         - Members of a class with Unicode names did not appear
183           correctly in the web interface (STR #2154)
184         - Changing the "Save debugging information" setting in
185           the web interface no longer affects the other server
186           settings (STR #1993)
187         - The scheduler did not choose SSL certificates correctly
188           on Mac OS X (STR #2225)
189         - The scheduler could get in an infinite loop when
190           printing to a remote class (STR #2228)
191         - The jobs web page did not have separating space after
192           the number of pages column (STR #2230)
193         - Added French localization (STR #2221)
194         - Updated Spanish localization (STR #2223)
195         - Updated Japanese localization (STR #2216)
196         - cupsBorderlessScalingFacter was limited to a range of
197           0.9 to 1.1, but some printers need larger values (STR
198           #2222)
199         - Landscape printing of PDF files did not always work
200           (STR #2149)
201         - Fixed slow USB printing on Minolta printers (STR #2104,
202           STR #2219)
203         - The ZPL label printer driver could produce stretched
204           output (PR #6448)
205         - The IPP backend now clears the printer-state-message
206           when there are no outstanding errors or warnings (STR
207           #2126)
208         - The CUPS Java scripting support did not work with
209           recent versions of Java due to the use of Sun's private
210           Base64 class (STR #2152)
211         - The scheduler did not pass HTTP GET form variables to
212           custom CGI programs (STR #2173)
213         - The lpoptions command now displays the reason why a PPD
214           file cannot be found (STR #2184)
215         - The scheduler did not accept "none" as a browse
216           protocol name (STR #2200)
217         - The scheduler still loaded the remote printer cache,
218           even when browsing was disabled (STR #2198)
219         - The SNMP backend now shows OfficeJet printers with the
220           "HP" manufacturer prefix (STR #2151)
221         - Web interface HTML cleanup (STR #2153)
222         - The parallel backend consumed 100% CPU on FreeBSD due
223           to an apparently common parallel port driver bug (STR
224           #2161)
225         - ippReadIO() incorrectly returned IPP_IDLE when the
226           initial IPP message header could not be read (STR
227           #2179)
228         - cupsRasterInterpretPPD() did not support custom options
229           (STR #1960)
230         - Collated output produced by the PostScript filter could
231           lose some options (STR #2137)
232         - job-hold-until with time values for the next day would
233           be held for 60 days (STR #2144)
234         - Some types of Sun raster files did not print correctly
235           (STR #2107)
236         - Raw PBM files did not print correctly (STR #2106)
237         - The SNMP backend no longer uses IPP with HP printers,
238           as some recent firmware versions appear to not work
239           (STR #2055)
240         - cupsMarkOptions() did not handle the
241           multiple-document-handling option (STR #2135)
242         - lpstat did not show the local job ID of active printers
243           (STR #2125)
244         - The backends incorrectly used STATUS:
245           media-tray-empty-error messages for out-of-paper
246           conditions (STR #2123, STR #2124)
247         - cupsGetPPD2() returned the wrong error when the PPD
248           file did not exist (STR #2122)
249         - cupsDoAuthentication() did not translate the password
250           prompt (STR #2121)
251         - httpGetLength2() did not handle error messages without
252           content correctly (STR #2133)
253         - Added support for 32/64-bit libraries on HP-UX Itanium
254           systems (STR #2115)
255         - Fixed a configure script problem with the 32/64-bit
256           library support (STR #2114)
257         - The PostScript filter did not properly output document
258           setup commands for reversed output (STR #2111)
259         - The scheduler did not parse IPv6 netmasks properly (STR
260           #2117)
261
262
263 CHANGES IN CUPS V1.2.7
264
265         - Documentation updates (STR #2089)
266         - Added an Italian translation (STR #2105)
267         - The PostScript filter now rotates the bounding box
268           values as needed (STR #2079)
269         - The scheduler no longer loads the remote printer cache
270           when browsing is disabled (STR #2084)
271         - The scheduler no longer writes a new launchd
272           configuration file if it doesn't have to (STR #2083)
273         - Updated the USB and PAP backends for Mac OS X (STR
274           #2086)
275         - The scheduler now picks up on changes to IPv6 and DNS
276           configuration on Mac OS X (STR #2085)
277         - The lpstat program could still hang (STR #2098)
278         - Fixed an inefficiency in the SNMP IPP detection code
279           (STR #2100)
280         - The SSL negotiation code did not implement short
281           timeouts (STR #2091)
282
283
284 CHANGES IN CUPS V1.2.6
285
286         - The web interface was not localized on Mac OS X (STR
287           #2075)
288         - "lpc status" did not show the number of queued jobs for
289           disabled queues (STR #2069)
290         - The lpstat program could hang (STR #2073)
291         - The serial backend did not support the new USB serial
292           filenames on Linux (STR #2061)
293         - The parallel backend did not support bidirectional I/O
294           properly (STR #2056)
295         - The network backends now log the numeric address that
296           is being used (STR #2046)
297         - Fixed a compile error when using libpaper.
298         - Fixed a compile error when compiling on Solaris with
299           threading enabled (STR #2049, STR #2050)
300         - Missing printer-state-changed event for
301           printer-state-message updates (STR #2047)
302
303
304 CHANGES IN CUPS V1.2.5
305
306         - Documentation updates (STR #2038)
307         - The SNMP backend no longer uses IPP for Epson printers
308           (STR #2028)
309         - Updated the configure script for Tru64 UNIX 5.1 (STR
310           #2033)
311         - Tru64 5.1B's getaddrinfo() and getnameinfo() functions
312           leak file descriptors (STR #2034)
313         - cupsAddDest() didn't add the parent destination's
314           options and attributes.
315         - ppdConflicts() did not handle custom option
316           constraints.
317         - Raw printing of gzip'd files did not work (STR #2009)
318         - The scheduler no longer preserves default option
319           choices when the new PPD no longer provides the old
320           default choice (STR #1929)
321         - The Linux SCSI backend is now only built if the SCSI
322           development headers are installed.
323         - USB printing to Minolta printers did not work (STR
324           #2019)
325         - Windows clients could not monitor the queue status (STR
326           #2006)
327         - The scheduler didn't log the operation name in the
328           access_log file for Create-Job and Print-Job requests.
329         - The PostScript filter now separates collated copies
330           with any required JCL commands so that JCL-based
331           finishing options act on the individual copies and not
332           all of the copies as a single document.
333         - The PostScript filter now disables duplex printing when
334           printing a 1-page document.
335         - cups-lpd didn't pass the correct
336           job-originating-host-name value (STR #2023)
337         - Fixed some speling errors in the German message catalog
338           (STR #2012)
339         - cupstestppd did not catch PPD files with bad
340           UIConstraints values (STR #2016)
341         - The USB backend did not work with the current udev-
342           created printers if the first printer was disconnected
343           (STR #2017)
344         - Mirrored and rotated printing did not work with some
345           documents (STR #2004)
346         - 2-sided printing with banners did not work properly on
347           some printers (STR #2018)
348         - Updated the raw type rule to handle PJL within the
349           first 4k of a print job (STR #1969)
350         - Added an Estonian translation (STR #1957)
351         - Clarified the documentation for the cupsd.conf @LOCAL
352           and @IF(name) allow/deny functionality (STR #1992)
353         - The PostScript filters did not escape the Title and For
354           comments in the print job header (STR #1988)
355         - The scheduler would use 100% CPU if browsing was
356           disabled and the cupsd.conf file contained BrowsePoll
357           lines (STR #1994)
358         - The cupsDirRead() function did not work properly on
359           non-POSIX-compliant systems (STR #2001)
360         - The cupsFile functions didn't handle read/write errors
361           properly (STR #1996)
362         - The DBUS support now works with older versions of the
363           DBUS library.
364
365
366 CHANGES IN CUPS V1.2.4
367
368         - The --with-printcap configure option did not work (STR
369           #1984)
370         - The character set reported by cupsLangGet() did not
371           always reflect the default character set of a given
372           locale (STR #1983)
373         - Older Lexmark and Tektronix printers did not work with
374           IPP (STR #1980)
375         - Failsafe printing did not work (PR #6328)
376         - Some web interface redirects did not work (STR #1978)
377         - The web interface change settings button could
378           introduce a "Port 0" line in cupsd.conf if there was no
379           loopback connection available (STR #1979)
380         - The web interface change settings and edit
381           configuration file buttons would truncate the
382           cupsd.conf file (STR #1976)
383         - The German web interface used the wrong printer icon
384           images (STR #1973)
385         - The "All Documents" link in the on-line help was
386           missing a trailing slash (STR #1971)
387         - The Polish web interface translation used the wrong
388           URLs for the job history (STR #1963)
389         - The "reprint job" button did not work (STR #1956)
390         - The scheduler did not always report printer or job
391           events properly (STR #1955)
392         - The scheduler always stopped the queue on error,
393           regardless of the exit code, if the error policy was
394           set to "stop-printer" (STR #1959)
395         - ppdEmitJCL() included UTF-8 characters in the JCL job
396           name, which caused problems on some printers (STR
397           #1959)
398         - Fixed a buffering problem that cause high CPU usage
399           (STR #1968)
400         - The command-line applications did not convert
401           command-line strings to UTF-8 as needed (STR #1958)
402         - cupsDirRead() incorrectly aborted when reading a
403           symbolic link that pointed to a file/directory that did
404           not exist (STR #1953)
405         - The cupsInterpretRasterPPD() function did not handle
406           custom page sizes properly.
407
408
409 CHANGES IN CUPS V1.2.3
410
411         - The scheduler did not send job-state or
412           job-config-changed events when a job was held,
413           released, or changed (STR #1947)
414         - The scheduler now aborts if the configuration file and
415           directory checks fail (STR #1941)
416         - Fixed a problem with ippPort() not using the port
417           number that was set via the client.conf file or
418           CUPS_SERVER environment variable (STR #1945)
419         - HTTP headers were not buffered (STR #1899)
420         - Some IPP printers (HP) did not like UTF-8 job names
421           (STR #1837)
422         - The CUPS desktop icon is now localized for Polish (STR
423           #1920)
424         - Printer options were not always honored when printing
425           from Windows clients (STR #1839)
426         - The openssl command would lock up the scheduler when
427           generating an encryption certificate on some platforms
428           due to a lack of entropy for the random number
429           generator (STR #1876)
430         - The web admin page did not recognize that "Listen 631"
431           enabled remote access (STR #1908)
432         - The web admin page did not check whether changes were
433           made to the Basic Server Settings check boxes (STR
434           #1908)
435         - The IPP backend could generate N*N copies in certain
436           edge cases.
437         - The scheduler did not restore remote printers properly
438           when BrowseShortNames was enabled (STR #1893)
439         - Polling did not handle changes to the network
440           environment on Mac OS X (STR #1896)
441         - The "make test" subscription tests used invalid
442           notify-recipient-uri values (STR #1910)
443         - Printers could be left in an undefined state on system
444           sleep (STR #1905)
445         - The Berkeley and System V commands did not always use
446           the expected character set (STR #1915)
447         - Remote printing fixes (STR #1881)
448         - The cupstestppd utility did not validate translation
449           strings for custom options properly.
450         - Multi-language PPD files were not properly localized in
451           the web interface (STR #1913)
452         - The admin page's simple settings options did not check
453           for local domain socket or IPv6 addresses and did not
454           use "localhost" as the listen address.
455         - An empty BrowseProtocols, BrowseLocalProtocols, or
456           BrowseRemoteProtocols line would crash the scheduler
457           instead of disabling the corresponding browsing options.
458         - The scheduler now logs IPP operation status as debug
459           messages instead of info or error.
460         - cupsFileRewind() didn't clear the end-of-file state.
461         - cupstestppd didn't report the actual misspelling of the
462           1284DeviceID attribute (STR #1849) 
463         - BrowseRelay didn't work on Debian (STR #1887)
464         - configure --without-languages didn't work (STR #1879)
465         - Manually added remote printers did not work (STR #1881)
466         - The <cups/backend.h> header was not installed.
467         - Updated the build files for Autoconf 2.60 (STR #1853)
468         - The scheduler incorrectly terminated the polling
469           processes after receiving a partial log line.
470         - The cups-lpd mini-daemon reported "No printer-state
471           attribute found" errors when reporting the queue status
472           (PR #6250, STR #1821)
473         - SNMP backend improvements (STR #1737, STR #1742, STR
474           #1790, STR #1835, STR #1880)
475         - The scheduler erroneously reported an error with the
476           CGI pipe (STR #1860)
477         - Fixed HP-UX compile problems (STR #1858, STR #1859)
478         - cupstestppd crashed with some PPD files (STR #1864)
479         - The <cups/dir.h> and <cups/file.h> header files did not
480           work with C++.
481
482
483 CHANGES IN CUPS V1.2.2
484
485         - Documentation updates (STR #1765, STR #1780)
486         - CUPS didn't know about alternate character set names
487           for Asian text (STR #1819)
488         - The lpoptions -o and -r options did not work unless you
489           specified a printer.
490         - The lpoptions command incorrectly allowed users to set
491           printer attributes like printer-type (STR #1791)
492         - httpWait() did not flush the write buffer, causing "bad
493           request" errors when communicating with CUPS 1.1.x
494           servers (STR #1717)
495         - Polling did not sanitize the printer description,
496           location, or make and model strings like broadcasts
497           did.
498         - Polled printers did not show the server's default
499           job-sheets option value.
500         - The Samba password prompt was not properly localized
501           (STR #1814)
502         - Added a German translation (STR #1842)
503         - The scheduler now creates self-signed SSL certficates
504           automatically when using OpenSSL and CDSA for
505           encryption, just as for GNU TLS.
506         - The SNMP backend sporatically reported some printers as
507           "unknown" (STR #1774)
508         - The scheduler now forces BrowseTimeout to be at least
509           twice the BrowseInterval value and non-zero to avoid
510           common configuration errors.
511         - The scheduler incorrectly returned printer URIs of the
512           form "ipp://server/printers/classname" for classes (STR
513           #1813)
514         - Updated Japanese localization (STR #1805)
515         - The scheduler's SSL certificate/key directory was not
516           created on installation (STR #1788)
517         - Added a mailto.conf man page and help page (STR #1754)
518         - The parallel and USB backends no longer wait for the
519           printer to go on-line - this caused problems with
520           certain printers that don't follow with the IEEE-1284
521           standard (STR #1738)
522         - The scheduler could crash on a reload when implicit
523           classes were present (STR #1828)
524         - The IPP backend incorrectly used the CUPS_ENCRYPTION
525           environment variable to determine the default
526           encryption mode when printing (STR #1820)
527         - USB printing did not work on Solaris (STR #1756)
528         - The scheduler sorted job priorities in the wrong order
529           (STR #1811)
530         - The scheduler did not automatically restart notifiers
531           that exited or crashed (STR #1793)
532         - IPv6 support did not work on NetBSD (STR #1834)
533         - The EPM packaging file did not work (STR #1804)
534         - The scheduler used up the CPU if BrowseRemoteProtocols
535           was empty (STR #1792)
536         - Custom page sizes did not work (STR #1787)
537         - The SNMP backend could crash on some systems when SNMP
538           logging was enabled (STR #1789)
539         - Browsing could produce some funny printer names when
540           ServerName was set to an IP address (STR #1799)
541         - Fixed the log message for BrowseRelay (STR #1798)
542         - Fixes to allow CUPS to compile on MirBSD (STR #1796)
543         - The scheduler incorrectly set the FINAL_CONTENT_TYPE
544           environment variable (STR #1795)
545         - The pdftops filter incorrectly embedded a "produced by"
546           comment, causing PDF printing not to work on some
547           operating systems (STR #1801)
548         - Sending raw jobs from a client system could cause the
549           client's scheduler to eventually crash (STR #1786)
550         - The scheduler now checks that the notifier exists prior
551           to accepting a new subscription request.
552         - The scheduler now reports the supported
553           notify-recipient schemes based on the contents of the
554           ServerBin/notifier directory.
555         - Event notifications did not include the
556           notify-sequence-number or other required attributes
557           (STR #1747)
558         - Allow/Deny addresses of the form "11.22.33.*" did not
559           work on Linux (STR #1769)
560         - cupsGetPPD() did not work if the scheduler was only
561           listening on a domain socket (STR #1766)
562         - The scheduler could crash advertising a class (STR
563           #1768)
564         - The scheduler could crash if the default printer was
565           deleted (STR #1776)
566         - Added a new default CUPS raster format (v3) which does
567           not compress the raster stream in order to provide the
568           same cupsRasterReadPixels() and cupsRasterWritePixels()
569           performance as CUPS 1.1.x.
570         - The cupsaddsmb man page listed the wrong files for the
571           CUPS driver.
572         - Some configure --with options did not work (STR #1746)
573         - "Allow @IF(name)" didn't work if "name" wasn't the
574           first network interface (STR #1758)
575         - The lpstat command did not use the correct character
576           set when reporting the date and time (STR #1751)
577         - The cupsaddsmb command and web interface did not update
578           the Windows PPD files properly, resulting in corrupt
579           PPD files for the Windows client to use (STR #1750)
580         - The cupsd.conf man page didn't describe the Listen
581           domain socket syntax (STR #1753)
582         - The scheduler no longer tries to support more than
583           FD_SETSIZE file descriptors.
584         - CDSA (encryption) support fixes for MacOS X.
585         - The lppasswd program needs to be setuid to root to
586           create and update the /etc/cups/passwd.md5 file (STR
587           #1735)
588         - 32/64-bit library installation was broken (STR #1741)
589         - The USB backend now reports a "no such device" error
590           when using the old filename-based USB URIs instead of
591           the "success" error.
592         - Increased the HTTP and IPP read timeouts to 10 seconds,
593           as 1 second was too short on congested networks (STR
594           #1719)
595         - The SNMP backend now uses the device description over
596           the printer-make-and-model attribute when the attribute
597           contains a generic name (STR #1728)
598         - Fixed another file descriptor leak when printing raw
599           files (STR #1736)
600         - Raw queues were not shared via LDAP (STR #1739)
601         - The pstops filter didn't always embed PageSetup
602           commands from the PPD file (STR #1740)
603         - "make install" didn't work if you disabled all of the
604           localizations.
605         - The scheduler didn't always choose the least costly
606           filter.
607         - Fixed parsing of IPv6 addresses in Allow, Deny,
608           BrowseAllow, BrowseDeny, and BrowseRelay directives
609           (STR #1713)
610         - Printers that were shared via LDAP did not get added to
611           the LDAP server properly (STR #1733)
612         - LDAP browsing would crash the scheduler if a required
613           value was missing (STR #1731)
614         - Special cases for the "localhost" hostname did not
615           work, causing printing to not work when the /etc/hosts
616           file did not contain a localhost entry (STR #1723)
617         - Updated the Spanish translation (STR #1720, STR #1770)
618         - Reverse-order page output was broken when N-up or
619           landscape orientations were used (STR #1725)
620         - The parallel, serial, socket, and USB backends needed
621           print data before they would report back-channel data,
622           causing problems with several new drivers (STR #1724)
623
624
625 CHANGES IN CUPS V1.2.1
626
627         - "lprm -h hostname" did not work (STR #1800)
628         - The web interface did not handle reloads properly for
629           MSIE (STR #1716)
630         - The configure script no longer adds linker rpath
631           options when they are unnecessary.
632         - The scheduler could crash printing a debug message on
633           Solaris (STR #1714)
634         - The --enable-32bit and --enable-64bit configure options
635           did not always work.
636         - The password prompt showed the domain socket address
637           instead of "localhost" for local authentication (STR
638           #1706)
639         - The web interface filtered the list of printers even if
640           the user wasn't logged in (STR #1700)
641         - The IPP backend did not work reliably with some Xerox
642           printers (STR #1704)
643         - Trailing banners were not added when printing a single
644           file (STR #1698)
645         - The web interface support programs crashed on Solaris
646           (STR #1699)
647         - cupstestppd incorrectly reported problems with
648           *1284DeviceID attributes (STR #1710)
649         - Browsing could get disabled after a restart (STR #1670)
650         - Custom page sizes were not parsed properly (STR #1709)
651         - The -U option wasn't supported by lpadmin (STR #1702)
652         - The -u option didn't work with lpadmin (STR #1703)
653         - The scheduler did not create non-blocking back-channel
654           pipes, which caused problems when the printer driver
655           did not read the back-channel data (STR #1705)
656         - The scheduler no longer uses chunking in responses to
657           clients - this caused problems with older versions of
658           CUPS like 1.1.17 (PR #6143)
659         - Automatic raw printing was broken (STR #1667)
660         - 6-up printing was broken (STR #1697)
661         - The pstops filter did not disable CTRL-D processing on
662           the printer/RIP.
663         - ppdOpen*() did not load custom options properly (STR
664           #1680)
665         - "Set Printer Options" in the web interface did not
666           update the DefaultImageableArea or
667           DefaultPaperDimension attributes in the PPD file (STR
668           #1689)
669         - Fixed compile errors (STR #1682, STR #1684, STR #1685,
670           STR #1690)
671         - The lpstat command displayed the wrong error message
672           for a missing destination (STR #1683)
673         - Revised and completed the Polish translation (STR
674           #1669)
675         - Stopped jobs did not show up in the list of active jobs
676           (STR #1676)
677         - The configure script did not use the GNU TLS
678           "libgnutls-config" script to find the proper compiler
679           and linker options.
680         - The imagetoraster filter did not correctly generate
681           several 1, 2, and 4-bit color modes.
682         - cupsRasterWritePixels() could lose track of the current
683           output row.
684         - cupsRasterReadPixels() did not automatically swap
685           12/16-bit chunked pixel data.
686         - Moved the private _cups_raster_s structure out of the
687           public header.
688         - Updated the CUPS raster format specification to include
689           encoding rules and colorspace definitions.
690         - The Zebra PPD files had the wrong PostScript code for
691           the "default" option choices.
692         - The imagetoraster filter did not generate correct CIE
693           XYZ or Lab color data.
694         - The cups-config script did not work when invoked from a
695           source directory (STR #1673)
696         - The SNMP backend did not compile on systems that used
697           the getifaddrs emulation functions (STR #1668)
698
699
700 CHANGES IN CUPS V1.2.0
701
702         - Documentation updates (STR #1618, STR #1620, STR #1622,
703           STR #1637)
704         - Static file copy buffers reduced from 64k to 32k to
705           work around bogus MallocDebug library assumptions (STR
706           #1660)
707         - The scheduler did not decode the backend exit code
708           properly (STR #1648)
709         - The MacOS X USB backend did not report the 1284 device ID,
710           nor did it fix device IDs returned by HP printers.
711         - The scheduler started more slowly than 1.1.x with large
712           numbers of printers (STR #1653)
713         - cupsRasterInterpretPPD() didn't support the
714           cupsPreferredBitsPerColor attribute, and imagetoraster
715           didn't use the new API.
716         - The "make test" script did not create all of the necessary
717           subdirectories for testing (STR #1638)
718         - The scheduler did not prevent rotation of logs
719           redirected to /dev/null (STR #1651)
720         - "make test" did not include the SNMP backend in the
721           test environment (STR #1625)
722         - The EPM packaging files did not work (STR #1621)
723         - "Use Default Configuration" inserted a broken
724           configuration file (STR #1624)
725         - Redirects in the web interface did not always preserve
726           the encrypted status of a connection (STR #1603)
727         - Added the Apple "pap" backend.
728         - Added CUPS library to CUPS Image shared library
729           linkage to support Linux --as-needed linker option
730           (STR #1606)
731         - Fixed support for --enable-pie (STR #1609)
732         - The pdftops filter did not validate the length of the
733           encryption key (STR #1608)
734         - Updated the Polish localization.
735         - "Encryption Required" in the cupsd.conf file now only
736           requires encryption when the connection is not over the
737           loopback interface or domain socket.
738         - Printer names containing "+" were not quoted properly in
739           the web interface (STR #1600)
740         - The SNMP backend now reports the make and model in the
741           information string so that the auto-generated printer
742           name is more useful than just an IP address.
743
744
745 CHANGES IN CUPS V1.2rc3
746
747         - The cups-lpd program always did reverse lookups on the
748           client address, which could be a performance problem.
749           Added a "-n" option to disable lookups.
750         - When configured with SSL support, require encryption by
751           default when displaying the /admin location (STR #1592)
752         - The next job ID was not computed correctly if the job
753           cache file got out of sync with the spool directory
754           (STR #1582)
755         - The PNG image handling code used deprecated functions
756           from libpng (STR #1587)
757         - Added a Polish translation (STR #1584, STR #1586)
758         - More changes to the scheduler to improve battery life
759           on portable devices (STR #1583)
760         - Changed the default log level for status messages back
761           to "DEBUG" to be consistent with CUPS 1.1.x (STR #1579)
762         - The error string was not set properly when
763           cupsDoFileRequest() was given the name of a directory
764           (STR #1578)
765         - Fixed handling of job-hold-until (STR #1581)
766         - Added explicit notes to the cupsaddsmb man page
767           explaining that the driver filenames are case-sensitive
768           under UNIX and that they must be all lowercase (Windows
769           2000) or all UPPERCASE (Windows 95/98/Me) to work (STR
770           #1568)
771         - The USB backend incorrectly split the manufacturer name
772           if it contained spaces (STR #1566)
773         - The scheduler would hang when listing PPD files for a
774           manufacturer whose name contained spaces (STR #1567)
775         - Added the SNMP backend for network printer discovery
776           (STR #1555)
777         - cupstestppd now fails PPD files with 1284DeviceId
778           instead of 1284DeviceID, and cups-driverd uses a
779           case-insensitive comparison when looking for it (STR
780           #1573)
781         - cupsDoFileRequest() and cupsDoRequest() now work
782           properly with non-blocking HTTP connections.
783         - Added Swedish translation (STR #1569)
784         - "make install" now installs the MIME files with world
785           read permissions (STR #1565)
786         - More CDSA encryption support fixes (STR #1563)
787         - Updated the default mime.types file to support printing
788           of files that do not have a locally-recognized MIME
789           media type to raw or System V queues.
790         - Updated the serial port detection code on Linux (STR
791           #1562)
792         - Added some more error checking to httpGetHostname()
793           (STR #1561)
794         - The title of some administration pages was not
795           localized (STR #1548)
796         - The edit-config.tmpl file was not generated or
797           installed for the Spanish or Japanese localizations
798           (STR #1547)
799         - The mimeDelete() function freed the types before the
800           filters, but the filters needed the type data (STR #1558)
801         - The scheduler didn't keep track of the status pipes
802           properly, leading to a bad select() for multi-file jobs
803           (STR #1559)
804         - The cupstestdsc program didn't validate the ordinal
805           page number value for %%Page: comments.
806
807
808 CHANGES IN CUPS V1.2rc2
809
810         - The scheduler was not always using the string pool,
811           causing random crashes.
812         - The lpmove and the web interface's Move Job button did
813           not work with stopped jobs (STR #1534)
814         - The PostScript filter did not handle the page-set
815           option properly with number-up printing (STR #1543)
816         - The scheduler now only warns about unsupported ACLs
817           once (STR #1532)
818         - The "fitplot" option did not work with output from
819           Mozilla (STR #1542)
820         - The imagetops filter did not work with Level 2 or 3
821           printers (STR #1533)
822         - The scheduler now recognizes PostScript files with PJL
823           commands that do not include an ENTER LANGUAGE command.
824         - Added --with-printcap configure option.
825         - 64-bit SSL fixes for MacOS X.
826         - The scheduler didn't send some printer state change
827           events.
828         - The scheduler didn't send jobs to busy remote printers.
829         - Fixed some problems with the launchd support.
830         - Added new USB printer backend for MacOS X.
831         - The PostScript filter now handles files that start with
832           an incomplete PJL header (PR #6076)
833         - The web interface language selection code did not try
834           the generic language localization (STR #1531)
835         - The language cache, string pool, and transcoding caches
836           are now process global instead of per-thread to avoid
837           problems with GNOME and to allow for data sharing
838           between threads (STR #1530)
839         - Fixed a CUPS 1.1.x compatibility bug (STR #1528)
840         - The web interface redirection after certain printer
841           administration tasks was broken (STR #1516)
842         - Web interface authorization could get stuck (STR #1512)
843         - Localization updates (STR #1513, STR #1518, STR #1520)
844         - The pstops filter didn't work with some files (STR
845           #1523)
846         - "./configure --enable-static" didn't work (STR #1522)
847         - The scheduler was not using the configured default
848           Group (STR #1521)
849         - The web interface still did not show the localized time
850           and date for some locales and systems (STR #1509)
851         - httpAddrGetList() would crash on systems without
852           getaddrinfo().
853         - Socket URIs without a trailing slash would cause the
854           port number to not be accepted (STR #1519)
855         - Local raw and System V printers were not advertised as
856           such for printer browsing (STR #1502)
857         - The RPM spec file incorrectly put duplicate copies of
858           the Japanese and Spanish web interface templates in the
859           main cups package (STR #1517)
860         - cupsSetDests() did not explicitly set the permissions
861           of the /etc/cups/lpoptions file (STR #1508)
862         - The lpq command crashed with the -h option (STR #1515)
863
864
865 CHANGES IN CUPS V1.2rc1
866
867         - Documentation updates (STR #1497, STR #1498)
868         - The scheduler now redirects browsers to https: URLs
869           when encryption is required.
870         - The scheduler would crash when printing with a banner
871           (STR #1500)
872         - cups-driverd did not use the LanguageEncoding attribute
873           in PPD files to convert the NickName to UTF-8 (STR
874           #1503)
875         - The lpadmin command could not set the
876           printer-error-policy attribute (STR #1504)
877         - The web interface did not show the time and date in the
878           correct format for the locale (STR #1505)
879         - CUPS no longer accepts print jobs if a printer does not
880           support the file format (STR #1501)
881         - Cleaned up the PostScript filter (pstops) so that it
882           properly supports %%IncludeFeature and page scaling
883           (STR #1453)
884         - Fixed the cupsFileRewind() and cupsFileSeek() functions
885           to work properly with uncompressed files.
886         - Added cupsFileGetLine(), cupsFileStderr(),
887           cupsFileStdin(), and cupsFileStdout() functions to the
888           CUPS library.
889         - Added a new cupstestdsc program to test the DSC
890           conformance of PostScript files.
891         - Added KDE/GNOME icons and a Manage Printers menu item.
892         - Added --enable-image and --enable-pdftops configure
893           options to control whether the image and PDF filters
894           are built and installed (default = yes for all
895           platforms but MacOS X)
896         - Fixed a minor memory leak in the PPD API.
897         - Fixed transcoding issues (STR #1493)
898         - The scheduler now enforces a minimum job cost of 100
899           when doing FilterLimit checks.
900         - The scheduler would leak file descriptors when printing
901           to raw queues (STR #1491)
902         - The IPv6 support did not compile on Tru64 UNIX (STR
903           #1488)
904         - ppdOpen2() now converts the NickName and all UI text to
905           UTF-8 (STR #1475)
906         - The Set Allowed Users web page did not work (STR #1486)
907         - When the default policy was not set or set to a non-
908           existing policy, the scheduler did not set the default
909           policy name to "default" (STR #1484)
910         - The Zebra CPCL driver did not use the correct righthand
911           margin for the 4" wide label sizes.
912         - Fixed a problem with the parsing of fractional real
913           numbers in PPD files.
914         - Added Spanish localization files (STR #1480)
915         - Fixed localization of a few scheduler messages (STR
916           #1478)
917         - Fixed support for HEAD requests in the scheduler (STR
918           #1481)
919
920
921 CHANGES IN CUPS V1.2b2
922
923         - Updated the CUPS design description.
924         - Added --enable-32bit and --enable-64bit configure
925           options to allow building of separate 32/64-bit
926           libraries on systems that support both environments
927           (STR #1472)
928         - Various compiler warning fixes.
929         - Fixes for Solaris 10 builds against old GNU TLS and
930           LDAP libraries.
931         - Added a cupsArrayUserData() function to retrieve the
932           user data pointer for an array (useful for typing
933           arrays)
934         - The ppdEmitString() function did not compute the
935           required buffer size properly, leading to dropped
936           characters on the end of the printer commands in pstops
937           and imagetops (STR #1470)
938
939
940 CHANGES IN CUPS V1.2b1
941
942         - The serial backend now supports Equinox 8-port serial
943           hubs (STR #526)
944         - The IPP backend now supports a compression option to
945           compress print files as they are sent to the remote
946           server (STR #956)
947         - The CUPS browse protocol now supports passing of
948           default options and browse timeout values from the
949           server to the clients (STR #800)
950         - Implicit classes that timed out could cause the
951           scheduler to crash (STR #1439)
952         - Added DragonFly support in local device backends (STR
953           #1362)
954         - Added LDAP printer browsing support (STR #338)
955         - Added official support for printer maintenance commands
956           via the CUPS Command file format and hooks in the
957           printer-type and web interfaces (STR #932)
958         - The HP-GL/2 filter could get in an infinite loop trying
959           to convert HP-PCL files (STR #1415)
960         - CUPS now implements the HTTP/1.1 Expect header (STR
961           #1407)
962         - Options in PPD files are no longer automatically put in
963           an "Extra" group; rather, all options that are not
964           inside an Open/CloseGroup will be placed in the
965           "General" group (STR #1385)
966         - The scheduler now creates a job-uuid attribute that
967           uniquely identifies a job on a network (STR #1410)
968         - The init script now unsets the TMPDIR environment
969           variable to prevent user temporary directories from
970           being used by cupsd accidentally (STR #1424)
971         - Added support for launchd on MacOS X.
972         - Added support for notify_post on MacOS X.
973         - Added support for DBUS on Linux.
974         - All of the Berkeley (except for lpc) and System V
975           commands now support specification of user, host, and
976           port (STR #1028, STR #1029, STR #1087)
977         - The lpmove command now allows you to move all jobs for
978           a given queue (STR #56)
979         - The web interface now supports moving of a job or jobs
980           to another queue (STR #56)
981         - The web interface now provides searching, paging, and
982           changing of the sort/display order of classes, jobs,
983           and printers.
984         - cupsaddsmb now accepts a password on the command-line
985           and supports passwords with special characters (STR
986           #822, STR #1236)
987         - ppdLoad*() no longer tries to "fix" bad characters in
988           UI text (STR #1101)
989         - Printer names can now (reliably) contain Unicode
990           characters (STR #896)
991         - The lpstat command now shows the time and date of the
992           last printer state change instead of the hardcoded "Jan
993           01 00:00" (STR #659)
994         - The scheduler now adds a job-actual-printer-uri
995           attribute to job objects when printing to a class (STR
996           #116)
997         - The scheduler now logs log file open errors to the
998           system log (STR #1289)
999         - The scheduler now sets the job-originating-user-name to
1000           the authenticated username, if available (STR #1318)
1001         - The scheduler now only updates the permissions of SSL
1002           keys and certificates when they are under the
1003           ServerRoot directory (STR #1324)
1004         - The rastertodymo driver has been renamed to
1005           rastertolabel (a symlink is installed so that existing
1006           queues continue to work) and now also supports Zebra's
1007           CPCL language.
1008         - The lpstat command could show the wrong active job for
1009           a printer (STR #1301)
1010         - Fixed a potential crash problem in the scheduler when
1011           aborting a CGI program (STR #1290)
1012         - Added a "cancel all jobs" button to the class and
1013           printer web interfaces (STR #1140)
1014         - The add-printer web page now shows the
1015           set-printer-options page after the printer has been
1016           added (STR #690)
1017         - The classes web page now provides links to each of the
1018           member printers (STR #307)
1019         - CUPS now handles HTTP request/response lines up to 32k
1020           in length; this is mainly for better cookie support
1021           (STR #1274)
1022         - Added support for the Apache PassEnv and SetEnv
1023           directives to cupsd.conf (STR #853)
1024         - Added large file (64-bit) support (STR #541)
1025         - Fixed a performance issue with the ippReadIO()
1026           implementation (STR #1284)
1027         - Fixed a performance issue with the scheduler's implicit
1028           class implementation (STR #1283)
1029         - The pdftops filter now adds the Title and Creator
1030           fields from the PDF file to the PostScript document
1031           comments section (STR #539, STR #830)
1032         - Added a new cups_array_t and cupsArray*() functions to
1033           the CUPS API to support sorted lists of data.
1034         - Made the CUPS API library thread-safe (STR #1276)
1035         - Added "media" option support for EFI EFMediaType option
1036           (STR #902)
1037         - Added write buffering to the HTTP code to improve
1038           performance (STR #547)
1039         - The scheduler now uses the attributes-natural-language
1040           attribute to localize banner pages (STR #386)
1041         - The scheduler now returns the address that was used to
1042           connect to it (STR #1076)
1043         - Fixed a problem with N-up printing and OpenOffice (STR
1044           #576)
1045         - Added support for the GCC position independent
1046           executable options (STR #1209)
1047         - Added new BrowseLocalProtocols and
1048           BrowseRemoteProtocols directives to cupsd.conf,
1049           allowing for different browse protocols for local and
1050           remote printers (STR #877)
1051         - PPD files can now contain strings up to 256k in length
1052           (STR #1215)
1053         - The pstops filter now supports the IncludeFeature DSC
1054           comment (STR #1212)
1055         - The pstops filter now disables the setpagedevice
1056           procedure when doing N-up printing (STR #1161)
1057         - The serial backend now supports "stop=1", "stop=2",
1058           "parity=space", and "parity=mark" options (STR #1155)
1059         - "make install" no longer overwrites an existing PAM
1060           configuration file (STR #1064)
1061         - The scheduler now closes all files on startup when run
1062           in daemon mode (STR #1009)
1063         - Added a new RGBW colorspace to the CUPS raster format
1064           (STR #1071)
1065         - The pdftops filter now sets the page size based on the
1066           media box when not scaling the output (STR #912)
1067         - The pdftops filter now supports masked images (STR
1068           #281)
1069         - The pdftops filter produced large output when rendering
1070           PDF files containing lot of repeated images (STR #327)
1071         - The pdftops filter now minimizes print processing of
1072           PDF files when using the page-ranges option (STR #273)
1073         - Updated pdftops filter to Xpdf 3.01.
1074         - Added new cupsBackchannelRead() and
1075           cupsBackchannelWrite() functions, as well as
1076           backchannel support to the parallel, serial, socket,
1077           and USB backends (STR #1252)
1078         - The parallel and USB backends now treat a "no space
1079           available" error as an out-of-paper condition (STR
1080           #1225)
1081         - The "lpc" command now supports the "status all" command
1082           (STR #1004)
1083         - ippReadIO() did not read collections properly (STR
1084           #1249)
1085         - The "make test" script now creates the test files in
1086           "/tmp/cups-$USER" instead of "/tmp/$USER" (STR #981)
1087         - All backends now abort on error when printing a job to
1088           a class - this allows the next printer in the class to
1089           print the job (STR #1084)
1090         - The scheduler now verifies that a printer supports
1091           Letter or A4 media sizes before setting them as the
1092           initial default (STR #1250)
1093         - The cupstestppd program now flags bad Resolution
1094           options (STR #1269)
1095         - The USB backend now retries printing when the printer
1096           is disconnected or turned off (STR #1267)
1097         - Added new httpGetHostname() function to CUPS API, and
1098           use it instead of gethostname() so that the web
1099           interface will work correctly on systems whose hostname
1100           is not the FQDN (STR #1266)
1101         - The scheduler now stops printers if the backend for the
1102           queue is missing on startup (STR #1265)
1103         - The configure script now supports "--disable-library"
1104           to disable particular image file format support
1105           libraries, even if they are available on the build
1106           system (STR #1248)
1107         - The IPP backend did not always report on the total
1108           number of pages that were printed (STR #1251)
1109         - The lpstat program could display garbage date and time
1110           values for locales whose date format exceeded 31
1111           characters (STR #1263)
1112         - The cupstestppd program would segfault when testing
1113           certain broken PPD files (STR #1268)
1114         - Dramatically reduced the overhead of implicit classes.
1115         - Added new cupsDir*() functions to CUPS API.
1116         - Printers can now be published individually for sharing.
1117         - Fixed a bug in the scheduler's startup signalling code
1118           which caused cupsd to send the SIGUSR1 signal to the
1119           init process instead of the original parent process
1120           (STR #1258)
1121         - Added new on-line help CGI to web interface to provide
1122           searchable help.
1123         - Devices are now tracked dynamically, with each query
1124           doing a new device scan.  This eliminates a previous
1125           startup delay caused by slow backends and allows new
1126           printers to be seen without restarting the server,
1127           however it limits the amount of device URI checking
1128           that can be done (basically now the scheduler only
1129           requires a URI with a method that is a listed backend)
1130         - Added new printer auto-detection, server configuration,
1131           and log file viewing to the administration web page.
1132         - Added new "set allowed users" web interface to set the
1133           list of allowed users for a printer or class.
1134         - The scheduler, command-line, and web interfaces now
1135           limit the list of printers and classes to those
1136           accessible by a user.
1137         - cupsMarkOptions() now handles more non-standard
1138           duplexing options and choices (STR #915)
1139         - cups-lpd now honors remote banner requests with the
1140           "standard" banner whenever a printer does not have one
1141           defined (STR #1220)
1142         - The scheduler's denial-of-service checks did not work
1143           properly with IPv6 addresses (STR #1134)
1144         - The lp and lpr commands did not error out properly when
1145           they were unable to write to a temporary file (STR
1146           #1129)
1147         - The pstops filter did not handle Adobe-specific
1148           comments in Windows NT driver output (STR #1085)
1149         - "lpstat -l -p" incorrectly reported the printer
1150           interface (STR #936)
1151         - The web interface now operates exclusively with the
1152           UTF-8 encoding, and sends the appropriate character set
1153           and header information to the web browser (STR #919,
1154           STR #1007)
1155         - Added a "set allowed users" interface to the web
1156           interface so that you can set the list of allowed or
1157           denied users/groups for a printer or class.
1158         - Disallow the "#" character in printer names, since it
1159           has special meaning in the shell, config files, and in
1160           URIs (STR #917, STR #1202)
1161         - Added a new application/x-csource MIME type, and
1162           support for it to the texttops filter so that you can
1163           pretty print plain text files without the C/C++
1164           keywords being highlighted.
1165         - The pdftops filter did not compile with GCC 4.0 (STR
1166           #1226)
1167         - The texttops filter did not highlight preprocessor
1168           directives followed by a tab properly.
1169         - HP PJL output now uses both JOB DISPLAY and RDYMSG
1170           commands to show the current job on the printer's
1171           display (STR #1218)
1172         - Local authentication certificates are now stored in
1173           /var/run/cups/certs by default instead of
1174           /etc/cups/certs (STR #1211)
1175         - Backends now use "&" to separate options in device
1176           URIs; "+" is still recognized but is deprecated (STR
1177           #842)
1178         - The USB backend no longer supports the usb:/dev/foo
1179           format on systems that support device ID queries.
1180         - Forced classification markings did not work when the
1181           job-sheets parameters were "none,none".
1182         - "lpstat -l -p" incorrectly showed all users as allowed,
1183           even if the queue was restricted to certain users (STR
1184           #801)
1185         - The scheduler now automatically detects SSL/TLS clients
1186           without using the SSLPort/SSLListen directives.
1187         - The CUPS API and scheduler no longer support SSLv2-
1188           encrypted connections.
1189         - Updated the cupsaddsmb utility to correctly export the
1190           CUPS driver for Windows.
1191         - Fixed a signal-handling bug in httpRead() which
1192           ultimately caused the server to print multiple copies
1193           when it was busy (STR #1184)
1194         - The cupsFile API now uses the O_APPEND option when
1195           opening files in append mode (STR #990)
1196         - The md5.h header and md5_* functions are now officially
1197           private and have been renamed to avoid conflicts with
1198           other implementations with the same name.
1199         - The pdftops filter incorrectly embedded some Type1
1200           fonts (STR #1093)
1201         - The scheduler didn't detect a closed connection in the
1202           middle of an IPP request (STR #1153)
1203         - The scheduler could block trying to read the job status
1204           if there was input pending and the job was cancelled in
1205           the same input cycle (STR #1157)
1206         - The scheduler could crash when deleting a class due to
1207           infinite recursion.
1208         - Updated the Zebra ZPL label printer driver to use the
1209           run-length encoding and support more options.
1210         - Updated serial backend to scan for /dev/ttyC* as well
1211           as /dev/ttyc* for Cyclades serial ports (STR #1049)
1212         - The scheduler could hang reading the job status under
1213           certain circumstances (STR #1068)
1214         - The USB backend termination signal code was inverted
1215           (STR #1046)
1216         - Moved enable and disable commands to sbindir to be
1217           consistent.
1218         - Added new cupsRasterInterpretPPD() function for RIP
1219           filters to setup the raster page header from
1220           PostScript commands in a PPD file.
1221         - The CUPS browsing protocol now offers a "delete" bit
1222           to remove printers as soon as they are deleted on the
1223           server or as soon as the server shuts down gracefully
1224           (STR #793)
1225         - The CUPS_SERVER and ServerName directives (client.conf
1226           and ~/.cupsrc) may now contain names of the form
1227           "server:port" and "/path/to/domain/socket".
1228         - The "cancel -u user" command now works for ordinary
1229           users (STR #751)
1230         - Added test run support to "make test" target (STR #64)
1231         - Added domain socket support (STR #656)
1232         - Added BrowseLocalOptions directive to allow the
1233           administrator to add printer URI options to the browse
1234           URI, e.g. "encryption=required" (STR #732)
1235         - Added BrowseRemoteOptions directive to allow the
1236           administrator to add standard URI options to the
1237           remote printer URI, e.g. "encryption=required" (STR
1238           #732)
1239         - Now put "-I.." compiler option in front of all others
1240           to ensure that local CUPS headers are used before
1241           installed headers (STR #437)
1242         - New cupsLangPrintf() and cupsLangPuts() for localized
1243           interfaces.
1244         - Now support custom attributes and extended options in
1245           PPD files.
1246         - Now provide functions to save PPD files.
1247         - New policy mechanism allows per-operation and
1248           per-printer control over what users and groups are
1249           allowed to do various IPP operations.
1250         - New error policy mechanism to control how aborted
1251           backend errors are handled by the scheduler
1252           (abort-job, retry-job, requeue-job, stop-printer)
1253         - Updated the printer test page with a better color
1254           wheel and a separate grayscale ramp.
1255         - A single backend process is now run to send all print
1256           data for a job.
1257         - Backends and filters can now send and receive
1258           backchannel data over file descriptor 3.
1259         - Updated the raster stream format to support more
1260           user-defined attributes and to do compression of the
1261           page data.