]>
Commit | Line | Data |
---|---|---|
ef416fc2 | 1 | <HTML> |
2 | <!-- SECTION: Getting Started --> | |
3 | <HEAD> | |
4 | <TITLE>What's New in CUPS 1.2</TITLE> | |
5 | </HEAD> | |
6 | <BODY> | |
7 | ||
757d2cad | 8 | <P>CUPS 1.2 adds over 90 changes and new features to CUPS 1.1.x. |
9 | This page provides a high-level outline of these changes. If you | |
ef416fc2 | 10 | have never used CUPS before, read the <A |
757d2cad | 11 | HREF="overview.html">"Overview of CUPS"</A> document instead.</P> |
ef416fc2 | 12 | |
757d2cad | 13 | <H2 CLASS="title"><A NAME="CHANGES">Changes in CUPS 1.2</A></H2> |
ef416fc2 | 14 | |
757d2cad | 15 | <DL CLASS="category"> |
ef416fc2 | 16 | |
757d2cad | 17 | <DT>Networking</DT> |
18 | <DD><OL START="1"> | |
ef416fc2 | 19 | |
757d2cad | 20 | <LI><EM>IPv6;</EM> CUPS now supports IPv6 |
21 | connectivity when the host operating system | |
22 | provides it</LI> | |
ef416fc2 | 23 | |
757d2cad | 24 | <LI><EM>Domain Sockets;</EM> CUPS now supports |
25 | the much faster UNIX domain sockets for local | |
26 | printing</LI> | |
ef416fc2 | 27 | |
757d2cad | 28 | <LI><EM>Auto-SSL;</EM> CUPS now automatically |
29 | detects when a client is connecting with SSL | |
30 | encryption, so it can support both unencrypted, | |
31 | SSL-encrypted, and TLS-encrypted connections over | |
32 | a single port</LI> | |
33 | ||
a74454a7 | 34 | <LI><EM>Network Printer Discovery;</EM> CUPS can |
35 | now find printers on the LAN using SNMP</LI> | |
36 | ||
757d2cad | 37 | </OL></DD> |
ef416fc2 | 38 | |
ef416fc2 | 39 | |
757d2cad | 40 | <DT>Browsing</DT> |
a74454a7 | 41 | <DD><OL START="5"> |
757d2cad | 42 | |
43 | <LI><EM>LDAP Support;</EM> CUPS now supports | |
44 | printer sharing via the Lightweight Directory | |
45 | Access Protocol, version 3</LI> | |
46 | ||
47 | <LI><EM>Printer Lease Times;</EM> The server's | |
48 | BrowseTimeout value is now included</LI> | |
49 | ||
50 | <LI><EM>Network Default Options;</EM> The server | |
51 | now advertises a printer's default options such | |
52 | as job-sheets, media, and so forth</LI> | |
53 | ||
54 | <LI><EM>Network Default Printer;</EM> CUPS now | |
55 | advertises server-default printers so that | |
56 | clients can choose the correct default network | |
57 | printer</LI> | |
58 | ||
59 | <LI><EM>"Delete Printer" Message;</EM> CUPS now | |
60 | sends a final "delete printer" message to all | |
61 | clients when a printer is deleted, allowing for | |
62 | extremely long BrowseTimeout values without | |
63 | side-effects</LI> | |
ef416fc2 | 64 | |
757d2cad | 65 | <LI><EM>BrowseLocalOptions and |
66 | BrowseRemoteOptions Support;</EM> You can | |
67 | configure CUPS to use specific IPP options for | |
68 | local and remote printers, for example to | |
69 | compress print jobs that are sent over a slow WAN | |
70 | link</LI> | |
ef416fc2 | 71 | |
757d2cad | 72 | <LI><EM>BrowseLocalProtocols and |
73 | BrowseRemoteProtocols Support;</EM> You can | |
74 | configure CUPS to use different protocols for | |
75 | advertising local shared printers and discovering | |
76 | remote shared printers</LI> | |
ef416fc2 | 77 | |
757d2cad | 78 | </OL></DD> |
ef416fc2 | 79 | |
80 | ||
757d2cad | 81 | <DT>Web Interface</DT> |
a74454a7 | 82 | <DD><OL START="12"> |
ef416fc2 | 83 | |
757d2cad | 84 | <LI><EM>Improved Look and Feel;</EM> The web |
85 | interface has improved readability and a more | |
86 | consistent design</LI> | |
ef416fc2 | 87 | |
757d2cad | 88 | <LI><EM>New Searchable On-Line Help;</EM> The |
89 | on-line help has been reorganized into | |
90 | categorized articles and references and can be | |
91 | searched</LI> | |
ef416fc2 | 92 | |
757d2cad | 93 | <LI><EM>Add This Printer;</EM> The administration |
94 | page offers a new <VAR>Add This Printer</VAR> | |
95 | button for automatically-discovered printers, | |
96 | making printer configuration even easier than | |
97 | before</LI> | |
ef416fc2 | 98 | |
757d2cad | 99 | <LI><EM>Export Printers to Samba;</EM> The |
100 | administration page now offers an <VAR>Export | |
101 | Printers to Samba</VAR> button and function which | |
102 | allows administrators to export printer drivers | |
103 | to Windows clients via Samba</LI> | |
ef416fc2 | 104 | |
757d2cad | 105 | <LI><EM>Change Settings;</EM> The administration |
106 | page offers a new simple server settings form for | |
107 | controlling common configuration settings such as | |
108 | printer sharing and remote administration</LI> | |
109 | ||
110 | <LI><EM>Edit Configuration File;</EM> The | |
111 | administration page now provides a form for | |
112 | editing the <VAR>cupsd.conf</VAR> file from your | |
113 | web browser</LI> | |
114 | ||
115 | <LI><EM>View Log Files;</EM> The administration | |
116 | page now provides access to the | |
117 | <VAR>access_log</VAR>, <VAR>error_log</VAR>, and | |
118 | <VAR>page_log</VAR> log files</LI> | |
119 | ||
120 | <LI><EM>Searchable Classes, Jobs, and | |
121 | Printers;</EM> the class, job, and printer pages | |
122 | can now be searched and shown in ascending or | |
123 | descending order, with the results displayed in | |
124 | groups of 10</LI> | |
125 | ||
126 | <LI><EM>Links for Class Members;</EM> When | |
127 | viewing a printer class, we now provide | |
128 | hyperlinks to each of the class members - | |
129 | previously only the names were shown</LI> | |
130 | ||
131 | <LI><EM>Print Self-Test Page;</EM> When the | |
132 | printer driver supports the CUPS command file | |
133 | format, you can now print the printer's self-test | |
134 | page</LI> | |
135 | ||
136 | <LI><EM>Clean Print Heads;</EM> When the printer | |
137 | driver supports the CUPS command file format, you | |
138 | can now clean the printer's heads</LI> | |
139 | ||
140 | <LI><EM>Set Default Options;</EM> You can now set | |
141 | the default options for a printer, including the | |
142 | new operation and error policies (the previous | |
143 | incarnation of this was confusingly called | |
144 | "Configure Printer")</LI> | |
145 | ||
146 | <LI><EM>Set Default Printer;</EM> You can now | |
147 | make a printer the default printer on the | |
148 | network</LI> | |
149 | ||
150 | <LI><EM>Set Allowed Users;</EM> You can now set | |
151 | the list of users and/or groups that are allowed | |
152 | or not allowed to access a printer or class</LI> | |
153 | ||
154 | <LI><EM>Cancel All Jobs;</EM> You can now cancel | |
155 | all jobs on a printer or class</LI> | |
156 | ||
157 | <LI><EM>Move Job;</EM> You can now move an active | |
158 | job to a different printer or class</LI> | |
159 | ||
160 | <LI><EM>Move All Jobs;</EM> You can now move all | |
161 | active jobs to a different printer or class</LI> | |
162 | ||
163 | <LI><EM>Per-Printer Sharing;</EM> You can now | |
164 | share (Publish) or hide (Unpublish) printers | |
165 | individually</LI> | |
166 | ||
167 | <LI><EM>Show All Jobs;</EM> You can now view all | |
168 | jobs in addition to just the active or completed | |
169 | jobs</LI> | |
170 | ||
171 | </OL></DD> | |
172 | ||
173 | ||
174 | <DT>IPP Support</DT> | |
a74454a7 | 175 | <DD><OL START="31"></EM></LI> |
757d2cad | 176 | |
177 | <LI><EM>IPP Notifications;</EM> CUPS now supports | |
178 | the complete IPP notification specification to | |
179 | provide asynchronous event notification to | |
180 | clients and users</LI> | |
181 | ||
182 | <LI><EM>ippget Notification Scheme;</EM> CUPS now | |
183 | supports the required <CODE>ippget</CODE> pull | |
184 | method for event notification, allowing | |
185 | applications to receive events asychronously</LI> | |
186 | ||
187 | <LI><EM>mailto Notification Scheme;</EM> CUPS now | |
188 | supports <CODE>mailto</CODE> recipients as | |
189 | proposed by the Printer Working Group, allowing | |
190 | users to receive event notifications via | |
191 | email</LI> | |
192 | ||
193 | <LI><EM>CUPS Extensions to IPP | |
194 | Notifications;</EM> CUPS adds several server | |
195 | events (start, stop, restart, and audit) that can | |
196 | be monitored via the IPP notification | |
197 | operations</LI> | |
198 | ||
199 | <LI><EM>CUPS-Get-Printers Improvements;</EM> The | |
200 | CUPS-Get-Printers operation now returns all | |
201 | queues by default and filters the results based | |
202 | on the <CODE>requesting-user-name</CODE> | |
203 | attribute</LI> | |
204 | ||
205 | <LI><EM>Proxy Authentication;</EM> CUPS provides | |
206 | the new CUPS-Authenticate-Job operation to | |
207 | support proxy authentication of print jobs</LI> | |
208 | ||
209 | <LI><EM>Unique Job IDs;</EM> CUPS maintains a new | |
210 | <CODE>job-uuid</CODE> attribute which provides a | |
211 | unique identifier that can be used to track a job | |
212 | on your network or anywhere in the world</LI> | |
213 | ||
214 | <LI><EM>port-monitor;</EM> CUPS now supports the | |
215 | per-printer <CODE>port-monitor</CODE> and | |
216 | <CODE>port-monitor-supported</CODE> attributes | |
217 | for device-specific data/transport encoding</LI> | |
218 | ||
219 | <LI><EM>printer-op-policy;</EM> CUPS supports new | |
220 | <CODE>printer-op-policy</CODE> and | |
221 | <CODE>printer-op-policy-supported</CODE> | |
222 | attributes which provide per-printer fine-grained | |
223 | access control policies</LI> | |
224 | ||
225 | <LI><EM>printer-error-policy;</EM> CUPS supports | |
226 | new <CODE>printer-error-policy</CODE> and | |
227 | <CODE>printer-error-policy-supported</CODE> | |
228 | attributes which provide per-printer control over | |
229 | job error handling</LI> | |
230 | ||
231 | <LI><EM>printer-is-shared;</EM> CUPS supports a | |
232 | new <CODE>printer-is-shared</CODE> attribute | |
233 | which provides per-printer sharing</LI> | |
234 | ||
235 | <LI><EM>printer-state-change-time;</EM> CUPS now | |
236 | tracks the last time and date of a change to the | |
237 | printer configuration, enabled/disabled state, or | |
238 | accepting/rejecting state</LI> | |
239 | ||
240 | <LI><EM>printer-uri-supported;</EM> CUPS now | |
241 | reports the IP address or hostname used by the | |
242 | client in the <CODE>printer-uri-supported</CODE> | |
243 | attribute - this prevents hostname resolution | |
244 | issues on complex networks</LI> | |
245 | ||
246 | <LI><EM>requested-attributes;</EM> CUPS now fully | |
247 | supports limiting of attributes by name or group | |
248 | - previously CUPS would only limit common | |
249 | attributes and did not support attribute group | |
250 | names</LI> | |
251 | ||
252 | <LI><EM>Default Job Template Attributes;</EM> | |
253 | CUPS now supports arbitrary default job template | |
254 | attributes and applies them to print jobs as | |
255 | needed</LI> | |
256 | ||
257 | <LI><EM>which-jobs;</EM> The Get-Jobs operation | |
258 | now supports a <CODE>which-jobs</CODE> value of | |
259 | "all" to return all jobs regardless of state</LI> | |
260 | ||
261 | <LI><EM>document-format-supported;</EM> The | |
262 | <CODE>document-format-supported</CODE> attribute | |
263 | now reflects the formats that are actually | |
264 | supported by the printer</LI> | |
265 | ||
266 | <LI><EM>printer-type;</EM> The | |
267 | <CODE>printer-type</CODE> attribute now provides | |
268 | bits for "not shared", "authenticated", and | |
269 | "supports commands"</LI> | |
270 | ||
271 | </OL></DD> | |
272 | ||
273 | ||
274 | <DT>Scheduler</DT> | |
a74454a7 | 275 | <DD><OL START="49"> |
757d2cad | 276 | |
277 | <LI><EM>Remote Printer Caching;</EM> The scheduler | |
278 | now maintains a remote printer cache so that | |
279 | remote printers are not lost when the scheduler | |
280 | or system is restarted</LI> | |
281 | ||
282 | <LI><EM>Job Caching;</EM> The scheduler now | |
283 | maintains a job cache so that completed jobs do | |
284 | not need to be loaded into memory all of the time | |
285 | - jobs are loaded and unloaded automatically for | |
286 | optimum performance and memory usage</LI> | |
287 | ||
288 | <LI><EM>Other Performance Improvements;</EM> | |
289 | Thanks to new CUPS API interfaces, the schedule | |
290 | now uses less memory, less CPU, and scales to | |
291 | even larger installations</LI> | |
292 | ||
293 | <LI><EM>Improved Logging;</EM> CUPS now logs the | |
294 | IPP operation and status in in the | |
295 | <VAR>access_log</VAR> file</LI> | |
296 | ||
297 | <LI><EM>Policies;</EM> CUPS now provides | |
298 | per-printer and server access control policies | |
299 | based on IPP operations in addition to the | |
300 | traditional location-based access control | |
301 | available in previous releases</LI> | |
302 | ||
303 | <LI><EM>DefaultAuthType;</EM> In conjunction with | |
304 | the new policy support, CUPS now supports a | |
305 | default authentication type that is used for IPP | |
306 | operations requiring a username</LI> | |
307 | ||
308 | <LI><EM>DefaultEncryption;</EM> When | |
309 | authenticating a request, CUPS now uses the | |
310 | <CODE>DefaultEncryption</CODE> setting in | |
311 | addition to any location or policy encryption | |
312 | setting in effect</LI> | |
313 | ||
314 | <LI><EM>Per-Printer | |
315 | document-format-supported;</EM> CUPS now | |
316 | maintains per-printer | |
317 | <CODE>document-format-supported</CODE> attributes | |
318 | that reflect the formats that can be printed by a | |
319 | particular printer</LI> | |
320 | ||
321 | <LI><EM>Server-side Default Options;</EM> CUPS | |
322 | now supports server-side default options for each | |
323 | printer or class that are applied to new | |
324 | jobs</LI> | |
325 | ||
326 | <LI><EM>POSIX ACL Support;</EM> CUPS now uses | |
327 | POSIX ACLs, when available, to allows multiple | |
328 | system groups to be used for local certificate | |
329 | authentication</LI> | |
ef416fc2 | 330 | |
757d2cad | 331 | <LI><EM>RunAsUser Removed;</EM> The insecure |
332 | RunAsUser mode has been removed in favor of OS | |
333 | mechanisms such as SELinux</LI> | |
ef416fc2 | 334 | |
757d2cad | 335 | <LI><EM>Launchd Support;</EM> The schedule now |
336 | supports running via the MacOS X launchd program, | |
337 | delaying cupsd startup until needed</LI> | |
338 | ||
339 | <LI><EM>Dynamic Device Lookup;</EM> The scheduler | |
340 | now queries the backends for devices as | |
341 | needed - no more restarting to get new devices!</LI> | |
342 | ||
343 | <LI><EM>Dynamic PPD/Printer Driver Lookup;</EM> | |
344 | The scheduler now scans for PPD files and/or | |
345 | printer drivers as needed - no more restarting | |
346 | after installing drivers, and PPD files can be | |
347 | generated dynamically!</LI> | |
ef416fc2 | 348 | |
757d2cad | 349 | <LI><EM>Port Monitor Support;</EM> CUPS now |
350 | supports "port monitor" filters between the | |
351 | printer driver filters and backend to do printer- | |
352 | and device-specific encoding and transport | |
353 | functions.</LI> | |
ef416fc2 | 354 | |
757d2cad | 355 | <LI><EM>Multi-File Job Improvements;</EM> CUPS |
356 | now sends multi-file jobs in a single connection | |
357 | to the printer or remote server, preserving the | |
358 | order of jobs</LI> | |
ef416fc2 | 359 | |
757d2cad | 360 | <LI><EM>Environment Variable Support;</EM> The |
361 | scheduler now supports setting environment | |
362 | variables for filters and CGI programs via the | |
363 | Apache <CODE>PassEnv</CODE> and | |
364 | <CODE>SetEnv</CODE> directives</LI> | |
ef416fc2 | 365 | |
757d2cad | 366 | <LI><EM>Improved CGI Support;</EM> The scheduler |
367 | now supports more of the CGI/1.1 | |
368 | specification</LI> | |
ef416fc2 | 369 | |
757d2cad | 370 | <LI><EM>Log Files;</EM> Log files are now |
371 | accessible via HTTP requests using the | |
372 | <VAR>/conf/log/filename</VAR> resource</LI> | |
ef416fc2 | 373 | |
757d2cad | 374 | <LI><EM>Power Management;</EM> The scheduler now |
375 | responds to power management events from the | |
376 | operating system (currently MacOS X only)</LI> | |
ef416fc2 | 377 | |
757d2cad | 378 | </OL></DD> |
ef416fc2 | 379 | |
380 | ||
757d2cad | 381 | <DT>LPD Client Support</DT> |
a74454a7 | 382 | <DD><OL START="69"> |
757d2cad | 383 | |
384 | <LI><EM>Performance Improvements;</EM> CUPS no | |
385 | longer loads every available printer before | |
386 | accepting a print job</LI> | |
387 | ||
388 | <LI><EM>Banner Support;</EM> Banner pages can now | |
389 | be requested by an LPD client, with server-side | |
390 | overrides as desired</LI> | |
391 | ||
392 | <LI><EM>Multi-File Support;</EM> CUPS now creates | |
393 | a single IPP job for multi-file LPD jobs</LI> | |
394 | ||
395 | </OL></DD> | |
396 | ||
397 | ||
398 | <DT>Localization and Internationalization</DT> | |
a74454a7 | 399 | <DD><OL START="72"> |
757d2cad | 400 | |
401 | <LI><EM>Command-Line Programs;</EM> All | |
402 | command-line programs are now fully | |
403 | localized</LI> | |
404 | ||
405 | <LI><EM>Character Set Support;</EM> CUPS now | |
406 | supports a wider range of character sets | |
407 | including Big5 and Shift-JIS</LI> | |
408 | ||
409 | <LI><EM>Globalized PPD Support;</EM> PPD files | |
410 | can now contain multiple language | |
411 | localizations</LI> | |
412 | ||
413 | </OL></DD> | |
414 | ||
415 | ||
416 | <DT>Printer Drivers</DT> | |
a74454a7 | 417 | <DD><OL START="75"> |
757d2cad | 418 | |
419 | <LI><EM>New Drivers;</EM> CUPS 1.2 adds Zebra | |
420 | CPCL and EPL label printer drivers</LI> | |
421 | ||
422 | <LI><EM>Driver Interfaces;</EM> CUPS now supports | |
423 | driver interfaces which allow a driver to | |
424 | advertise the printers it supports and | |
425 | automatically generate the PPD file as | |
426 | needed</LI> | |
427 | ||
428 | <LI><EM>High-Definition Range Color;</EM> CUPS | |
429 | 1.2 adds 16-bit per channel color support</LI> | |
430 | ||
431 | <LI><EM>Raster Compression;</EM> The CUPS raster | |
432 | format has been updated to use data | |
433 | compression for faster printing</LI> | |
434 | ||
435 | <LI><EM>Extended Printer Attributes;</EM> The | |
436 | CUPS raster format has been extended to support | |
437 | additional per-page printer-specific | |
438 | attributes</LI> | |
439 | ||
440 | <LI><EM>Back-Channel Data Support;</EM> Printer | |
441 | drivers can now read data back from the printer | |
442 | device</LI> | |
443 | ||
444 | <LI><EM>Custom PPD Options;</EM> PPD files can | |
445 | now contain options that accept custom | |
446 | values</LI> | |
447 | ||
448 | </OL></DD> | |
449 | ||
450 | ||
451 | <DT>CUPS API</DT> | |
a74454a7 | 452 | <DD><OL START="82"> |
757d2cad | 453 | |
454 | <LI><EM>Thread Safety;</EM> All of the CUPS API | |
455 | is now thread-safe on systems that support POSIX | |
456 | threads</LI> | |
457 | ||
458 | <LI><EM>Performance Improvements;</EM> Many of | |
459 | the existing APIs have been optimized for | |
460 | speed</LI> | |
461 | ||
462 | <LI><EM>Array API;</EM> The new array API | |
463 | provides a generic array container and is used to | |
464 | implement many of the new CUPS 1.2 features and | |
465 | performance improvements</LI> | |
466 | ||
467 | <LI><EM>Directory API;</EM> The new directory API | |
468 | allows applications to portably list the contents | |
469 | of a directory</LI> | |
470 | ||
471 | <LI><EM>File API;</EM> The new file API supports | |
472 | optionally-compressed file IO and simple socket | |
473 | communications without the limitations of | |
474 | stdio</LI> | |
475 | ||
476 | <LI><EM>HTTP API;</EM> The HTTP API now provides | |
477 | many new URI and address handling functions, | |
478 | accessor functions to key <CODE>http_t</CODE> | |
479 | information, write-buffering functions, and large | |
480 | file APIs</LI> | |
481 | ||
482 | <LI><EM>IPP API;</EM> The IPP API now provides | |
483 | functions to encode arbitrary options, add | |
484 | <CODE>octetString</CODE> attributes, create | |
485 | common IPP requests, convert IPP status and | |
486 | operation code values to/from strings, and read | |
487 | and write IPP messages via callbacks.</LI> | |
488 | ||
489 | <LI><EM>PPD API;</EM> The PPD API has been | |
490 | updated with new functions to support reading | |
491 | from CUPS files, localization of globalized PPD | |
492 | files, emission of arbitrary ranges of options, | |
493 | custom option support, enhanced JCL support, and | |
494 | access to all options in the PPD file</LI> | |
495 | ||
496 | <LI><EM>Error Handling;</EM> The CUPS API now | |
497 | provides a convenience function to get the full | |
498 | error message of the last request</LI> | |
499 | ||
500 | <LI><EM>Back-Channel API;</EM> The new | |
501 | back-channel API provides backends and filters | |
502 | with access to information sent back from a | |
503 | printer</LI> | |
504 | ||
505 | </OL></DD> | |
506 | ||
507 | ||
508 | <DT>CUPS Imaging API</DT> | |
a74454a7 | 509 | <DD><OL START="92"> |
757d2cad | 510 | |
511 | <LI><EM>Image API;</EM> The new image API | |
512 | provides access to image files of arbitrary size | |
513 | and is based on the CUPS 1.1.x private image | |
514 | filter APIs</LI> | |
515 | ||
516 | <LI><EM>Raster API;</EM> The raster API provides | |
517 | new functions to read and write the version 2 | |
518 | raster page headers, and a new function to | |
519 | generate a page header from marked PPD | |
520 | options</LI> | |
521 | ||
522 | </OL></DD> | |
523 | ||
480ef0fe | 524 | <DT>Scripting Support</DT> |
a74454a7 | 525 | <DD><OL START="94"> |
480ef0fe | 526 | |
527 | <LI><EM>PHP Bindings;</EM> The PHP language | |
528 | bindings have been revamped to be more consistent | |
529 | with the CUPS API and are now officially | |
530 | supported and installed by default if you have | |
531 | PHP installed on your system</LI> | |
532 | ||
533 | </OL></DD> | |
534 | ||
757d2cad | 535 | </DL> |
ef416fc2 | 536 | |
537 | </BODY> | |
538 | </HTML> |