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