]> git.ipfire.org Git - thirdparty/cups.git/blob - CHANGES-1.2.txt
Load cups into easysw/current.
[thirdparty/cups.git] / CHANGES-1.2.txt
1 CHANGES-1.2.txt
2 ---------------
3
4 CHANGES IN CUPS V1.2.1
5
6 - The web interface support programs crashed on Solaris
7 (STR #1699)
8 - cupstestppd incorrectly reported problems with
9 *1284DeviceID attributes (STR #1710)
10 - Browsing could get disabled after a restart (STR #1670)
11 - Custom page sizes were not parsed properly (STR #1709)
12 - The -U option wasn't supported by lpadmin (STR #1702)
13 - The -u option didn't work with lpadmin (STR #1703)
14 - The scheduler did not create non-blocking back-channel
15 pipes, which caused problems when the printer driver
16 did not read the back-channel data (STR #1705)
17 - The scheduler no longer uses chunking in responses to
18 clients - this caused problems with older versions of
19 CUPS like 1.1.17 (PR #6143)
20 - Automatic raw printing was broken (STR #1667)
21 - 6-up printing was broken (STR #1697)
22 - The pstops filter did not disable CTRL-D processing on
23 the printer/RIP.
24 - ppdOpen*() did not load custom options properly (STR
25 #1680)
26 - "Set Printer Options" in the web interface did not
27 update the DefaultImageableArea or
28 DefaultPaperDimension attributes in the PPD file (STR
29 #1689)
30 - Fixed compile errors (STR #1682, STR #1684, STR #1685,
31 STR #1690)
32 - The lpstat command displayed the wrong error message
33 for a missing destination (STR #1683)
34 - Revised and completed the Polish translation (STR
35 #1669)
36 - Stopped jobs did not show up in the list of active jobs
37 (STR #1676)
38 - The configure script did not use the GNU TLS
39 "libgnutls-config" script to find the proper compiler
40 and linker options.
41 - The imagetoraster filter did not correctly generate
42 several 1, 2, and 4-bit color modes.
43 - cupsRasterWritePixels() could lose track of the current
44 output row.
45 - cupsRasterReadPixels() did not automatically swap
46 12/16-bit chunked pixel data.
47 - Moved the private _cups_raster_s structure out of the
48 public header.
49 - Updated the CUPS raster format specification to include
50 encoding rules and colorspace definitions.
51 - The Zebra PPD files had the wrong PostScript code for
52 the "default" option choices.
53 - The imagetoraster filter did not generate correct CIE
54 XYZ or Lab color data.
55 - The cups-config script did not work when invoked from a
56 source directory (STR #1673)
57 - The SNMP backend did not compile on systems that used
58 the getifaddrs emulation functions (STR #1668)
59
60
61 CHANGES IN CUPS V1.2
62
63 - Documentation updates (STR #1618, STR #1620, STR #1622,
64 STR #1637)
65 - Static file copy buffers reduced from 64k to 32k to
66 work around bogus MallocDebug library assumptions (STR
67 #1660)
68 - The scheduler did not decode the backend exit code
69 properly (STR #1648)
70 - The MacOS X USB backend did not report the 1284 device ID,
71 nor did it fix device IDs returned by HP printers.
72 - The scheduler started more slowly than 1.1.x with large
73 numbers of printers (STR #1653)
74 - cupsRasterInterpretPPD() didn't support the
75 cupsPreferredBitsPerColor attribute, and imagetoraster
76 didn't use the new API.
77 - The "make test" script did not create all of the necessary
78 subdirectories for testing (STR #1638)
79 - The scheduler did not prevent rotation of logs
80 redirected to /dev/null (STR #1651)
81 - "make test" did not include the SNMP backend in the
82 test environment (STR #1625)
83 - The EPM packaging files did not work (STR #1621)
84 - "Use Default Configuration" inserted a broken
85 configuration file (STR #1624)
86 - Redirects in the web interface did not always preserve
87 the encrypted status of a connection (STR #1603)
88 - Added the Apple "pap" backend.
89 - Added CUPS library to CUPS Image shared library
90 linkage to support Linux --as-needed linker option
91 (STR #1606)
92 - Fixed support for --enable-pie (STR #1609)
93 - The pdftops filter did not validate the length of the
94 encryption key (STR #1608)
95 - Updated the Polish localization.
96 - "Encryption Required" in the cupsd.conf file now only
97 requires encryption when the connection is not over the
98 loopback interface or domain socket.
99 - Printer names containing "+" were not quoted properly in
100 the web interface (STR #1600)
101 - The SNMP backend now reports the make and model in the
102 information string so that the auto-generated printer
103 name is more useful than just an IP address.
104
105
106 CHANGES IN CUPS V1.2rc3
107
108 - The cups-lpd program always did reverse lookups on the
109 client address, which could be a performance problem.
110 Added a "-n" option to disable lookups.
111 - When configured with SSL support, require encryption by
112 default when displaying the /admin location (STR #1592)
113 - The next job ID was not computed correctly if the job
114 cache file got out of sync with the spool directory
115 (STR #1582)
116 - The PNG image handling code used deprecated functions
117 from libpng (STR #1587)
118 - Added a Polish translation (STR #1584, STR #1586)
119 - More changes to the scheduler to improve battery life
120 on portable devices (STR #1583)
121 - Changed the default log level for status messages back
122 to "DEBUG" to be consistent with CUPS 1.1.x (STR #1579)
123 - The error string was not set properly when
124 cupsDoFileRequest() was given the name of a directory
125 (STR #1578)
126 - Fixed handling of job-hold-until (STR #1581)
127 - Added explicit notes to the cupsaddsmb man page
128 explaining that the driver filenames are case-sensitive
129 under UNIX and that they must be all lowercase (Windows
130 2000) or all UPPERCASE (Windows 95/98/Me) to work (STR
131 #1568)
132 - The USB backend incorrectly split the manufacturer name
133 if it contained spaces (STR #1566)
134 - The scheduler would hang when listing PPD files for a
135 manufacturer whose name contained spaces (STR #1567)
136 - Added the SNMP backend for network printer discovery
137 (STR #1555)
138 - cupstestppd now fails PPD files with 1284DeviceId
139 instead of 1284DeviceID, and cups-driverd uses a
140 case-insensitive comparison when looking for it (STR
141 #1573)
142 - cupsDoFileRequest() and cupsDoRequest() now work
143 properly with non-blocking HTTP connections.
144 - Added Swedish translation (STR #1569)
145 - "make install" now installs the MIME files with world
146 read permissions (STR #1565)
147 - More CDSA encryption support fixes (STR #1563)
148 - Updated the default mime.types file to support printing
149 of files that do not have a locally-recognized MIME
150 media type to raw or System V queues.
151 - Updated the serial port detection code on Linux (STR
152 #1562)
153 - Added some more error checking to httpGetHostname()
154 (STR #1561)
155 - The title of some administration pages was not
156 localized (STR #1548)
157 - The edit-config.tmpl file was not generated or
158 installed for the Spanish or Japanese localizations
159 (STR #1547)
160 - The mimeDelete() function freed the types before the
161 filters, but the filters needed the type data (STR #1558)
162 - The scheduler didn't keep track of the status pipes
163 properly, leading to a bad select() for multi-file jobs
164 (STR #1559)
165 - The cupstestdsc program didn't validate the ordinal
166 page number value for %%Page: comments.
167
168
169 CHANGES IN CUPS V1.2rc2
170
171 - The scheduler was not always using the string pool,
172 causing random crashes.
173 - The lpmove and the web interface's Move Job button did
174 not work with stopped jobs (STR #1534)
175 - The PostScript filter did not handle the page-set
176 option properly with number-up printing (STR #1543)
177 - The scheduler now only warns about unsupported ACLs
178 once (STR #1532)
179 - The "fitplot" option did not work with output from
180 Mozilla (STR #1542)
181 - The imagetops filter did not work with Level 2 or 3
182 printers (STR #1533)
183 - The scheduler now recognizes PostScript files with PJL
184 commands that do not include an ENTER LANGUAGE command.
185 - Added --with-printcap configure option.
186 - 64-bit SSL fixes for MacOS X.
187 - The scheduler didn't send some printer state change
188 events.
189 - The scheduler didn't send jobs to busy remote printers.
190 - Fixed some problems with the launchd support.
191 - Added new USB printer backend for MacOS X.
192 - The PostScript filter now handles files that start with
193 an incomplete PJL header (PR #6076)
194 - The web interface language selection code did not try
195 the generic language localization (STR #1531)
196 - The language cache, string pool, and transcoding caches
197 are now process global instead of per-thread to avoid
198 problems with GNOME and to allow for data sharing
199 between threads (STR #1530)
200 - Fixed a CUPS 1.1.x compatibility bug (STR #1528)
201 - The web interface redirection after certain printer
202 administration tasks was broken (STR #1516)
203 - Web interface authorization could get stuck (STR #1512)
204 - Localization updates (STR #1513, STR #1518, STR #1520)
205 - The pstops filter didn't work with some files (STR
206 #1523)
207 - "./configure --enable-static" didn't work (STR #1522)
208 - The scheduler was not using the configured default
209 Group (STR #1521)
210 - The web interface still did not show the localized time
211 and date for some locales and systems (STR #1509)
212 - httpAddrGetList() would crash on systems without
213 getaddrinfo().
214 - Socket URIs without a trailing slash would cause the
215 port number to not be accepted (STR #1519)
216 - Local raw and System V printers were not advertised as
217 such for printer browsing (STR #1502)
218 - The RPM spec file incorrectly put duplicate copies of
219 the Japanese and Spanish web interface templates in the
220 main cups package (STR #1517)
221 - cupsSetDests() did not explicitly set the permissions
222 of the /etc/cups/lpoptions file (STR #1508)
223 - The lpq command crashed with the -h option (STR #1515)
224
225
226 CHANGES IN CUPS V1.2rc1
227
228 - Documentation updates (STR #1497, STR #1498)
229 - The scheduler now redirects browsers to https: URLs
230 when encryption is required.
231 - The scheduler would crash when printing with a banner
232 (STR #1500)
233 - cups-driverd did not use the LanguageEncoding attribute
234 in PPD files to convert the NickName to UTF-8 (STR
235 #1503)
236 - The lpadmin command could not set the
237 printer-error-policy attribute (STR #1504)
238 - The web interface did not show the time and date in the
239 correct format for the locale (STR #1505)
240 - CUPS no longer accepts print jobs if a printer does not
241 support the file format (STR #1501)
242 - Cleaned up the PostScript filter (pstops) so that it
243 properly supports %%IncludeFeature and page scaling
244 (STR #1453)
245 - Fixed the cupsFileRewind() and cupsFileSeek() functions
246 to work properly with uncompressed files.
247 - Added cupsFileGetLine(), cupsFileStderr(),
248 cupsFileStdin(), and cupsFileStdout() functions to the
249 CUPS library.
250 - Added a new cupstestdsc program to test the DSC
251 conformance of PostScript files.
252 - Added KDE/GNOME icons and a Manage Printers menu item.
253 - Added --enable-image and --enable-pdftops configure
254 options to control whether the image and PDF filters
255 are built and installed (default = yes for all
256 platforms but MacOS X)
257 - Fixed a minor memory leak in the PPD API.
258 - Fixed transcoding issues (STR #1493)
259 - The scheduler now enforces a minimum job cost of 100
260 when doing FilterLimit checks.
261 - The scheduler would leak file descriptors when printing
262 to raw queues (STR #1491)
263 - The IPv6 support did not compile on Tru64 UNIX (STR
264 #1488)
265 - ppdOpen2() now converts the NickName and all UI text to
266 UTF-8 (STR #1475)
267 - The Set Allowed Users web page did not work (STR #1486)
268 - When the default policy was not set or set to a non-
269 existing policy, the scheduler did not set the default
270 policy name to "default" (STR #1484)
271 - The Zebra CPCL driver did not use the correct righthand
272 margin for the 4" wide label sizes.
273 - Fixed a problem with the parsing of fractional real
274 numbers in PPD files.
275 - Added Spanish localization files (STR #1480)
276 - Fixed localization of a few scheduler messages (STR
277 #1478)
278 - Fixed support for HEAD requests in the scheduler (STR
279 #1481)
280
281
282 CHANGES IN CUPS V1.2b2
283
284 - Updated the CUPS design description.
285 - Added --enable-32bit and --enable-64bit configure
286 options to allow building of separate 32/64-bit
287 libraries on systems that support both environments
288 (STR #1472)
289 - Various compiler warning fixes.
290 - Fixes for Solaris 10 builds against old GNU TLS and
291 LDAP libraries.
292 - Added a cupsArrayUserData() function to retrieve the
293 user data pointer for an array (useful for typing
294 arrays)
295 - The ppdEmitString() function did not compute the
296 required buffer size properly, leading to dropped
297 characters on the end of the printer commands in pstops
298 and imagetops (STR #1470)
299
300
301 CHANGES IN CUPS V1.2b1
302
303 - The serial backend now supports Equinox 8-port serial
304 hubs (STR #526)
305 - The IPP backend now supports a compression option to
306 compress print files as they are sent to the remote
307 server (STR #956)
308 - The CUPS browse protocol now supports passing of
309 default options and browse timeout values from the
310 server to the clients (STR #800)
311 - Implicit classes that timed out could cause the
312 scheduler to crash (STR #1439)
313 - Added DragonFly support in local device backends (STR
314 #1362)
315 - Added LDAP printer browsing support (STR #338)
316 - Added official support for printer maintenance commands
317 via the CUPS Command file format and hooks in the
318 printer-type and web interfaces (STR #932)
319 - The HP-GL/2 filter could get in an infinite loop trying
320 to convert HP-PCL files (STR #1415)
321 - CUPS now implements the HTTP/1.1 Expect header (STR
322 #1407)
323 - Options in PPD files are no longer automatically put in
324 an "Extra" group; rather, all options that are not
325 inside an Open/CloseGroup will be placed in the
326 "General" group (STR #1385)
327 - The scheduler now creates a job-uuid attribute that
328 uniquely identifies a job on a network (STR #1410)
329 - The init script now unsets the TMPDIR environment
330 variable to prevent user temporary directories from
331 being used by cupsd accidentally (STR #1424)
332 - Added support for launchd on MacOS X.
333 - Added support for notify_post on MacOS X.
334 - Added support for DBUS on Linux.
335 - All of the Berkeley (except for lpc) and System V
336 commands now support specification of user, host, and
337 port (STR #1028, STR #1029, STR #1087)
338 - The lpmove command now allows you to move all jobs for
339 a given queue (STR #56)
340 - The web interface now supports moving of a job or jobs
341 to another queue (STR #56)
342 - The web interface now provides searching, paging, and
343 changing of the sort/display order of classes, jobs,
344 and printers.
345 - cupsaddsmb now accepts a password on the command-line
346 and supports passwords with special characters (STR
347 #822, STR #1236)
348 - ppdLoad*() no longer tries to "fix" bad characters in
349 UI text (STR #1101)
350 - Printer names can now (reliably) contain Unicode
351 characters (STR #896)
352 - The lpstat command now shows the time and date of the
353 last printer state change instead of the hardcoded "Jan
354 01 00:00" (STR #659)
355 - The scheduler now adds a job-actual-printer-uri
356 attribute to job objects when printing to a class (STR
357 #116)
358 - The scheduler now logs log file open errors to the
359 system log (STR #1289)
360 - The scheduler now sets the job-originating-user-name to
361 the authenticated username, if available (STR #1318)
362 - The scheduler now only updates the permissions of SSL
363 keys and certificates when they are under the
364 ServerRoot directory (STR #1324)
365 - The rastertodymo driver has been renamed to
366 rastertolabel (a symlink is installed so that existing
367 queues continue to work) and now also supports Zebra's
368 CPCL language.
369 - The lpstat command could show the wrong active job for
370 a printer (STR #1301)
371 - Fixed a potential crash problem in the scheduler when
372 aborting a CGI program (STR #1290)
373 - Added a "cancel all jobs" button to the class and
374 printer web interfaces (STR #1140)
375 - The add-printer web page now shows the
376 set-printer-options page after the printer has been
377 added (STR #690)
378 - The classes web page now provides links to each of the
379 member printers (STR #307)
380 - CUPS now handles HTTP request/response lines up to 32k
381 in length; this is mainly for better cookie support
382 (STR #1274)
383 - Added support for the Apache PassEnv and SetEnv
384 directives to cupsd.conf (STR #853)
385 - Added large file (64-bit) support (STR #541)
386 - Fixed a performance issue with the ippReadIO()
387 implementation (STR #1284)
388 - Fixed a performance issue with the scheduler's implicit
389 class implementation (STR #1283)
390 - The pdftops filter now adds the Title and Creator
391 fields from the PDF file to the PostScript document
392 comments section (STR #539, STR #830)
393 - Added a new cups_array_t and cupsArray*() functions to
394 the CUPS API to support sorted lists of data.
395 - Made the CUPS API library thread-safe (STR #1276)
396 - Added "media" option support for EFI EFMediaType option
397 (STR #902)
398 - Added write buffering to the HTTP code to improve
399 performance (STR #547)
400 - The scheduler now uses the attributes-natural-language
401 attribute to localize banner pages (STR #386)
402 - The scheduler now returns the address that was used to
403 connect to it (STR #1076)
404 - Fixed a problem with N-up printing and OpenOffice (STR
405 #576)
406 - Added support for the GCC position independent
407 executable options (STR #1209)
408 - Added new BrowseLocalProtocols and
409 BrowseRemoteProtocols directives to cupsd.conf,
410 allowing for different browse protocols for local and
411 remote printers (STR #877)
412 - PPD files can now contain strings up to 256k in length
413 (STR #1215)
414 - The pstops filter now supports the IncludeFeature DSC
415 comment (STR #1212)
416 - The pstops filter now disables the setpagedevice
417 procedure when doing N-up printing (STR #1161)
418 - The serial backend now supports "stop=1", "stop=2",
419 "parity=space", and "parity=mark" options (STR #1155)
420 - "make install" no longer overwrites an existing PAM
421 configuration file (STR #1064)
422 - The scheduler now closes all files on startup when run
423 in daemon mode (STR #1009)
424 - Added a new RGBW colorspace to the CUPS raster format
425 (STR #1071)
426 - The pdftops filter now sets the page size based on the
427 media box when not scaling the output (STR #912)
428 - The pdftops filter now supports masked images (STR
429 #281)
430 - The pdftops filter produced large output when rendering
431 PDF files containing lot of repeated images (STR #327)
432 - The pdftops filter now minimizes print processing of
433 PDF files when using the page-ranges option (STR #273)
434 - Updated pdftops filter to Xpdf 3.01.
435 - Added new cupsBackchannelRead() and
436 cupsBackchannelWrite() functions, as well as
437 backchannel support to the parallel, serial, socket,
438 and USB backends (STR #1252)
439 - The parallel and USB backends now treat a "no space
440 available" error as an out-of-paper condition (STR
441 #1225)
442 - The "lpc" command now supports the "status all" command
443 (STR #1004)
444 - ippReadIO() did not read collections properly (STR
445 #1249)
446 - The "make test" script now creates the test files in
447 "/tmp/cups-$USER" instead of "/tmp/$USER" (STR #981)
448 - All backends now abort on error when printing a job to
449 a class - this allows the next printer in the class to
450 print the job (STR #1084)
451 - The scheduler now verifies that a printer supports
452 Letter or A4 media sizes before setting them as the
453 initial default (STR #1250)
454 - The cupstestppd program now flags bad Resolution
455 options (STR #1269)
456 - The USB backend now retries printing when the printer
457 is disconnected or turned off (STR #1267)
458 - Added new httpGetHostname() function to CUPS API, and
459 use it instead of gethostname() so that the web
460 interface will work correctly on systems whose hostname
461 is not the FQDN (STR #1266)
462 - The scheduler now stops printers if the backend for the
463 queue is missing on startup (STR #1265)
464 - The configure script now supports "--disable-library"
465 to disable particular image file format support
466 libraries, even if they are available on the build
467 system (STR #1248)
468 - The IPP backend did not always report on the total
469 number of pages that were printed (STR #1251)
470 - The lpstat program could display garbage date and time
471 values for locales whose date format exceeded 31
472 characters (STR #1263)
473 - The cupstestppd program would segfault when testing
474 certain broken PPD files (STR #1268)
475 - Dramatically reduced the overhead of implicit classes.
476 - Added new cupsDir*() functions to CUPS API.
477 - Printers can now be published individually for sharing.
478 - Fixed a bug in the scheduler's startup signalling code
479 which caused cupsd to send the SIGUSR1 signal to the
480 init process instead of the original parent process
481 (STR #1258)
482 - Added new on-line help CGI to web interface to provide
483 searchable help.
484 - Devices are now tracked dynamically, with each query
485 doing a new device scan. This eliminates a previous
486 startup delay caused by slow backends and allows new
487 printers to be seen without restarting the server,
488 however it limits the amount of device URI checking
489 that can be done (basically now the scheduler only
490 requires a URI with a method that is a listed backend)
491 - Added new printer auto-detection, server configuration,
492 and log file viewing to the administration web page.
493 - Added new "set allowed users" web interface to set the
494 list of allowed users for a printer or class.
495 - The scheduler, command-line, and web interfaces now
496 limit the list of printers and classes to those
497 accessible by a user.
498 - cupsMarkOptions() now handles more non-standard
499 duplexing options and choices (STR #915)
500 - cups-lpd now honors remote banner requests with the
501 "standard" banner whenever a printer does not have one
502 defined (STR #1220)
503 - The scheduler's denial-of-service checks did not work
504 properly with IPv6 addresses (STR #1134)
505 - The lp and lpr commands did not error out properly when
506 they were unable to write to a temporary file (STR
507 #1129)
508 - The pstops filter did not handle Adobe-specific
509 comments in Windows NT driver output (STR #1085)
510 - "lpstat -l -p" incorrectly reported the printer
511 interface (STR #936)
512 - The web interface now operates exclusively with the
513 UTF-8 encoding, and sends the appropriate character set
514 and header information to the web browser (STR #919,
515 STR #1007)
516 - Added a "set allowed users" interface to the web
517 interface so that you can set the list of allowed or
518 denied users/groups for a printer or class.
519 - Disallow the "#" character in printer names, since it
520 has special meaning in the shell, config files, and in
521 URIs (STR #917, STR #1202)
522 - Added a new application/x-csource MIME type, and
523 support for it to the texttops filter so that you can
524 pretty print plain text files without the C/C++
525 keywords being highlighted.
526 - The pdftops filter did not compile with GCC 4.0 (STR
527 #1226)
528 - The texttops filter did not highlight preprocessor
529 directives followed by a tab properly.
530 - HP PJL output now uses both JOB DISPLAY and RDYMSG
531 commands to show the current job on the printer's
532 display (STR #1218)
533 - Local authentication certificates are now stored in
534 /var/run/cups/certs by default instead of
535 /etc/cups/certs (STR #1211)
536 - Backends now use "&" to separate options in device
537 URIs; "+" is still recognized but is deprecated (STR
538 #842)
539 - The USB backend no longer supports the usb:/dev/foo
540 format on systems that support device ID queries.
541 - Forced classification markings did not work when the
542 job-sheets parameters were "none,none".
543 - "lpstat -l -p" incorrectly showed all users as allowed,
544 even if the queue was restricted to certain users (STR
545 #801)
546 - The scheduler now automatically detects SSL/TLS clients
547 without using the SSLPort/SSLListen directives.
548 - The CUPS API and scheduler no longer support SSLv2-
549 encrypted connections.
550 - Updated the cupsaddsmb utility to correctly export the
551 CUPS driver for Windows.
552 - Fixed a signal-handling bug in httpRead() which
553 ultimately caused the server to print multiple copies
554 when it was busy (STR #1184)
555 - The cupsFile API now uses the O_APPEND option when
556 opening files in append mode (STR #990)
557 - The md5.h header and md5_* functions are now officially
558 private and have been renamed to avoid conflicts with
559 other implementations with the same name.
560 - The pdftops filter incorrectly embedded some Type1
561 fonts (STR #1093)
562 - The scheduler didn't detect a closed connection in the
563 middle of an IPP request (STR #1153)
564 - The scheduler could block trying to read the job status
565 if there was input pending and the job was cancelled in
566 the same input cycle (STR #1157)
567 - The scheduler could crash when deleting a class due to
568 infinite recursion.
569 - Updated the Zebra ZPL label printer driver to use the
570 run-length encoding and support more options.
571 - Updated serial backend to scan for /dev/ttyC* as well
572 as /dev/ttyc* for Cyclades serial ports (STR #1049)
573 - The scheduler could hang reading the job status under
574 certain circumstances (STR #1068)
575 - The USB backend termination signal code was inverted
576 (STR #1046)
577 - Moved enable and disable commands to sbindir to be
578 consistent.
579 - Added new cupsRasterInterpretPPD() function for RIP
580 filters to setup the raster page header from
581 PostScript commands in a PPD file.
582 - The CUPS browsing protocol now offers a "delete" bit
583 to remove printers as soon as they are deleted on the
584 server or as soon as the server shuts down gracefully
585 (STR #793)
586 - The CUPS_SERVER and ServerName directives (client.conf
587 and ~/.cupsrc) may now contain names of the form
588 "server:port" and "/path/to/domain/socket".
589 - The "cancel -u user" command now works for ordinary
590 users (STR #751)
591 - Added test run support to "make test" target (STR #64)
592 - Added domain socket support (STR #656)
593 - Added BrowseLocalOptions directive to allow the
594 administrator to add printer URI options to the browse
595 URI, e.g. "encryption=required" (STR #732)
596 - Added BrowseRemoteOptions directive to allow the
597 administrator to add standard URI options to the
598 remote printer URI, e.g. "encryption=required" (STR
599 #732)
600 - Now put "-I.." compiler option in front of all others
601 to ensure that local CUPS headers are used before
602 installed headers (STR #437)
603 - New cupsLangPrintf() and cupsLangPuts() for localized
604 interfaces.
605 - Now support custom attributes and extended options in
606 PPD files.
607 - Now provide functions to save PPD files.
608 - New policy mechanism allows per-operation and
609 per-printer control over what users and groups are
610 allowed to do various IPP operations.
611 - New error policy mechanism to control how aborted
612 backend errors are handled by the scheduler
613 (abort-job, retry-job, requeue-job, stop-printer)
614 - Updated the printer test page with a better color
615 wheel and a separate grayscale ramp.
616 - A single backend process is now run to send all print
617 data for a job.
618 - Backends and filters can now send and receive
619 backchannel data over file descriptor 3.
620 - Updated the raster stream format to support more
621 user-defined attributes and to do compression of the
622 page data.