4 CHANGES IN CUPS V1.3.10
6 - The scheduler now rejects ATTR: messages with empty values.
7 - The scheduler could consume all CPU handling closed connections
9 - The scheduler now protects against DNS rebinding attacks on
11 - SECURITY: The PNG image reading code did not validate the
12 image size properly, leading to a potential buffer overflow
14 - Fixed some configure script bugs with rc/xinetd directories
16 - The Epson sample driver PPDs contained errors (STR #2979)
19 CHANGES IN CUPS V1.3.9
21 - SECURITY: The HP-GL/2 filter did not range check pen numbers
23 - SECURITY: The SGI image file reader did not range check
24 16-bit run lengths (STR #2918)
25 - SECURITY: The text filter did not range check cpi, lpi, or
26 column values (STR #2919)
27 - Documentation updates (STR #2904, STR #2944)
28 - The French web admin page was never updated (STR #2963)
29 - The IPP backend did not retry print jobs when the printer
30 reported itself as busy or unavailable (STR #2951)
31 - The "Set Allowed Users" web interface did not handle trailing
32 whitespace correctly (STR #2956)
33 - The PostScript filter did not work with Adobe applications
34 using custom page sizes (STR #2968)
35 - The Mac OS X USB backend did not work with some printers
36 that reported a bad 1284 device ID.
37 - The scheduler incorrectly resolved the client connection
38 address when HostNameLookups was set to Off (STR #2946)
39 - The IPP backend incorrectly stopped the local queue if
40 the remote server reported the "paused" state.
41 - The cupsGetDests() function did not catch all types of
43 - The scheduler did not always log "job queued" messages
45 - The scheduler did not support destination filtering using
46 the printer-location attribute properly (STR #2945)
47 - The scheduler did not send the server-started,
48 server-restarted, or server-stopped events (STR #2927)
49 - The scheduler no longer enforces configuration file
50 permissions on symlinked files (STR #2937)
51 - CUPS now reinitializes the DNS resolver on failures
53 - The CUPS desktop menu item was broken (STR #2924)
54 - The PPD parser was too strict about missing keyword
55 values in "relaxed" mode.
56 - The PostScript filter incorrectly mirrored landscape
58 - The scheduler did not correctly update the
59 auth-info-required value(s) if the AuthType was Default.
60 - The scheduler required Kerberos authentication for
61 all operations on remote Kerberized printers instead
62 of just for the operations that needed it.
63 - The socket backend could wait indefinitely for back-
64 channel data with some devices.
65 - PJL panel messages were not reset correctly on older
67 - cupsfilter used the wrong default path (STR #2908)
68 - Fixed address matching for "BrowseAddress @IF(name)"
70 - Fixed compiles on AIX.
71 - Firefox 3 did not work with the CUPS web interface in SSL
73 - Custom options with multiple parameters were not emitted
75 - Refined the cupstestppd utility.
76 - ppdEmit*() did not support custom JCL options (STR #2889)
77 - The cupstestppd utility incorrectly reported missing
78 "en" base translations (STR #2887)
81 CHANGES IN CUPS V1.3.8
83 - Documentation updates (STR #2785, STR #2861, STR #2862)
84 - The scheduler did not add the ending job sheet when the
86 - The IPP backend did not relay marker-* attributes.
87 - The CUPS GNOME/KDE menu item was not localized for
89 - The CUPS GNOME/KDE menu item was not localized for
91 - The cupstestppd utility reported mixed line endings for
92 Mac OS and Windows PPD files (STR #2874)
93 - The pdftops filter did not print landscape orientation PDF
94 pages correctly on all printers (STR #2850)
95 - The scheduler did not handle expiring of implicit classes
96 or their members properly, leading to a configuration where
97 one of the members would have a short name (STR #2766)
98 - The scheduler and cupstestppd utilities did not support
99 cupsFilter and cupsPreFilter programs with spaces in their
101 - Removed unused variables and assignments found by the
103 - Added NULL checks recommended by the LLVM "clang" tool.
104 - The scheduler would crash if you started a printer that
105 pointed to a backend that did not exist (STR #2865)
106 - The ppdLocalize functions incorrectly mapped all generic
107 locales to country-specific locales.
108 - The cups-driverd program did not support Simplified Chinese
109 or Traditional Chinese language version strings (STR #2851)
110 - Added an Indonesian translation (STR #2792)
111 - Fixed a timing issue in the backends that could cause data
112 corruption with the CUPS_SC_CMD_DRAIN_OUTPUT side-channel
114 - The scheduler did not support "HostNameLookups" with all of
115 the boolean names (STR #2861)
116 - Fixed a compile problem with glibc 2.8 (STR #2860)
117 - The scheduler incorrectly filtered out queues with ACLs and
119 - The PostScript filter did not support %%IncludeFeature lines
120 in the page setup section of each page (STR #2831)
121 - The scheduler did not generate printer-state events when the
122 default printer was changed (STR #2764)
123 - cupstestppd incorrectly reported a warning about the PPD format
124 version in some locales (STR #2854)
125 - cupsGetPPD() and friends incorrectly returned a PPD file for
126 a class with no printers.
127 - The member-uris values for local printers in a class returned
128 by the scheduler did not reflect the connected hostname or
130 - The CUPS PHP extension was not thread-safe (STR #2828)
131 - The scheduler incorrectly added the document-format-default
132 attribute to the list of "common" printer attributes, which
133 over time would slow down the printing system (STR #2755,
135 - The cups-deviced and cups-driverd helper programs did not set
136 the CFProcessPath environment variable on Mac OS X (STR #2837)
137 - "lpstat -p" could report the wrong job as printing (STR #2845)
138 - The scheduler would crash when some cupsd.conf directives
139 were missing values (STR #2849)
140 - The web interface "move jobs" operation redirected users to
141 the wrong URL (STR #2815)
142 - The Polish web interface translation contained errors
144 - The scheduler did not report PostScript printer PPDs with
145 filters as PostScript devices.
146 - The scheduler did not set the job document-format attribute
147 for jobs submitted using Create-Job and Send-Document.
148 - cupsFileTell() did not work for log files opened in append
150 - The scheduler did not set QUERY_STRING all of the time
151 for CGI scripts (STR #2781, STR #2816)
152 - The scheduler now returns an error for bad job-sheets
154 - Authenticated remote printing did not work over domain
156 - The scheduler incorrectly logged errors for print filters
157 when a job was canceled (STR #2806, #2808)
158 - The scheduler no longer allows multiple RSS subscriptions
159 with the same URI (STR #2789)
160 - The scheduler now supports Kerberized printing with
161 multiple server names (STR #2783)
162 - "Satisfy any" did not work in IPP policies (STR #2782)
163 - The CUPS imaging library would crash with very large
164 images - more than 16Mx16M pixels (STR #2805)
165 - The PNG image loading code would crash with large images
167 - The scheduler did not limit the total number of filters.
168 - The scheduler now ensures that the RSS directory has
169 the correct permissions.
170 - The RSS notifier did not quote the feed URL in the RSS
171 file it created (STR #2801)
172 - The web interface allowed the creation and cancellation
173 of RSS subscriptions without a username (STR #2774)
174 - Increased the default MaxCopies value on Mac OS X to
175 9999 to match the limit imposed by the print dialog.
176 - The scheduler did not reject requests with an empty
177 Content-Length field (STR #2787)
178 - The scheduler did not log the current date and time and
179 did not escape special characters in request URIs when
180 logging bad requests to the access_log file (STR #2788)
183 CHANGES IN CUPS V1.3.7
185 - CVE-2008-0047: cgiCompileSearch buffer overflow (STR #2729)
186 - CVE-2008-1373: CUPS GIF image filter overflow (STR #2765)
187 - Updated the "make check" tests to do a more thorough
189 - cups-driverd complained about missing directories (STR
191 - cupsaddsmb would leave the Samba username and password on
192 disk if no Windows drivers were installed (STR #2779)
193 - The Linux USB backend used 100% CPU when a printer was
194 disconnected (STR #2769)
195 - The sample raster drivers did not properly handle SIGTERM
197 - The scheduler sent notify_post() messages too often on
199 - Kerberos access to the web interface did not work
201 - The scheduler did not support "AuthType Default" in IPP
203 - The scheduler did not support the "HideImplicitMembers"
204 directive as documented (STR #2760)
205 - "make check" didn't return a non-zero exit code on
207 - The scheduler incorrectly logged AUTH_foo environment
208 variables in debug mode (STR #2751)
209 - The image filters inverted PBM files (STR #2746)
210 - cupsctl would crash if the scheduler was not running
212 - The scheduler could crash when printing using a port
214 - The scheduler would crash if PAM was broken (STR #2734)
215 - The image filters did not work with some CMYK JPEG files
216 produced by Adobe applications (STR #2727)
217 - The Mac OS X USB backend did not work with printers that
218 did not report a make or model.
219 - The job-sheets option was not encoded properly (STR #2715)
220 - The scheduler incorrectly complained about missing LSB
224 CHANGES IN CUPS V1.3.6
226 - Documentation updates (STR #2646, STR #2647, STR #2649)
227 - Fixed a problem with the web interface "Use Kerberos
228 Authentication" check box (STR #2703)
229 - The scheduler unconditionally overwrote the printer-state-
230 message with "process-name failed" when a filter or backend
231 failed, preventing a useful error message from being shown
233 - Policies on CUPS-Move-Job didn't work as expected (STR
235 - The configure script only supported D-BUS on Linux
237 - The scheduler did not support </LimitExcept> (STR #2701)
238 - The scheduler did not reset the job-hold-until attribute
239 after a job's hold time was reached.
240 - The scheduler did not support printer supply attributes
242 - The Kerberos credentials provided by some Windows KDCs
243 were still too large - now use a dynamic buffer to
244 support credentials up to 64k in size (STR #2695)
245 - Printing a test page from the web interface incorrectly
246 defaulted to the "guest" user (STR #2688)
247 - The cupsEncodeOptions2() function did not parse multiple-
248 value attribute values properly (STR #2690)
249 - The scheduler incorrectly sent printer-stopped events for
250 status updates from the print filters (STR #2680)
251 - The IPP backend could crash when handling printer errors
253 - Multi-file jobs did not print to remote CUPS servers
255 - The scheduler did not provide the Apple language ID to
257 - Kerberos authentication did not work with the web
258 interface (STR #2606, STR #2669)
259 - The requesing-user-name-allowed and -denied functionality
260 did not work for Kerberos-authenticated usernames (STR
262 - CUPS didn't compile on HP-UX 11i (STR #2679)
263 - cupsEncodeOptions2() did not handle option values like
264 "What's up, doc?" properly.
265 - Added lots of memory allocation checks (Fortify)
266 - The scheduler would crash if it was unable to add a job
268 - ppdOpen*() did not check all memory allocations (Coverity)
269 - ippReadIO() did not check all memory allocations (Coverity)
270 - The PostScript filter did not detect read errors (Coverity)
271 - The scheduler did not check for a missing job-sheets-completed
272 attribute when sending an event notification (Coverity)
273 - "Set Printer Options" might not work with raw queues (Coverity)
274 - cupsRasterInterpretPPD() could crash on certain PostScript
276 - The USB backend did not check for back-channel support
277 properly on all systems (Coverity)
278 - Fixed memory leaks in the GIF and PNM image loading code
280 - Removed some dead code in the CUPS API and scheduler (Coverity)
281 - Fixed two overflow bugs in the HP-GL/2 filter (Coverity)
282 - Fixed another ASN1 string parsing bug (STR #2665)
283 - The RSS notifier directory was not installed with the
285 - The standard CUPS backends could use 100% CPU while waiting
286 for print data (STR #2664)
287 - Filename-based MIME rules did not work (STR #2659)
288 - The cups-polld program did not exit if the scheduler crashed
290 - The scheduler would crash if you tried to set the port-monitor
291 on a raw queue (STR #2639)
292 - The scheduler could crash if a polled remote printer was
293 converted to a class (STR #2656)
294 - The web interface and cupsctl did not correctly reflect
295 the "allow printing from the Internet" state (STR #2650)
296 - The scheduler incorrectly treated MIME types as case-
297 sensitive (STR #2657)
298 - The Java support classes did not send UTF-8 strings to
299 the scheduler (STR #2651)
300 - The CGI code did not handle interrupted POST requests
302 - The PostScript filter incorrectly handled number-up when
303 the number of pages was evenly divisible by the number-up
305 - The PDF filter incorrectly filtered pages when page-ranges
306 and number-up were both specified (STR #2643)
307 - The IPP backend did not handle printing of pictwps files
308 to a non-Mac CUPS server properly.
309 - The scheduler did not detect network interface changes
310 on operating systems other than Mac OS X (STR #2631)
311 - The scheduler now logs the UNIX error message when it
312 is unable to create a request file such as a print job.
313 - Added support for --enable-pie on Mac OS X.
316 CHANGES IN CUPS V1.3.5
318 - The SNMP backend did not check for negative string
320 - The scheduler incorrectly removed auth-info attributes,
321 potentially leading to a loss of all options for a job.
322 - The scheduler stopped sending CUPS browse packets on a
323 restart when using fixed addresses (STR #2618)
324 - Fixed PDF filter security issues (CVE-2007-4352
325 CVE-2007-5392 CVE-2007-5393)
326 - Changing settings would always change the DefaultAuthType
327 and Allow lines (STR #2580)
328 - The scheduler would crash when submitting an undefined
329 format file from Samba with LogLevel debug2 (STR #2600)
330 - The scheduler did not use poll() when epoll() was not
331 supported by the running kernel (STR #2582)
332 - Fixed a compile problem with Heimdal Kerberos (STR #2592)
333 - The USB backend now retries connections to a printer
334 indefinitely rather than stopping the queue.
335 - Printers with untranslated JCL options were not exported
336 to Samba correctly (STR #2570)
337 - The USB backend did not work with some Minolta USB
339 - The strcasecmp() emulation code did not compile (STR
341 - The scheduler would crash if a job was sent to an empty
343 - The lpc command did not work in non-UTF-8 locales (STR
345 - Subscriptions for printer-stopped events also received
346 other state changes (STR #2572)
347 - cupstestppd incorrectly reported translation errors for
349 - ppdOpen() did not handle custom options properly when the
350 Custom attribute appeared before the OpenUI for that
352 - The scheduler could crash when deleting a printer or
354 - The Mac OS X USB backend did not allow for requeuing of
355 jobs submitted to a class.
356 - lpmove didn't accept a job ID by itself.
357 - The scheduler incorrectly removed job history information
358 for remote print jobs.
359 - The scheduler incorrectly sent the
360 "com.apple.printerListChanged" message for printer state
362 - The PostScript filter drew the page borders (when enabled)
363 outside the imageable area.
364 - The LPD and IPP backends did not default to the correct
365 port numbers when using alternate scheme names.
366 - The scheduler incorrectly deleted hardwired remote
367 printers on system sleep.
368 - The scheduler would abort if a bad browse protocol name
369 was listed in the cupsd.conf file.
370 - The online cupsd.conf help file incorrectly showed
371 "dns-sd" instead of "dnssd" for Bonjour sharing.
372 - The scheduler could crash changing the port-monitor value.
373 - The scheduler generated CoreFoundation errors when run as
374 a background process.
375 - When printing with number-up > 1, it was possible to get
379 CHANGES IN CUPS V1.3.4
381 - Documentation updates (STR #2560, STR #2563, STR #2569)
382 - CUPS now maps the "nb" locale to "no" on all platforms
384 - CUPS did not work with a Windows 2003 R2 KDC (STR #2568)
385 - ippReadIO() could read past the end of a buffer (STR
387 - The scheduler would crash on shutdown if it was unable
388 to create a Kerberos context.
389 - Multiple AuthTypes in cupsd.conf did not work (STR
391 - The snmp.conf file referenced the wrong man page (STR
393 - The cupsaddsmb program didn't handle domain sockets
395 - The scheduler now validates device URIs when adding
397 - Updated httpSeparateURI() to support hostnames with
398 the backslash character.
399 - Updated the Japanese localization (STR #2546)
400 - The parallel backend now gets the current IEEE-1284
401 device ID string on Linux (STR #2553)
402 - The IPP backend now checks the job status at
403 variable intervals (from 1 to 10 seconds) instead
404 of every 10 seconds for faster remote printing
406 - "lpr -p" and "lpr -l" did not work (STR #2544)
407 - Compilation failed when a previous version of CUPS
408 was installed and was included in the SSL include
410 - The scheduler did not reject requests with charsets
411 other than US-ASCII or UTF-8, and the CUPS API
412 incorrectly passed the locale charset to the scheduler
413 instead of UTF-8 (STR #2537)
414 - cups-deviced did not filter out duplicate devices.
415 - The AppleTalk backend incorrectly added a scheme
416 listing when AppleTalk was disabled or no printers
418 - The PostScript filter generated N^2 copies when the
419 printer supported collated copies and user requested
420 reverse-order output.
421 - The scheduler did not reprint all of the files in a
423 - The scheduler did not update the printcap file after
424 removing stale remote queues.
425 - The cupsd.conf man page incorrectly referenced
426 "AuthType Kerberos" instead of "AuthType Negotiate".
429 CHANGES IN CUPS V1.3.3
431 - The scheduler did not use the attributes-natural-language
432 attribute when passing the LANG environment variable to
433 cups-deviced or cups-driverd.
434 - The scheduler did not use the printer-op-policy when
435 modifying classes or printers (STR #2525)
436 - The auth-info-required attribute was not always updated
437 for remote queues that required authentication.
438 - The German web interface localization contained errors
440 - The Swedish localization contained errors (STR #2522)
443 CHANGES IN CUPS V1.3.2
445 - The 1.3.1 release was incorrectly created from the
446 1.4.x source tree (STR #2519)
447 - Added support for 32/64-bit libraries on HP-UX
449 - The scheduler incorrectly used portrait as the default
450 orientation (STR #2513)
451 - The scheduler no longer writes the printcap file for
452 every remote printer update (STR #2512)
453 - Remote raw printing with multiple copies did not work
455 - Updated the configure script to require at least autoconf
457 - Some gzip'd PPD files were not read in their entirety
461 CHANGES IN CUPS V1.3.1
463 - Documentation updates.
464 - The USB backend on Mac OS X could hang if the driver and
465 printer did not match.
466 - Delegated Kerberos credentials were not working.
467 - "make distclean" incorrectly removed the edit-config.tmpl
469 - Fix compile problem on HP-UX (STR #2501)
470 - The cupstestppd utility now tests for resolutions greater
471 than 99999 DPI to detect a missing "x" between the X and Y
473 - Fixed many problems in the various translations and added
474 a new "checkpo" utility to validate them.
475 - The cupstestppd utility now tests the custom page size code
476 for CUPS raster drivers.
477 - cupsLangDefault() did not attempt to return a language that
478 was supported by the calling application.
479 - If a remote printer stopped while a job was being sent, the
480 local queue would also get stopped and the job re-queued,
481 resulting in duplicate prints in some cases.
482 - A few Apple-specific job options needed to be omitted when
483 printing a banner page.
484 - The new peer credential support did not compile on FreeBSD
486 - Direct links to help files did not set the current section
487 so the table-of-contents was not shown.
488 - The configure script did not support --localedir=foo (STR #2488)
489 - The backends were not displaying their localized messages.
490 - CUPS-Authenticate-Job did not require Kerberos authentication
491 on queues protected by Kerberos.
492 - The Zebra ZPL driver did not work with Brady label printers
494 - Norwegian wasn't localized on Mac OS X.
495 - getnameinfo() returns an error on some systems when DNS is
496 not available, leading to numerous problems (STR #2486)
497 - The cupsfilter command did not work properly on Mac OS X.
498 - The scheduler makefile contained a typo (STR #2483)
499 - The TBCP and BCP port monitors did not handle the trailing
500 CTRL-D in some PostScript output properly.
501 - Fixed the localization instructions and German template for
502 the "Find New Printers" button (STR #2478)
503 - The web interface did not work with the Chinese localization
505 - The web interface home page did not work for languages that
506 were only partially localized (STR #2472)
507 - Updated the Spanish web interface localization (STR #2473)
508 - ppdLocalize() did not work for country-specific localizations.
511 CHANGES IN CUPS V1.3.0
513 - The scheduler did not handle out-of-file conditions
514 gracefully when accepting new connections, leading to
516 - The scheduler did not detect ServerBin misconfigurations
518 - "AuthType Default" did not work as expected when the
519 "DefaultAuthType foo" line appeared after it in the
521 - The on-line help did not describe many common printing
523 - The IPP backend did not return the "auth required" status
524 when printing to a Kerberos-protected queue.
525 - The scheduler was not looking in the correct directories
526 for LSB PPD files (STR #2464)
527 - Changed references to ESP Ghostscript to GPL Ghostscript
529 - The PostScript filter did not cleanly terminate when
530 the job was canceled or stopped.
531 - Fixed generation of Kerberos credentials for remote
532 printing. Note that this requires a recent version of
533 MIT Kerberos with a working krb5_cc_new_unique()
534 function or Heimdal Kerberos.
535 - Added Portuguese and updated Italian message catalogs.
538 CHANGES IN CUPS V1.3rc2
540 - Added more range checking to the pdftops filter.
541 - The scheduler would crash if a remote IPP queue was stopped
543 - The scheduler did not allow "DefaultAuthType None".
546 CHANGES IN CUPS V1.3rc1
548 - Updated the German localization (STR #2443)
549 - cupsAdminGetServerSettings() did not handle </Foo> properly.
550 - When lprm and cancel are run with no job ID, they now will
551 cancel the first stopped job if no pending or processing
552 jobs are left in the queue.
553 - The scheduler now logs successful print jobs, filter
554 failures, and the job file types at the default log
556 - The scheduler now logs the usernames it is using for
557 authorization at LogLevel debug instead of debug2 (STR #2448)
558 - Added Intellitech Intellibar and Zebra CPCL PPDs to the list
560 - Added 6" and 8" wide label sizes for the Zebra ZPL Label
561 Printer driver (STR #2442)
562 - The cupsaddsmb program and web interface now support
563 exporting of 64-bit Windows drivers, when available
565 - Moving a job that was printing did not stop the job on the
566 original printer (STR #2262)
567 - The cups-lpd mini-daemon did not work on Mac OS X server.
568 - Added httpGetAuthString() and httpSetAuthString() APIs to get
569 and set the current (cached) authorization string to use for
571 - Updated the default cupsd.conf policy to list the
572 "administrative" operations separately from the "printer
573 control" operations so that it is easier to define a
574 group of users that are "printer operators".
575 - The web interface now pulls the default cupsd.conf file
576 from cupsd.conf.default in the CUPS config directory.
577 - Added a help file for using Kerberos with CUPS.
578 - The scheduler now strips the "@KDC" portion of Kerberos
579 usernames since those usernames typically do not appear in
580 the group membership lists used by CUPS.
581 - cupsMarkOptions() could (incorrectly) leave multiple option
583 - Backends could (incorrectly) run as root during discovery
585 - Avahi is now supported for DNS-SD (Bonjour) printer sharing
587 - The default cupsd.conf file had typos and old operation names
589 - The scheduler now erases authentication cache files using the
590 7-pass US DoD algorithm.
591 - Delegated Kerberos credentials (proxy authentication) did not
593 - The filter makefile did not optimize the libcupsimage.2.dylib
594 with a sectorder file.
595 - The IPP backend incorrectly wrote an empty printer message
596 when processing the "none" state reason.
597 - The USB backend could deadlock on Mac OS X while performing
598 a side-channel command.
599 - The scheduler did not prevent remote queues from being
601 - The scheduler did not remove the temporary request file on
602 authentication errors.
603 - ppdLocalizeIPPReason() did not handle "scheme:" schemes or
605 - ppdLocalizeIPPReason() was not exported on Mac OS X.
608 CHANGES IN CUPS V1.3b1
610 - Copyright updates - CUPS is now owned by Apple Inc.
611 - Documentation updates (STR #1775, STR #2027, STR #2130,
612 STR #2131, STR #2263, STR #2356, STR #2397)
613 - Added new cupsfilter utility (STR #1734)
614 - Added new job-printer-state-message and
615 job-printer-state-reasons attributes to jobs (STR #2418)
616 - Added LDAP+SSL support (STR #1967)
617 - CUPS now supports authentication via peer credentials
618 over domain sockets (STR #2242, STR #2277)
619 - The CUPS sample driver PPDs are now generated by the PPD
620 compiler and include all of the localized languages by
622 - You can now specify "AuthType Default" in the cupsd.conf
623 file to use the default authentication defined by the
624 DefaultAuthType directive.
625 - The SNMP backend no longer adds a default Address line
626 when none is specified in the snmp.conf file; this allows
627 the backend to be easily disabled as needed (STR #2434)
628 - Added a new cupsctl command for doing basic changes to
629 the cupsd.conf file (STR #1777)
630 - Added a new ppdLocalizeIPPReason() function to get the
631 localized text/URI for a given IPP reason keyword for a
633 - Removed the deskjet2.ppd driver, as it only worked with
634 a very small subset of HP DeskJet printers and was
635 confusing to users. The rastertohp driver still
636 supports the deskjet2.ppd options for existing queues.
637 - The scheduler did not add a trailing banner page if a
638 client did not specify the last document in a job (STR
640 - The scheduler did not report Bonjour shared printers as
641 remote printers (STR #2384)
642 - Added new -R and -W options to the cupstestppd program
643 for greater control over the testing of PPDs.
644 - Added a new cupsGetServerPPD() function for getting
645 an available PPD from the server (STR #2334)
646 - Added a new cupsDoIORequest() function for reading
647 and writing files via IPP requests (STR #2334)
648 - Added a new CUPS_GET_PPD operation for getting an
649 available PPD file on the server (STR #2334)
650 - CUPS_GET_PPDS now reports multiple ppd-product values
651 based on the PPD ModelName and Product strings (STR
653 - CUPS_GET_PPDS now reports the PSVersion attributes
654 from a PPD file in the ppd-psversion attribute
656 - CUPS_GET_PPDS now reports the cupsModelNumber attribute
657 from a PPD file in the ppd-model-number attribute (STR
659 - CUPS_GET_PPDS now reports a driver type string in the
660 ppd-type attribute based on the cupsFax and cupsFilter
661 attributes in a PPD file (STR #2383)
662 - Added a new printer attribute called "cups-version"
663 which reports the version of CUPS that is running
665 - backendRunLoop() now aborts immediately on SIGTERM
666 if no data has been written yet (STR #2103)
667 - Due to poor IPP support from the vendors, the SNMP
668 backend no longer tries IPP connections; instead,
669 it now uses a lookup file with fallback to port 9100
670 (socket://address) and 515 (lpd://address) printing
671 (STR #2035, STR #2354)
672 - The scheduler now recreates the CUPS log directory as
674 - cupsLangDefault() now maps new-style Apple locale names
675 to the traditional ll_CC form (STR #2357)
676 - Add new cupsArrayNew2() API to support hashed lookups
677 of array elements (STR #2358)
678 - ppdConflicts() optimizations (STR #2358)
679 - The cupstestppd program now tests for existing filters,
680 icons, profiles, and dialog extensions (STR #2326)
681 - The web interface no longer lists new printers on the
682 main administration page. Instead, a new "List Available
683 Printers" button is provided that shows a separate page
684 with the list of printers.
685 - The web interface now supports setting the banner and
686 policy options on raw printers and classes (STR #2238)
687 - The socket backend now reads any pending back-channel
688 data before shutting down the socket (STR #2325)
689 - Added a new ErrorPolicy directive in the cupsd.conf
691 - Printers that use JCL options are now exported to Samba
692 correctly (STR #1985)
693 - The IPP backend now relays printer-state-message values
694 from the server to the client (STR #2109)
695 - Added support for the PWG printer-alert and
696 printer-alert-description attributes (STR #2088)
697 - Added support for LPD "stream" mode (STR #2036)
698 - The scheduler now reports the PostScript product string
699 from PPD files in CUPS-Get-PPDs responses (STR #1900)
700 - Raw printing with queues pointing to the file pseudo-
701 device and multiple files and/or banners now works (STR
703 - Added new public cupsAdminGetServerSettings() and
704 cupsAdminSetServerSettings() APIs.
705 - Added new "makebuttons" script in the "tools" directory
706 for creating web interface buttons (STR #2231)
707 - Added support for DNS-SD (aka "Bonjour") printer sharing
709 - Job operations (cancel, hold, release, etc.) from the
710 web interface now return back to the original page (STR
712 - The classes or printers list is now shown after a
713 successful deletion from the web interface (STR #1999)
714 - The default configuration now allows browse packets from
715 any address (STR #2008)
716 - The web interface now provides an "allow printing from the
717 Internet" check box (STR #1897)
718 - The notify-events-default and
719 notify-lease-duration-default attributes can now be set
721 - Server-side default options are now sent to clients when
722 the "printer-defaults" attribute group is requested (STR
724 - Added support for Linux "relro" linker option (STR #1614)
725 - CUPS now validates the number-up option value (STR #1329)
726 - The on-line help now provides better search capabilities
728 - The web interface "Add This Printer" button now allows you
729 to change the printer name, description, and location
731 - Added support for Mac OS X authorization services
733 - Added support for driver-specific pre-filters (STR #2108)
734 - Added a new side-channel API for drivers and backends
735 for basic device control and information queries (STR
737 - The scheduler now uses poll(), epoll(), or /dev/kqueue
738 instead of select() when possible (STR #1261)
739 - Added new cupsArrayGetIndex() and cupsArrayGetInsert()
740 functions to get the current index and insertion
741 positions of an array.
742 - Added a new --with-max-copies configure option (STR
744 - Added new cupsRemoveDest() and cupsSetDefaultDest()
746 - Added support for cupsPJLCharset attribute in PPD files
747 which specifies the character set that is used in PJL
749 - Moved the definition of the (private) _http_s structure
750 to http-private.h; code that directly accesses the
751 http_t members will no longer compile!
752 - Added support for setting the document-format-default
753 attribute on a per-printer basis.
754 - Added support for IntelliBar label printers.