6 - Documentation updates (STR #2646, STR #2647, STR #2649)
7 - The scheduler did not support printer supply attributes
9 - The Kerberos credentials provided by some Windows KDCs
10 were still too large - now use a dynamic buffer to
11 support credentials up to 64k in size (STR #2695)
12 - Printing a test page from the web interface incorrectly
13 defaulted to the "guest" user (STR #2688)
14 - The cupsEncodeOptions2() function did not parse multiple-
15 value attribute values properly (STR #2690)
16 - The scheduler incorrectly sent printer-stopped events for
17 status updates from the print filters (STR #2680)
18 - The IPP backend could crash when handling printer errors
20 - Multi-file jobs did not print to remote CUPS servers
22 - The scheduler did not provide the Apple language ID to
24 - Kerberos authentication did not work with the web
25 interface (STR #2606, STR #2669)
26 - The requesing-user-name-allowed and -denied functionality
27 did not work for Kerberos-authenticated usernames (STR
29 - CUPS didn't compile on HP-UX 11i (STR #2679)
30 - cupsEncodeOptions2() did not handle option values like
31 "What's up, doc?" properly.
32 - Added lots of memory allocation checks (Fortify)
33 - The scheduler would crash if it was unable to add a job
35 - ppdOpen*() did not check all memory allocations (Coverity)
36 - ippReadIO() did not check all memory allocations (Coverity)
37 - The PostScript filter did not detect read errors (Coverity)
38 - The scheduler did not check for a missing job-sheets-completed
39 attribute when sending an event notification (Coverity)
40 - "Set Printer Options" might not work with raw queues (Coverity)
41 - cupsRasterInterpretPPD() could crash on certain PostScript
43 - The USB backend did not check for back-channel support
44 properly on all systems (Coverity)
45 - Fixed memory leaks in the GIF and PNM image loading code
47 - Removed some dead code in the CUPS API and scheduler (Coverity)
48 - Fixed two overflow bugs in the HP-GL/2 filter (Coverity)
49 - Fixed another ASN1 string parsing bug (STR #2665)
50 - The RSS notifier directory was not installed with the
52 - The standard CUPS backends could use 100% CPU while waiting
53 for print data (STR #2664)
54 - Filename-based MIME rules did not work (STR #2659)
55 - The cups-polld program did not exit if the scheduler crashed
57 - The scheduler would crash if you tried to set the port-monitor
58 on a raw queue (STR #2639)
59 - The scheduler could crash if a polled remote printer was
60 converted to a class (STR #2656)
61 - The web interface and cupsctl did not correctly reflect
62 the "allow printing from the Internet" state (STR #2650)
63 - The scheduler incorrectly treated MIME types as case-
65 - The Java support classes did not send UTF-8 strings to
66 the scheduler (STR #2651)
67 - The CGI code did not handle interrupted POST requests
69 - The PostScript filter incorrectly handled number-up when
70 the number of pages was evenly divisible by the number-up
72 - The PDF filter incorrectly filtered pages when page-ranges
73 and number-up were both specified (STR #2643)
74 - The IPP backend did not handle printing of pictwps files
75 to a non-Mac CUPS server properly.
76 - The scheduler did not detect network interface changes
77 on operating systems other than Mac OS X (STR #2631)
78 - The scheduler now logs the UNIX error message when it
79 is unable to create a request file such as a print job.
80 - Added support for --enable-pie on Mac OS X.
83 CHANGES IN CUPS V1.3.5
85 - The SNMP backend did not check for negative string
87 - The scheduler incorrectly removed auth-info attributes,
88 potentially leading to a loss of all options for a job.
89 - The scheduler stopped sending CUPS browse packets on a
90 restart when using fixed addresses (STR #2618)
91 - Fixed PDF filter security issues (CVE-2007-4352
92 CVE-2007-5392 CVE-2007-5393)
93 - Changing settings would always change the DefaultAuthType
94 and Allow lines (STR #2580)
95 - The scheduler would crash when submitting an undefined
96 format file from Samba with LogLevel debug2 (STR #2600)
97 - The scheduler did not use poll() when epoll() was not
98 supported by the running kernel (STR #2582)
99 - Fixed a compile problem with Heimdal Kerberos (STR #2592)
100 - The USB backend now retries connections to a printer
101 indefinitely rather than stopping the queue.
102 - Printers with untranslated JCL options were not exported
103 to Samba correctly (STR #2570)
104 - The USB backend did not work with some Minolta USB
106 - The strcasecmp() emulation code did not compile (STR
108 - The scheduler would crash if a job was sent to an empty
110 - The lpc command did not work in non-UTF-8 locales (STR
112 - Subscriptions for printer-stopped events also received
113 other state changes (STR #2572)
114 - cupstestppd incorrectly reported translation errors for
116 - ppdOpen() did not handle custom options properly when the
117 Custom attribute appeared before the OpenUI for that
119 - The scheduler could crash when deleting a printer or
121 - The Mac OS X USB backend did not allow for requeuing of
122 jobs submitted to a class.
123 - lpmove didn't accept a job ID by itself.
124 - The scheduler incorrectly removed job history information
125 for remote print jobs.
126 - The scheduler incorrectly sent the
127 "com.apple.printerListChanged" message for printer state
129 - The PostScript filter drew the page borders (when enabled)
130 outside the imageable area.
131 - The LPD and IPP backends did not default to the correct
132 port numbers when using alternate scheme names.
133 - The scheduler incorrectly deleted hardwired remote
134 printers on system sleep.
135 - The scheduler would abort if a bad browse protocol name
136 was listed in the cupsd.conf file.
137 - The online cupsd.conf help file incorrectly showed
138 "dns-sd" instead of "dnssd" for Bonjour sharing.
139 - The scheduler could crash changing the port-monitor value.
140 - The scheduler generated CoreFoundation errors when run as
141 a background process.
142 - When printing with number-up > 1, it was possible to get
146 CHANGES IN CUPS V1.3.4
148 - Documentation updates (STR #2560, STR #2563, STR #2569)
149 - CUPS now maps the "nb" locale to "no" on all platforms
151 - CUPS did not work with a Windows 2003 R2 KDC (STR #2568)
152 - ippReadIO() could read past the end of a buffer (STR
154 - The scheduler would crash on shutdown if it was unable
155 to create a Kerberos context.
156 - Multiple AuthTypes in cupsd.conf did not work (STR
158 - The snmp.conf file referenced the wrong man page (STR
160 - The cupsaddsmb program didn't handle domain sockets
162 - The scheduler now validates device URIs when adding
164 - Updated httpSeparateURI() to support hostnames with
165 the backslash character.
166 - Updated the Japanese localization (STR #2546)
167 - The parallel backend now gets the current IEEE-1284
168 device ID string on Linux (STR #2553)
169 - The IPP backend now checks the job status at
170 variable intervals (from 1 to 10 seconds) instead
171 of every 10 seconds for faster remote printing
173 - "lpr -p" and "lpr -l" did not work (STR #2544)
174 - Compilation failed when a previous version of CUPS
175 was installed and was included in the SSL include
177 - The scheduler did not reject requests with charsets
178 other than US-ASCII or UTF-8, and the CUPS API
179 incorrectly passed the locale charset to the scheduler
180 instead of UTF-8 (STR #2537)
181 - cups-deviced did not filter out duplicate devices.
182 - The AppleTalk backend incorrectly added a scheme
183 listing when AppleTalk was disabled or no printers
185 - The PostScript filter generated N^2 copies when the
186 printer supported collated copies and user requested
187 reverse-order output.
188 - The scheduler did not reprint all of the files in a
190 - The scheduler did not update the printcap file after
191 removing stale remote queues.
192 - The cupsd.conf man page incorrectly referenced
193 "AuthType Kerberos" instead of "AuthType Negotiate".
196 CHANGES IN CUPS V1.3.3
198 - The scheduler did not use the attributes-natural-language
199 attribute when passing the LANG environment variable to
200 cups-deviced or cups-driverd.
201 - The scheduler did not use the printer-op-policy when
202 modifying classes or printers (STR #2525)
203 - The auth-info-required attribute was not always updated
204 for remote queues that required authentication.
205 - The German web interface localization contained errors
207 - The Swedish localization contained errors (STR #2522)
210 CHANGES IN CUPS V1.3.2
212 - The 1.3.1 release was incorrectly created from the
213 1.4.x source tree (STR #2519)
214 - Added support for 32/64-bit libraries on HP-UX
216 - The scheduler incorrectly used portrait as the default
217 orientation (STR #2513)
218 - The scheduler no longer writes the printcap file for
219 every remote printer update (STR #2512)
220 - Remote raw printing with multiple copies did not work
222 - Updated the configure script to require at least autoconf
224 - Some gzip'd PPD files were not read in their entirety
228 CHANGES IN CUPS V1.3.1
230 - Documentation updates.
231 - The USB backend on Mac OS X could hang if the driver and
232 printer did not match.
233 - Delegated Kerberos credentials were not working.
234 - "make distclean" incorrectly removed the edit-config.tmpl
236 - Fix compile problem on HP-UX (STR #2501)
237 - The cupstestppd utility now tests for resolutions greater
238 than 99999 DPI to detect a missing "x" between the X and Y
240 - Fixed many problems in the various translations and added
241 a new "checkpo" utility to validate them.
242 - The cupstestppd utility now tests the custom page size code
243 for CUPS raster drivers.
244 - cupsLangDefault() did not attempt to return a language that
245 was supported by the calling application.
246 - If a remote printer stopped while a job was being sent, the
247 local queue would also get stopped and the job re-queued,
248 resulting in duplicate prints in some cases.
249 - A few Apple-specific job options needed to be omitted when
250 printing a banner page.
251 - The new peer credential support did not compile on FreeBSD
253 - Direct links to help files did not set the current section
254 so the table-of-contents was not shown.
255 - The configure script did not support --localedir=foo (STR #2488)
256 - The backends were not displaying their localized messages.
257 - CUPS-Authenticate-Job did not require Kerberos authentication
258 on queues protected by Kerberos.
259 - The Zebra ZPL driver did not work with Brady label printers
261 - Norwegian wasn't localized on Mac OS X.
262 - getnameinfo() returns an error on some systems when DNS is
263 not available, leading to numerous problems (STR #2486)
264 - The cupsfilter command did not work properly on Mac OS X.
265 - The scheduler makefile contained a typo (STR #2483)
266 - The TBCP and BCP port monitors did not handle the trailing
267 CTRL-D in some PostScript output properly.
268 - Fixed the localization instructions and German template for
269 the "Find New Printers" button (STR #2478)
270 - The web interface did not work with the Chinese localization
272 - The web interface home page did not work for languages that
273 were only partially localized (STR #2472)
274 - Updated the Spanish web interface localization (STR #2473)
275 - ppdLocalize() did not work for country-specific localizations.
278 CHANGES IN CUPS V1.3.0
280 - The scheduler did not handle out-of-file conditions
281 gracefully when accepting new connections, leading to
283 - The scheduler did not detect ServerBin misconfigurations
285 - "AuthType Default" did not work as expected when the
286 "DefaultAuthType foo" line appeared after it in the
288 - The on-line help did not describe many common printing
290 - The IPP backend did not return the "auth required" status
291 when printing to a Kerberos-protected queue.
292 - The scheduler was not looking in the correct directories
293 for LSB PPD files (STR #2464)
294 - Changed references to ESP Ghostscript to GPL Ghostscript
296 - The PostScript filter did not cleanly terminate when
297 the job was canceled or stopped.
298 - Fixed generation of Kerberos credentials for remote
299 printing. Note that this requires a recent version of
300 MIT Kerberos with a working krb5_cc_new_unique()
301 function or Heimdal Kerberos.
302 - Added Portuguese and updated Italian message catalogs.
305 CHANGES IN CUPS V1.3rc2
307 - Added more range checking to the pdftops filter.
308 - The scheduler would crash if a remote IPP queue was stopped
310 - The scheduler did not allow "DefaultAuthType None".
313 CHANGES IN CUPS V1.3rc1
315 - Updated the German localization (STR #2443)
316 - cupsAdminGetServerSettings() did not handle </Foo> properly.
317 - When lprm and cancel are run with no job ID, they now will
318 cancel the first stopped job if no pending or processing
319 jobs are left in the queue.
320 - The scheduler now logs successful print jobs, filter
321 failures, and the job file types at the default log
323 - The scheduler now logs the usernames it is using for
324 authorization at LogLevel debug instead of debug2 (STR #2448)
325 - Added Intellitech Intellibar and Zebra CPCL PPDs to the list
327 - Added 6" and 8" wide label sizes for the Zebra ZPL Label
328 Printer driver (STR #2442)
329 - The cupsaddsmb program and web interface now support
330 exporting of 64-bit Windows drivers, when available
332 - Moving a job that was printing did not stop the job on the
333 original printer (STR #2262)
334 - The cups-lpd mini-daemon did not work on Mac OS X server.
335 - Added httpGetAuthString() and httpSetAuthString() APIs to get
336 and set the current (cached) authorization string to use for
338 - Updated the default cupsd.conf policy to list the
339 "administrative" operations separately from the "printer
340 control" operations so that it is easier to define a
341 group of users that are "printer operators".
342 - The web interface now pulls the default cupsd.conf file
343 from cupsd.conf.default in the CUPS config directory.
344 - Added a help file for using Kerberos with CUPS.
345 - The scheduler now strips the "@KDC" portion of Kerberos
346 usernames since those usernames typically do not appear in
347 the group membership lists used by CUPS.
348 - cupsMarkOptions() could (incorrectly) leave multiple option
350 - Backends could (incorrectly) run as root during discovery
352 - Avahi is now supported for DNS-SD (Bonjour) printer sharing
354 - The default cupsd.conf file had typos and old operation names
356 - The scheduler now erases authentication cache files using the
357 7-pass US DoD algorithm.
358 - Delegated Kerberos credentials (proxy authentication) did not
360 - The filter makefile did not optimize the libcupsimage.2.dylib
361 with a sectorder file.
362 - The IPP backend incorrectly wrote an empty printer message
363 when processing the "none" state reason.
364 - The USB backend could deadlock on Mac OS X while performing
365 a side-channel command.
366 - The scheduler did not prevent remote queues from being
368 - The scheduler did not remove the temporary request file on
369 authentication errors.
370 - ppdLocalizeIPPReason() did not handle "scheme:" schemes or
372 - ppdLocalizeIPPReason() was not exported on Mac OS X.
375 CHANGES IN CUPS V1.3b1
377 - Copyright updates - CUPS is now owned by Apple Inc.
378 - Documentation updates (STR #1775, STR #2027, STR #2130,
379 STR #2131, STR #2263, STR #2356, STR #2397)
380 - Added new cupsfilter utility (STR #1734)
381 - Added new job-printer-state-message and
382 job-printer-state-reasons attributes to jobs (STR #2418)
383 - Added LDAP+SSL support (STR #1967)
384 - CUPS now supports authentication via peer credentials
385 over domain sockets (STR #2242, STR #2277)
386 - The CUPS sample driver PPDs are now generated by the PPD
387 compiler and include all of the localized languages by
389 - You can now specify "AuthType Default" in the cupsd.conf
390 file to use the default authentication defined by the
391 DefaultAuthType directive.
392 - The SNMP backend no longer adds a default Address line
393 when none is specified in the snmp.conf file; this allows
394 the backend to be easily disabled as needed (STR #2434)
395 - Added a new cupsctl command for doing basic changes to
396 the cupsd.conf file (STR #1777)
397 - Added a new ppdLocalizeIPPReason() function to get the
398 localized text/URI for a given IPP reason keyword for a
400 - Removed the deskjet2.ppd driver, as it only worked with
401 a very small subset of HP DeskJet printers and was
402 confusing to users. The rastertohp driver still
403 supports the deskjet2.ppd options for existing queues.
404 - The scheduler did not add a trailing banner page if a
405 client did not specify the last document in a job (STR
407 - The scheduler did not report Bonjour shared printers as
408 remote printers (STR #2384)
409 - Added new -R and -W options to the cupstestppd program
410 for greater control over the testing of PPDs.
411 - Added a new cupsGetServerPPD() function for getting
412 an available PPD from the server (STR #2334)
413 - Added a new cupsDoIORequest() function for reading
414 and writing files via IPP requests (STR #2334)
415 - Added a new CUPS_GET_PPD operation for getting an
416 available PPD file on the server (STR #2334)
417 - CUPS_GET_PPDS now reports multiple ppd-product values
418 based on the PPD ModelName and Product strings (STR
420 - CUPS_GET_PPDS now reports the PSVersion attributes
421 from a PPD file in the ppd-psversion attribute
423 - CUPS_GET_PPDS now reports the cupsModelNumber attribute
424 from a PPD file in the ppd-model-number attribute (STR
426 - CUPS_GET_PPDS now reports a driver type string in the
427 ppd-type attribute based on the cupsFax and cupsFilter
428 attributes in a PPD file (STR #2383)
429 - Added a new printer attribute called "cups-version"
430 which reports the version of CUPS that is running
432 - backendRunLoop() now aborts immediately on SIGTERM
433 if no data has been written yet (STR #2103)
434 - Due to poor IPP support from the vendors, the SNMP
435 backend no longer tries IPP connections; instead,
436 it now uses a lookup file with fallback to port 9100
437 (socket://address) and 515 (lpd://address) printing
438 (STR #2035, STR #2354)
439 - The scheduler now recreates the CUPS log directory as
441 - cupsLangDefault() now maps new-style Apple locale names
442 to the traditional ll_CC form (STR #2357)
443 - Add new cupsArrayNew2() API to support hashed lookups
444 of array elements (STR #2358)
445 - ppdConflicts() optimizations (STR #2358)
446 - The cupstestppd program now tests for existing filters,
447 icons, profiles, and dialog extensions (STR #2326)
448 - The web interface no longer lists new printers on the
449 main administration page. Instead, a new "List Available
450 Printers" button is provided that shows a separate page
451 with the list of printers.
452 - The web interface now supports setting the banner and
453 policy options on raw printers and classes (STR #2238)
454 - The socket backend now reads any pending back-channel
455 data before shutting down the socket (STR #2325)
456 - Added a new ErrorPolicy directive in the cupsd.conf
458 - Printers that use JCL options are now exported to Samba
459 correctly (STR #1985)
460 - The IPP backend now relays printer-state-message values
461 from the server to the client (STR #2109)
462 - Added support for the PWG printer-alert and
463 printer-alert-description attributes (STR #2088)
464 - Added support for LPD "stream" mode (STR #2036)
465 - The scheduler now reports the PostScript product string
466 from PPD files in CUPS-Get-PPDs responses (STR #1900)
467 - Raw printing with queues pointing to the file pseudo-
468 device and multiple files and/or banners now works (STR
470 - Added new public cupsAdminGetServerSettings() and
471 cupsAdminSetServerSettings() APIs.
472 - Added new "makebuttons" script in the "tools" directory
473 for creating web interface buttons (STR #2231)
474 - Added support for DNS-SD (aka "Bonjour") printer sharing
476 - Job operations (cancel, hold, release, etc.) from the
477 web interface now return back to the original page (STR
479 - The classes or printers list is now shown after a
480 successful deletion from the web interface (STR #1999)
481 - The default configuration now allows browse packets from
482 any address (STR #2008)
483 - The web interface now provides an "allow printing from the
484 Internet" check box (STR #1897)
485 - The notify-events-default and
486 notify-lease-duration-default attributes can now be set
488 - Server-side default options are now sent to clients when
489 the "printer-defaults" attribute group is requested (STR
491 - Added support for Linux "relro" linker option (STR #1614)
492 - CUPS now validates the number-up option value (STR #1329)
493 - The on-line help now provides better search capabilities
495 - The web interface "Add This Printer" button now allows you
496 to change the printer name, description, and location
498 - Added support for Mac OS X authorization services
500 - Added support for driver-specific pre-filters (STR #2108)
501 - Added a new side-channel API for drivers and backends
502 for basic device control and information queries (STR
504 - The scheduler now uses poll(), epoll(), or /dev/kqueue
505 instead of select() when possible (STR #1261)
506 - Added new cupsArrayGetIndex() and cupsArrayGetInsert()
507 functions to get the current index and insertion
508 positions of an array.
509 - Added a new --with-max-copies configure option (STR
511 - Added new cupsRemoveDest() and cupsSetDefaultDest()
513 - Added support for cupsPJLCharset attribute in PPD files
514 which specifies the character set that is used in PJL
516 - Moved the definition of the (private) _http_s structure
517 to http-private.h; code that directly accesses the
518 http_t members will no longer compile!
519 - Added support for setting the document-format-default
520 attribute on a per-printer basis.
521 - Added support for IntelliBar label printers.