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