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