1 CHANGES.txt - 2006-09-21
2 ------------------------
6 - The --with-printcap configure option did not work (STR
8 - The character set reported by cupsLangGet() did not
9 always reflect the default character set of a given
11 - Older Lexmark and Tektronix printers did not work with
13 - Failsafe printing did not work (PR #6328)
14 - Some web interface redirects did not work (STR #1978)
15 - The web interface change settings button could
16 introduce a "Port 0" line in cupsd.conf if there was no
17 loopback connection available (STR #1979)
18 - The web interface change settings and edit
19 configuration file buttons would truncate the
20 cupsd.conf file (STR #1976)
21 - The German web interface used the wrong printer icon
23 - The "All Documents" link in the on-line help was
24 missing a trailing slash (STR #1971)
25 - The Polish web interface translation used the wrong
26 URLs for the job history (STR #1963)
27 - The "reprint job" button did not work (STR #1956)
28 - The scheduler did not always report printer or job
29 events properly (STR #1955)
30 - The scheduler always stopped the queue on error,
31 regardless of the exit code, if the error policy was
32 set to "stop-printer" (STR #1959)
33 - ppdEmitJCL() included UTF-8 characters in the JCL job
34 name, which caused problems on some printers (STR
36 - Fixed a buffering problem that cause high CPU usage
38 - The command-line applications did not convert
39 command-line strings to UTF-8 as needed (STR #1958)
40 - cupsDirRead() incorrectly aborted when reading a
41 symbolic link that pointed to a file/directory that did
43 - The cupsInterpretRasterPPD() function did not handle
44 custom page sizes properly.
47 CHANGES IN CUPS V1.2.3
49 - The scheduler did not send job-state or
50 job-config-changed events when a job was held,
51 released, or changed (STR #1947)
52 - The scheduler now aborts if the configuration file and
53 directory checks fail (STR #1941)
54 - Fixed a problem with ippPort() not using the port
55 number that was set via the client.conf file or
56 CUPS_SERVER environment variable (STR #1945)
57 - HTTP headers were not buffered (STR #1899)
58 - Some IPP printers (HP) did not like UTF-8 job names
60 - The CUPS desktop icon is now localized for Polish (STR
62 - Printer options were not always honored when printing
63 from Windows clients (STR #1839)
64 - The openssl command would lock up the scheduler when
65 generating an encryption certificate on some platforms
66 due to a lack of entropy for the random number
68 - The web admin page did not recognize that "Listen 631"
69 enabled remote access (STR #1908)
70 - The web admin page did not check whether changes were
71 made to the Basic Server Settings check boxes (STR
73 - The IPP backend could generate N*N copies in certain
75 - The scheduler did not restore remote printers properly
76 when BrowseShortNames was enabled (STR #1893)
77 - Polling did not handle changes to the network
78 environment on Mac OS X (STR #1896)
79 - The "make test" subscription tests used invalid
80 notify-recipient-uri values (STR #1910)
81 - Printers could be left in an undefined state on system
83 - The Berkeley and System V commands did not always use
84 the expected character set (STR #1915)
85 - Remote printing fixes (STR #1881)
86 - The cupstestppd utility did not validate translation
87 strings for custom options properly.
88 - Multi-language PPD files were not properly localized in
89 the web interface (STR #1913)
90 - The admin page's simple settings options did not check
91 for local domain socket or IPv6 addresses and did not
92 use "localhost" as the listen address.
93 - An empty BrowseProtocols, BrowseLocalProtocols, or
94 BrowseRemoteProtocols line would crash the scheduler
95 instead of disabling the corresponding browsing options.
96 - The scheduler now logs IPP operation status as debug
97 messages instead of info or error.
98 - cupsFileRewind() didn't clear the end-of-file state.
99 - cupstestppd didn't report the actual misspelling of the
100 1284DeviceID attribute (STR #1849)
101 - BrowseRelay didn't work on Debian (STR #1887)
102 - configure --without-languages didn't work (STR #1879)
103 - Manually added remote printers did not work (STR #1881)
104 - The <cups/backend.h> header was not installed.
105 - Updated the build files for Autoconf 2.60 (STR #1853)
106 - The scheduler incorrectly terminated the polling
107 processes after receiving a partial log line.
108 - The cups-lpd mini-daemon reported "No printer-state
109 attribute found" errors when reporting the queue status
110 (PR #6250, STR #1821)
111 - SNMP backend improvements (STR #1737, STR #1742, STR
112 #1790, STR #1835, STR #1880)
113 - The scheduler erroneously reported an error with the
115 - Fixed HP-UX compile problems (STR #1858, STR #1859)
116 - cupstestppd crashed with some PPD files (STR #1864)
117 - The <cups/dir.h> and <cups/file.h> header files did not
121 CHANGES IN CUPS V1.2.2
123 - Documentation updates (STR #1765, STR #1780)
124 - CUPS didn't know about alternate character set names
125 for Asian text (STR #1819)
126 - The lpoptions -o and -r options did not work unless you
128 - The lpoptions command incorrectly allowed users to set
129 printer attributes like printer-type (STR #1791)
130 - httpWait() did not flush the write buffer, causing "bad
131 request" errors when communicating with CUPS 1.1.x
133 - Polling did not sanitize the printer description,
134 location, or make and model strings like broadcasts
136 - Polled printers did not show the server's default
137 job-sheets option value.
138 - The Samba password prompt was not properly localized
140 - Added a German translation (STR #1842)
141 - The scheduler now creates self-signed SSL certficates
142 automatically when using OpenSSL and CDSA for
143 encryption, just as for GNU TLS.
144 - The SNMP backend sporatically reported some printers as
145 "unknown" (STR #1774)
146 - The scheduler now forces BrowseTimeout to be at least
147 twice the BrowseInterval value and non-zero to avoid
148 common configuration errors.
149 - The scheduler incorrectly returned printer URIs of the
150 form "ipp://server/printers/classname" for classes (STR
152 - Updated Japanese localization (STR #1805)
153 - The scheduler's SSL certificate/key directory was not
154 created on installation (STR #1788)
155 - Added a mailto.conf man page and help page (STR #1754)
156 - The parallel and USB backends no longer wait for the
157 printer to go on-line - this caused problems with
158 certain printers that don't follow with the IEEE-1284
160 - The scheduler could crash on a reload when implicit
161 classes were present (STR #1828)
162 - The IPP backend incorrectly used the CUPS_ENCRYPTION
163 environment variable to determine the default
164 encryption mode when printing (STR #1820)
165 - USB printing did not work on Solaris (STR #1756)
166 - The scheduler sorted job priorities in the wrong order
168 - The scheduler did not automatically restart notifiers
169 that exited or crashed (STR #1793)
170 - IPv6 support did not work on NetBSD (STR #1834)
171 - The EPM packaging file did not work (STR #1804)
172 - The scheduler used up the CPU if BrowseRemoteProtocols
173 was empty (STR #1792)
174 - Custom page sizes did not work (STR #1787)
175 - The SNMP backend could crash on some systems when SNMP
176 logging was enabled (STR #1789)
177 - Browsing could produce some funny printer names when
178 ServerName was set to an IP address (STR #1799)
179 - Fixed the log message for BrowseRelay (STR #1798)
180 - Fixes to allow CUPS to compile on MirBSD (STR #1796)
181 - The scheduler incorrectly set the FINAL_CONTENT_TYPE
182 environment variable (STR #1795)
183 - The pdftops filter incorrectly embedded a "produced by"
184 comment, causing PDF printing not to work on some
185 operating systems (STR #1801)
186 - Sending raw jobs from a client system could cause the
187 client's scheduler to eventually crash (STR #1786)
188 - The scheduler now checks that the notifier exists prior
189 to accepting a new subscription request.
190 - The scheduler now reports the supported
191 notify-recipient schemes based on the contents of the
192 ServerBin/notifier directory.
193 - Event notifications did not include the
194 notify-sequence-number or other required attributes
196 - Allow/Deny addresses of the form "11.22.33.*" did not
197 work on Linux (STR #1769)
198 - cupsGetPPD() did not work if the scheduler was only
199 listening on a domain socket (STR #1766)
200 - The scheduler could crash advertising a class (STR
202 - The scheduler could crash if the default printer was
204 - Added a new default CUPS raster format (v3) which does
205 not compress the raster stream in order to provide the
206 same cupsRasterReadPixels() and cupsRasterWritePixels()
207 performance as CUPS 1.1.x.
208 - The cupsaddsmb man page listed the wrong files for the
210 - Some configure --with options did not work (STR #1746)
211 - "Allow @IF(name)" didn't work if "name" wasn't the
212 first network interface (STR #1758)
213 - The lpstat command did not use the correct character
214 set when reporting the date and time (STR #1751)
215 - The cupsaddsmb command and web interface did not update
216 the Windows PPD files properly, resulting in corrupt
217 PPD files for the Windows client to use (STR #1750)
218 - The cupsd.conf man page didn't describe the Listen
219 domain socket syntax (STR #1753)
220 - The scheduler no longer tries to support more than
221 FD_SETSIZE file descriptors.
222 - CDSA (encryption) support fixes for MacOS X.
223 - The lppasswd program needs to be setuid to root to
224 create and update the /etc/cups/passwd.md5 file (STR
226 - 32/64-bit library installation was broken (STR #1741)
227 - The USB backend now reports a "no such device" error
228 when using the old filename-based USB URIs instead of
230 - Increased the HTTP and IPP read timeouts to 10 seconds,
231 as 1 second was too short on congested networks (STR
233 - The SNMP backend now uses the device description over
234 the printer-make-and-model attribute when the attribute
235 contains a generic name (STR #1728)
236 - Fixed another file descriptor leak when printing raw
238 - Raw queues were not shared via LDAP (STR #1739)
239 - The pstops filter didn't always embed PageSetup
240 commands from the PPD file (STR #1740)
241 - "make install" didn't work if you disabled all of the
243 - The scheduler didn't always choose the least costly
245 - Fixed parsing of IPv6 addresses in Allow, Deny,
246 BrowseAllow, BrowseDeny, and BrowseRelay directives
248 - Printers that were shared via LDAP did not get added to
249 the LDAP server properly (STR #1733)
250 - LDAP browsing would crash the scheduler if a required
251 value was missing (STR #1731)
252 - Special cases for the "localhost" hostname did not
253 work, causing printing to not work when the /etc/hosts
254 file did not contain a localhost entry (STR #1723)
255 - Updated the Spanish translation (STR #1720, STR #1770)
256 - Reverse-order page output was broken when N-up or
257 landscape orientations were used (STR #1725)
258 - The parallel, serial, socket, and USB backends needed
259 print data before they would report back-channel data,
260 causing problems with several new drivers (STR #1724)
263 CHANGES IN CUPS V1.2.1
265 - "lprm -h hostname" did not work (STR #1800)
266 - The web interface did not handle reloads properly for
268 - The configure script no longer adds linker rpath
269 options when they are unnecessary.
270 - The scheduler could crash printing a debug message on
272 - The --enable-32bit and --enable-64bit configure options
274 - The password prompt showed the domain socket address
275 instead of "localhost" for local authentication (STR
277 - The web interface filtered the list of printers even if
278 the user wasn't logged in (STR #1700)
279 - The IPP backend did not work reliably with some Xerox
281 - Trailing banners were not added when printing a single
283 - The web interface support programs crashed on Solaris
285 - cupstestppd incorrectly reported problems with
286 *1284DeviceID attributes (STR #1710)
287 - Browsing could get disabled after a restart (STR #1670)
288 - Custom page sizes were not parsed properly (STR #1709)
289 - The -U option wasn't supported by lpadmin (STR #1702)
290 - The -u option didn't work with lpadmin (STR #1703)
291 - The scheduler did not create non-blocking back-channel
292 pipes, which caused problems when the printer driver
293 did not read the back-channel data (STR #1705)
294 - The scheduler no longer uses chunking in responses to
295 clients - this caused problems with older versions of
296 CUPS like 1.1.17 (PR #6143)
297 - Automatic raw printing was broken (STR #1667)
298 - 6-up printing was broken (STR #1697)
299 - The pstops filter did not disable CTRL-D processing on
301 - ppdOpen*() did not load custom options properly (STR
303 - "Set Printer Options" in the web interface did not
304 update the DefaultImageableArea or
305 DefaultPaperDimension attributes in the PPD file (STR
307 - Fixed compile errors (STR #1682, STR #1684, STR #1685,
309 - The lpstat command displayed the wrong error message
310 for a missing destination (STR #1683)
311 - Revised and completed the Polish translation (STR
313 - Stopped jobs did not show up in the list of active jobs
315 - The configure script did not use the GNU TLS
316 "libgnutls-config" script to find the proper compiler
318 - The imagetoraster filter did not correctly generate
319 several 1, 2, and 4-bit color modes.
320 - cupsRasterWritePixels() could lose track of the current
322 - cupsRasterReadPixels() did not automatically swap
323 12/16-bit chunked pixel data.
324 - Moved the private _cups_raster_s structure out of the
326 - Updated the CUPS raster format specification to include
327 encoding rules and colorspace definitions.
328 - The Zebra PPD files had the wrong PostScript code for
329 the "default" option choices.
330 - The imagetoraster filter did not generate correct CIE
331 XYZ or Lab color data.
332 - The cups-config script did not work when invoked from a
333 source directory (STR #1673)
334 - The SNMP backend did not compile on systems that used
335 the getifaddrs emulation functions (STR #1668)
338 CHANGES IN CUPS V1.2.0
340 - Documentation updates (STR #1618, STR #1620, STR #1622,
342 - Static file copy buffers reduced from 64k to 32k to
343 work around bogus MallocDebug library assumptions (STR
345 - The scheduler did not decode the backend exit code
347 - The MacOS X USB backend did not report the 1284 device ID,
348 nor did it fix device IDs returned by HP printers.
349 - The scheduler started more slowly than 1.1.x with large
350 numbers of printers (STR #1653)
351 - cupsRasterInterpretPPD() didn't support the
352 cupsPreferredBitsPerColor attribute, and imagetoraster
353 didn't use the new API.
354 - The "make test" script did not create all of the necessary
355 subdirectories for testing (STR #1638)
356 - The scheduler did not prevent rotation of logs
357 redirected to /dev/null (STR #1651)
358 - "make test" did not include the SNMP backend in the
359 test environment (STR #1625)
360 - The EPM packaging files did not work (STR #1621)
361 - "Use Default Configuration" inserted a broken
362 configuration file (STR #1624)
363 - Redirects in the web interface did not always preserve
364 the encrypted status of a connection (STR #1603)
365 - Added the Apple "pap" backend.
366 - Added CUPS library to CUPS Image shared library
367 linkage to support Linux --as-needed linker option
369 - Fixed support for --enable-pie (STR #1609)
370 - The pdftops filter did not validate the length of the
371 encryption key (STR #1608)
372 - Updated the Polish localization.
373 - "Encryption Required" in the cupsd.conf file now only
374 requires encryption when the connection is not over the
375 loopback interface or domain socket.
376 - Printer names containing "+" were not quoted properly in
377 the web interface (STR #1600)
378 - The SNMP backend now reports the make and model in the
379 information string so that the auto-generated printer
380 name is more useful than just an IP address.
383 CHANGES IN CUPS V1.2rc3
385 - The cups-lpd program always did reverse lookups on the
386 client address, which could be a performance problem.
387 Added a "-n" option to disable lookups.
388 - When configured with SSL support, require encryption by
389 default when displaying the /admin location (STR #1592)
390 - The next job ID was not computed correctly if the job
391 cache file got out of sync with the spool directory
393 - The PNG image handling code used deprecated functions
394 from libpng (STR #1587)
395 - Added a Polish translation (STR #1584, STR #1586)
396 - More changes to the scheduler to improve battery life
397 on portable devices (STR #1583)
398 - Changed the default log level for status messages back
399 to "DEBUG" to be consistent with CUPS 1.1.x (STR #1579)
400 - The error string was not set properly when
401 cupsDoFileRequest() was given the name of a directory
403 - Fixed handling of job-hold-until (STR #1581)
404 - Added explicit notes to the cupsaddsmb man page
405 explaining that the driver filenames are case-sensitive
406 under UNIX and that they must be all lowercase (Windows
407 2000) or all UPPERCASE (Windows 95/98/Me) to work (STR
409 - The USB backend incorrectly split the manufacturer name
410 if it contained spaces (STR #1566)
411 - The scheduler would hang when listing PPD files for a
412 manufacturer whose name contained spaces (STR #1567)
413 - Added the SNMP backend for network printer discovery
415 - cupstestppd now fails PPD files with 1284DeviceId
416 instead of 1284DeviceID, and cups-driverd uses a
417 case-insensitive comparison when looking for it (STR
419 - cupsDoFileRequest() and cupsDoRequest() now work
420 properly with non-blocking HTTP connections.
421 - Added Swedish translation (STR #1569)
422 - "make install" now installs the MIME files with world
423 read permissions (STR #1565)
424 - More CDSA encryption support fixes (STR #1563)
425 - Updated the default mime.types file to support printing
426 of files that do not have a locally-recognized MIME
427 media type to raw or System V queues.
428 - Updated the serial port detection code on Linux (STR
430 - Added some more error checking to httpGetHostname()
432 - The title of some administration pages was not
433 localized (STR #1548)
434 - The edit-config.tmpl file was not generated or
435 installed for the Spanish or Japanese localizations
437 - The mimeDelete() function freed the types before the
438 filters, but the filters needed the type data (STR #1558)
439 - The scheduler didn't keep track of the status pipes
440 properly, leading to a bad select() for multi-file jobs
442 - The cupstestdsc program didn't validate the ordinal
443 page number value for %%Page: comments.
446 CHANGES IN CUPS V1.2rc2
448 - The scheduler was not always using the string pool,
449 causing random crashes.
450 - The lpmove and the web interface's Move Job button did
451 not work with stopped jobs (STR #1534)
452 - The PostScript filter did not handle the page-set
453 option properly with number-up printing (STR #1543)
454 - The scheduler now only warns about unsupported ACLs
456 - The "fitplot" option did not work with output from
458 - The imagetops filter did not work with Level 2 or 3
460 - The scheduler now recognizes PostScript files with PJL
461 commands that do not include an ENTER LANGUAGE command.
462 - Added --with-printcap configure option.
463 - 64-bit SSL fixes for MacOS X.
464 - The scheduler didn't send some printer state change
466 - The scheduler didn't send jobs to busy remote printers.
467 - Fixed some problems with the launchd support.
468 - Added new USB printer backend for MacOS X.
469 - The PostScript filter now handles files that start with
470 an incomplete PJL header (PR #6076)
471 - The web interface language selection code did not try
472 the generic language localization (STR #1531)
473 - The language cache, string pool, and transcoding caches
474 are now process global instead of per-thread to avoid
475 problems with GNOME and to allow for data sharing
476 between threads (STR #1530)
477 - Fixed a CUPS 1.1.x compatibility bug (STR #1528)
478 - The web interface redirection after certain printer
479 administration tasks was broken (STR #1516)
480 - Web interface authorization could get stuck (STR #1512)
481 - Localization updates (STR #1513, STR #1518, STR #1520)
482 - The pstops filter didn't work with some files (STR
484 - "./configure --enable-static" didn't work (STR #1522)
485 - The scheduler was not using the configured default
487 - The web interface still did not show the localized time
488 and date for some locales and systems (STR #1509)
489 - httpAddrGetList() would crash on systems without
491 - Socket URIs without a trailing slash would cause the
492 port number to not be accepted (STR #1519)
493 - Local raw and System V printers were not advertised as
494 such for printer browsing (STR #1502)
495 - The RPM spec file incorrectly put duplicate copies of
496 the Japanese and Spanish web interface templates in the
497 main cups package (STR #1517)
498 - cupsSetDests() did not explicitly set the permissions
499 of the /etc/cups/lpoptions file (STR #1508)
500 - The lpq command crashed with the -h option (STR #1515)
503 CHANGES IN CUPS V1.2rc1
505 - Documentation updates (STR #1497, STR #1498)
506 - The scheduler now redirects browsers to https: URLs
507 when encryption is required.
508 - The scheduler would crash when printing with a banner
510 - cups-driverd did not use the LanguageEncoding attribute
511 in PPD files to convert the NickName to UTF-8 (STR
513 - The lpadmin command could not set the
514 printer-error-policy attribute (STR #1504)
515 - The web interface did not show the time and date in the
516 correct format for the locale (STR #1505)
517 - CUPS no longer accepts print jobs if a printer does not
518 support the file format (STR #1501)
519 - Cleaned up the PostScript filter (pstops) so that it
520 properly supports %%IncludeFeature and page scaling
522 - Fixed the cupsFileRewind() and cupsFileSeek() functions
523 to work properly with uncompressed files.
524 - Added cupsFileGetLine(), cupsFileStderr(),
525 cupsFileStdin(), and cupsFileStdout() functions to the
527 - Added a new cupstestdsc program to test the DSC
528 conformance of PostScript files.
529 - Added KDE/GNOME icons and a Manage Printers menu item.
530 - Added --enable-image and --enable-pdftops configure
531 options to control whether the image and PDF filters
532 are built and installed (default = yes for all
533 platforms but MacOS X)
534 - Fixed a minor memory leak in the PPD API.
535 - Fixed transcoding issues (STR #1493)
536 - The scheduler now enforces a minimum job cost of 100
537 when doing FilterLimit checks.
538 - The scheduler would leak file descriptors when printing
539 to raw queues (STR #1491)
540 - The IPv6 support did not compile on Tru64 UNIX (STR
542 - ppdOpen2() now converts the NickName and all UI text to
544 - The Set Allowed Users web page did not work (STR #1486)
545 - When the default policy was not set or set to a non-
546 existing policy, the scheduler did not set the default
547 policy name to "default" (STR #1484)
548 - The Zebra CPCL driver did not use the correct righthand
549 margin for the 4" wide label sizes.
550 - Fixed a problem with the parsing of fractional real
551 numbers in PPD files.
552 - Added Spanish localization files (STR #1480)
553 - Fixed localization of a few scheduler messages (STR
555 - Fixed support for HEAD requests in the scheduler (STR
559 CHANGES IN CUPS V1.2b2
561 - Updated the CUPS design description.
562 - Added --enable-32bit and --enable-64bit configure
563 options to allow building of separate 32/64-bit
564 libraries on systems that support both environments
566 - Various compiler warning fixes.
567 - Fixes for Solaris 10 builds against old GNU TLS and
569 - Added a cupsArrayUserData() function to retrieve the
570 user data pointer for an array (useful for typing
572 - The ppdEmitString() function did not compute the
573 required buffer size properly, leading to dropped
574 characters on the end of the printer commands in pstops
575 and imagetops (STR #1470)
578 CHANGES IN CUPS V1.2b1
580 - The serial backend now supports Equinox 8-port serial
582 - The IPP backend now supports a compression option to
583 compress print files as they are sent to the remote
585 - The CUPS browse protocol now supports passing of
586 default options and browse timeout values from the
587 server to the clients (STR #800)
588 - Implicit classes that timed out could cause the
589 scheduler to crash (STR #1439)
590 - Added DragonFly support in local device backends (STR
592 - Added LDAP printer browsing support (STR #338)
593 - Added official support for printer maintenance commands
594 via the CUPS Command file format and hooks in the
595 printer-type and web interfaces (STR #932)
596 - The HP-GL/2 filter could get in an infinite loop trying
597 to convert HP-PCL files (STR #1415)
598 - CUPS now implements the HTTP/1.1 Expect header (STR
600 - Options in PPD files are no longer automatically put in
601 an "Extra" group; rather, all options that are not
602 inside an Open/CloseGroup will be placed in the
603 "General" group (STR #1385)
604 - The scheduler now creates a job-uuid attribute that
605 uniquely identifies a job on a network (STR #1410)
606 - The init script now unsets the TMPDIR environment
607 variable to prevent user temporary directories from
608 being used by cupsd accidentally (STR #1424)
609 - Added support for launchd on MacOS X.
610 - Added support for notify_post on MacOS X.
611 - Added support for DBUS on Linux.
612 - All of the Berkeley (except for lpc) and System V
613 commands now support specification of user, host, and
614 port (STR #1028, STR #1029, STR #1087)
615 - The lpmove command now allows you to move all jobs for
616 a given queue (STR #56)
617 - The web interface now supports moving of a job or jobs
618 to another queue (STR #56)
619 - The web interface now provides searching, paging, and
620 changing of the sort/display order of classes, jobs,
622 - cupsaddsmb now accepts a password on the command-line
623 and supports passwords with special characters (STR
625 - ppdLoad*() no longer tries to "fix" bad characters in
627 - Printer names can now (reliably) contain Unicode
628 characters (STR #896)
629 - The lpstat command now shows the time and date of the
630 last printer state change instead of the hardcoded "Jan
632 - The scheduler now adds a job-actual-printer-uri
633 attribute to job objects when printing to a class (STR
635 - The scheduler now logs log file open errors to the
636 system log (STR #1289)
637 - The scheduler now sets the job-originating-user-name to
638 the authenticated username, if available (STR #1318)
639 - The scheduler now only updates the permissions of SSL
640 keys and certificates when they are under the
641 ServerRoot directory (STR #1324)
642 - The rastertodymo driver has been renamed to
643 rastertolabel (a symlink is installed so that existing
644 queues continue to work) and now also supports Zebra's
646 - The lpstat command could show the wrong active job for
647 a printer (STR #1301)
648 - Fixed a potential crash problem in the scheduler when
649 aborting a CGI program (STR #1290)
650 - Added a "cancel all jobs" button to the class and
651 printer web interfaces (STR #1140)
652 - The add-printer web page now shows the
653 set-printer-options page after the printer has been
655 - The classes web page now provides links to each of the
656 member printers (STR #307)
657 - CUPS now handles HTTP request/response lines up to 32k
658 in length; this is mainly for better cookie support
660 - Added support for the Apache PassEnv and SetEnv
661 directives to cupsd.conf (STR #853)
662 - Added large file (64-bit) support (STR #541)
663 - Fixed a performance issue with the ippReadIO()
664 implementation (STR #1284)
665 - Fixed a performance issue with the scheduler's implicit
666 class implementation (STR #1283)
667 - The pdftops filter now adds the Title and Creator
668 fields from the PDF file to the PostScript document
669 comments section (STR #539, STR #830)
670 - Added a new cups_array_t and cupsArray*() functions to
671 the CUPS API to support sorted lists of data.
672 - Made the CUPS API library thread-safe (STR #1276)
673 - Added "media" option support for EFI EFMediaType option
675 - Added write buffering to the HTTP code to improve
676 performance (STR #547)
677 - The scheduler now uses the attributes-natural-language
678 attribute to localize banner pages (STR #386)
679 - The scheduler now returns the address that was used to
680 connect to it (STR #1076)
681 - Fixed a problem with N-up printing and OpenOffice (STR
683 - Added support for the GCC position independent
684 executable options (STR #1209)
685 - Added new BrowseLocalProtocols and
686 BrowseRemoteProtocols directives to cupsd.conf,
687 allowing for different browse protocols for local and
688 remote printers (STR #877)
689 - PPD files can now contain strings up to 256k in length
691 - The pstops filter now supports the IncludeFeature DSC
693 - The pstops filter now disables the setpagedevice
694 procedure when doing N-up printing (STR #1161)
695 - The serial backend now supports "stop=1", "stop=2",
696 "parity=space", and "parity=mark" options (STR #1155)
697 - "make install" no longer overwrites an existing PAM
698 configuration file (STR #1064)
699 - The scheduler now closes all files on startup when run
700 in daemon mode (STR #1009)
701 - Added a new RGBW colorspace to the CUPS raster format
703 - The pdftops filter now sets the page size based on the
704 media box when not scaling the output (STR #912)
705 - The pdftops filter now supports masked images (STR
707 - The pdftops filter produced large output when rendering
708 PDF files containing lot of repeated images (STR #327)
709 - The pdftops filter now minimizes print processing of
710 PDF files when using the page-ranges option (STR #273)
711 - Updated pdftops filter to Xpdf 3.01.
712 - Added new cupsBackchannelRead() and
713 cupsBackchannelWrite() functions, as well as
714 backchannel support to the parallel, serial, socket,
715 and USB backends (STR #1252)
716 - The parallel and USB backends now treat a "no space
717 available" error as an out-of-paper condition (STR
719 - The "lpc" command now supports the "status all" command
721 - ippReadIO() did not read collections properly (STR
723 - The "make test" script now creates the test files in
724 "/tmp/cups-$USER" instead of "/tmp/$USER" (STR #981)
725 - All backends now abort on error when printing a job to
726 a class - this allows the next printer in the class to
727 print the job (STR #1084)
728 - The scheduler now verifies that a printer supports
729 Letter or A4 media sizes before setting them as the
730 initial default (STR #1250)
731 - The cupstestppd program now flags bad Resolution
733 - The USB backend now retries printing when the printer
734 is disconnected or turned off (STR #1267)
735 - Added new httpGetHostname() function to CUPS API, and
736 use it instead of gethostname() so that the web
737 interface will work correctly on systems whose hostname
738 is not the FQDN (STR #1266)
739 - The scheduler now stops printers if the backend for the
740 queue is missing on startup (STR #1265)
741 - The configure script now supports "--disable-library"
742 to disable particular image file format support
743 libraries, even if they are available on the build
745 - The IPP backend did not always report on the total
746 number of pages that were printed (STR #1251)
747 - The lpstat program could display garbage date and time
748 values for locales whose date format exceeded 31
749 characters (STR #1263)
750 - The cupstestppd program would segfault when testing
751 certain broken PPD files (STR #1268)
752 - Dramatically reduced the overhead of implicit classes.
753 - Added new cupsDir*() functions to CUPS API.
754 - Printers can now be published individually for sharing.
755 - Fixed a bug in the scheduler's startup signalling code
756 which caused cupsd to send the SIGUSR1 signal to the
757 init process instead of the original parent process
759 - Added new on-line help CGI to web interface to provide
761 - Devices are now tracked dynamically, with each query
762 doing a new device scan. This eliminates a previous
763 startup delay caused by slow backends and allows new
764 printers to be seen without restarting the server,
765 however it limits the amount of device URI checking
766 that can be done (basically now the scheduler only
767 requires a URI with a method that is a listed backend)
768 - Added new printer auto-detection, server configuration,
769 and log file viewing to the administration web page.
770 - Added new "set allowed users" web interface to set the
771 list of allowed users for a printer or class.
772 - The scheduler, command-line, and web interfaces now
773 limit the list of printers and classes to those
774 accessible by a user.
775 - cupsMarkOptions() now handles more non-standard
776 duplexing options and choices (STR #915)
777 - cups-lpd now honors remote banner requests with the
778 "standard" banner whenever a printer does not have one
780 - The scheduler's denial-of-service checks did not work
781 properly with IPv6 addresses (STR #1134)
782 - The lp and lpr commands did not error out properly when
783 they were unable to write to a temporary file (STR
785 - The pstops filter did not handle Adobe-specific
786 comments in Windows NT driver output (STR #1085)
787 - "lpstat -l -p" incorrectly reported the printer
789 - The web interface now operates exclusively with the
790 UTF-8 encoding, and sends the appropriate character set
791 and header information to the web browser (STR #919,
793 - Added a "set allowed users" interface to the web
794 interface so that you can set the list of allowed or
795 denied users/groups for a printer or class.
796 - Disallow the "#" character in printer names, since it
797 has special meaning in the shell, config files, and in
798 URIs (STR #917, STR #1202)
799 - Added a new application/x-csource MIME type, and
800 support for it to the texttops filter so that you can
801 pretty print plain text files without the C/C++
802 keywords being highlighted.
803 - The pdftops filter did not compile with GCC 4.0 (STR
805 - The texttops filter did not highlight preprocessor
806 directives followed by a tab properly.
807 - HP PJL output now uses both JOB DISPLAY and RDYMSG
808 commands to show the current job on the printer's
810 - Local authentication certificates are now stored in
811 /var/run/cups/certs by default instead of
812 /etc/cups/certs (STR #1211)
813 - Backends now use "&" to separate options in device
814 URIs; "+" is still recognized but is deprecated (STR
816 - The USB backend no longer supports the usb:/dev/foo
817 format on systems that support device ID queries.
818 - Forced classification markings did not work when the
819 job-sheets parameters were "none,none".
820 - "lpstat -l -p" incorrectly showed all users as allowed,
821 even if the queue was restricted to certain users (STR
823 - The scheduler now automatically detects SSL/TLS clients
824 without using the SSLPort/SSLListen directives.
825 - The CUPS API and scheduler no longer support SSLv2-
826 encrypted connections.
827 - Updated the cupsaddsmb utility to correctly export the
828 CUPS driver for Windows.
829 - Fixed a signal-handling bug in httpRead() which
830 ultimately caused the server to print multiple copies
831 when it was busy (STR #1184)
832 - The cupsFile API now uses the O_APPEND option when
833 opening files in append mode (STR #990)
834 - The md5.h header and md5_* functions are now officially
835 private and have been renamed to avoid conflicts with
836 other implementations with the same name.
837 - The pdftops filter incorrectly embedded some Type1
839 - The scheduler didn't detect a closed connection in the
840 middle of an IPP request (STR #1153)
841 - The scheduler could block trying to read the job status
842 if there was input pending and the job was cancelled in
843 the same input cycle (STR #1157)
844 - The scheduler could crash when deleting a class due to
846 - Updated the Zebra ZPL label printer driver to use the
847 run-length encoding and support more options.
848 - Updated serial backend to scan for /dev/ttyC* as well
849 as /dev/ttyc* for Cyclades serial ports (STR #1049)
850 - The scheduler could hang reading the job status under
851 certain circumstances (STR #1068)
852 - The USB backend termination signal code was inverted
854 - Moved enable and disable commands to sbindir to be
856 - Added new cupsRasterInterpretPPD() function for RIP
857 filters to setup the raster page header from
858 PostScript commands in a PPD file.
859 - The CUPS browsing protocol now offers a "delete" bit
860 to remove printers as soon as they are deleted on the
861 server or as soon as the server shuts down gracefully
863 - The CUPS_SERVER and ServerName directives (client.conf
864 and ~/.cupsrc) may now contain names of the form
865 "server:port" and "/path/to/domain/socket".
866 - The "cancel -u user" command now works for ordinary
868 - Added test run support to "make test" target (STR #64)
869 - Added domain socket support (STR #656)
870 - Added BrowseLocalOptions directive to allow the
871 administrator to add printer URI options to the browse
872 URI, e.g. "encryption=required" (STR #732)
873 - Added BrowseRemoteOptions directive to allow the
874 administrator to add standard URI options to the
875 remote printer URI, e.g. "encryption=required" (STR
877 - Now put "-I.." compiler option in front of all others
878 to ensure that local CUPS headers are used before
879 installed headers (STR #437)
880 - New cupsLangPrintf() and cupsLangPuts() for localized
882 - Now support custom attributes and extended options in
884 - Now provide functions to save PPD files.
885 - New policy mechanism allows per-operation and
886 per-printer control over what users and groups are
887 allowed to do various IPP operations.
888 - New error policy mechanism to control how aborted
889 backend errors are handled by the scheduler
890 (abort-job, retry-job, requeue-job, stop-printer)
891 - Updated the printer test page with a better color
892 wheel and a separate grayscale ramp.
893 - A single backend process is now run to send all print
895 - Backends and filters can now send and receive
896 backchannel data over file descriptor 3.
897 - Updated the raster stream format to support more
898 user-defined attributes and to do compression of the