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