1 CHANGES.txt - 02/17/2006
2 ------------------------
4 CHANGES IN CUPS V1.2.0b1
6 - The scheduler now creates a job-uuid attribute that
7 uniquely identifies a job on a network (STR #1410)
8 - The init script now unsets the TMPDIR environment
9 variable to prevent user temporary directories from
10 being used by cupsd accidentally (STR #1424)
11 - Added support for launchd on MacOS X.
12 - Added support for notify_post on MacOS X.
13 - Added support for DBUS on Linux.
14 - All of the Berkeley (except for lpc) and System V
15 commands now support specification of user, host, and
16 port (STR #1028, STR #1029, STR #1087)
17 - The lpmove command now allows you to move all jobs for
18 a given queue (STR #56)
19 - The web interface now supports moving of a job or jobs
20 to another queue (STR #56)
21 - The web interface now provides searching, paging, and
22 changing of the sort/display order of classes, jobs,
24 - cupsaddsmb now accepts a password on the command-line
25 and supports passwords with special characters (STR
27 - ppdLoad*() no longer tries to "fix" bad characters in
29 - Printer names can now (reliably) contain Unicode
31 - The lpstat command now shows the time and date of the
32 last printer state change instead of the hardcoded "Jan
34 - The scheduler now adds a job-actual-printer-uri
35 attribute to job objects when printing to a class (STR
37 - The scheduler now logs log file open errors to the
38 system log (STR #1289)
39 - The scheduler now sets the job-originating-user-name to
40 the authenticated username, if available (STR #1318)
41 - The scheduler now only updates the permissions of SSL
42 keys and certificates when they are under the
43 ServerRoot directory (STR #1324)
44 - The rastertodymo driver has been renamed to
45 rastertolabel (a symlink is installed so that existing
46 queues continue to work) and now also supports Zebra's
48 - The lpstat command could show the wrong active job for
50 - Fixed a potential crash problem in the scheduler when
51 aborting a CGI program (STR #1290)
52 - Added a "cancel all jobs" button to the class and
53 printer web interfaces (STR #1140)
54 - The add-printer web page now shows the
55 set-printer-options page after the printer has been
57 - The classes web page now provides links to each of the
58 member printers (STR #307)
59 - CUPS now handles HTTP request/response lines up to 32k
60 in length; this is mainly for better cookie support
62 - Added support for the Apache PassEnv and SetEnv
63 directives to cupsd.conf (STR #853)
64 - Added large file (64-bit) support (STR #541)
65 - Fixed a performance issue with the ippReadIO()
66 implementation (STR #1284)
67 - Fixed a performance issue with the scheduler's implicit
68 class implementation (STR #1283)
69 - The pdftops filter now adds the Title and Creator
70 fields from the PDF file to the PostScript document
71 comments section (STR #539, STR #830)
72 - Added a new cups_array_t and cupsArray*() functions to
73 the CUPS API to support sorted lists of data.
74 - Made the CUPS API library thread-safe (STR #1276)
75 - Added "media" option support for EFI EFMediaType option
77 - Added write buffering to the HTTP code to improve
78 performance (STR #547)
79 - The scheduler now uses the attributes-natural-language
80 attribute to localize banner pages (STR #386)
81 - The scheduler now returns the address that was used to
82 connect to it (STR #1076)
83 - Fixed a problem with N-up printing and OpenOffice (STR
85 - Added support for the GCC position independent
86 executable options (STR #1209)
87 - Added new BrowseLocalProtocols and
88 BrowseRemoteProtocols directives to cupsd.conf,
89 allowing for different browse protocols for local and
90 remote printers (STR #877)
91 - PPD files can now contain strings up to 256k in length
93 - The pstops filter now supports the IncludeFeature DSC
95 - The pstops filter now disables the setpagedevice
96 procedure when doing N-up printing (STR #1161)
97 - The serial backend now supports "stop=1", "stop=2",
98 "parity=space", and "parity=mark" options (STR #1155)
99 - "make install" no longer overwrites an existing PAM
100 configuration file (STR #1064)
101 - The scheduler now closes all files on startup when run
102 in daemon mode (STR #1009)
103 - Added a new RGBW colorspace to the CUPS raster format
105 - The pdftops filter now sets the page size based on the
106 media box when not scaling the output (STR #912)
107 - The pdftops filter now supports masked images (STR
109 - The pdftops filter produced large output when rendering
110 PDF files containing lot of repeated images (STR #327)
111 - The pdftops filter now minimizes print processing of
112 PDF files when using the page-ranges option (STR #273)
113 - Updated pdftops filter to Xpdf 3.01.
114 - Added new cupsBackchannelRead() and
115 cupsBackchannelWrite() functions, as well as
116 backchannel support to the parallel, serial, socket,
117 and USB backends (STR #1252)
118 - The parallel and USB backends now treat a "no space
119 available" error as an out-of-paper condition (STR
121 - The "lpc" command now supports the "status all" command
123 - ippReadIO() did not read collections properly (STR
125 - The "make test" script now creates the test files in
126 "/tmp/cups-$USER" instead of "/tmp/$USER" (STR #981)
127 - All backends now abort on error when printing a job to
128 a class - this allows the next printer in the class to
129 print the job (STR #1084)
130 - The scheduler now verifies that a printer supports
131 Letter or A4 media sizes before setting them as the
132 initial default (STR #1250)
133 - The cupstestppd program now flags bad Resolution
135 - The USB backend now retries printing when the printer
136 is disconnected or turned off (STR #1267)
137 - Added new httpGetHostname() function to CUPS API, and
138 use it instead of gethostname() so that the web
139 interface will work correctly on systems whose hostname
140 is not the FQDN (STR #1266)
141 - The scheduler now stops printers if the backend for the
142 queue is missing on startup (STR #1265)
143 - The configure script now supports "--disable-library"
144 to disable particular image file format support
145 libraries, even if they are available on the build
147 - The IPP backend did not always report on the total
148 number of pages that were printed (STR #1251)
149 - The lpstat program could display garbage date and time
150 values for locales whose date format exceeded 31
151 characters (STR #1263)
152 - The cupstestppd program would segfault when testing
153 certain broken PPD files (STR #1268)
154 - Dramatically reduced the overhead of implicit classes.
155 - Added new cupsDir*() functions to CUPS API.
156 - Printers can now be published individually for sharing.
157 - Fixed a bug in the scheduler's startup signalling code
158 which caused cupsd to send the SIGUSR1 signal to the
159 init process instead of the original parent process
161 - Added new on-line help CGI to web interface to provide
163 - Devices are now tracked dynamically, with each query
164 doing a new device scan. This eliminates a previous
165 startup delay caused by slow backends and allows new
166 printers to be seen without restarting the server,
167 however it limits the amount of device URI checking
168 that can be done (basically now the scheduler only
169 requires a URI with a method that is a listed backend)
170 - Added new printer auto-detection, server configuration,
171 and log file viewing to the administration web page.
172 - Added new "set allowed users" web interface to set the
173 list of allowed users for a printer or class.
174 - The scheduler, command-line, and web interfaces now
175 limit the list of printers and classes to those
176 accessible by a user.
177 - cupsMarkOptions() now handles more non-standard
178 duplexing options and choices (STR #915)
179 - cups-lpd now honors remote banner requests with the
180 "standard" banner whenever a printer does not have one
182 - The scheduler's denial-of-service checks did not work
183 properly with IPv6 addresses (STR #1134)
184 - The lp and lpr commands did not error out properly when
185 they were unable to write to a temporary file (STR
187 - The pstops filter did not handle Adobe-specific
188 comments in Windows NT driver output (STR #1085)
189 - "lpstat -l -p" incorrectly reported the printer
191 - The web interface now operates exclusively with the
192 UTF-8 encoding, and sends the appropriate character set
193 and header information to the web browser (STR #919,
195 - Added a "set allowed users" interface to the web
196 interface so that you can set the list of allowed or
197 denied users/groups for a printer or class.
198 - Disallow the "#" character in printer names, since it
199 has special meaning in the shell, config files, and in
200 URIs (STR #917, STR #1202)
201 - Added a new application/x-csource MIME type, and
202 support for it to the texttops filter so that you can
203 pretty print plain text files without the C/C++
204 keywords being highlighted.
205 - The pdftops filter did not compile with GCC 4.0 (STR
207 - The texttops filter did not highlight preprocessor
208 directives followed by a tab properly.
209 - HP PJL output now uses both JOB DISPLAY and RDYMSG
210 commands to show the current job on the printer's
212 - Local authentication certificates are now stored in
213 /var/run/cups/certs by default instead of
214 /etc/cups/certs (STR #1211)
215 - Backends now use "&" to separate options in device
216 URIs; "+" is still recognized but is deprecated (STR
218 - The USB backend no longer supports the usb:/dev/foo
219 format on systems that support device ID queries.
220 - Forced classification markings did not work when the
221 job-sheets parameters were "none,none".
222 - "lpstat -l -p" incorrectly showed all users as allowed,
223 even if the queue was restricted to certain users (STR
225 - The scheduler now automatically detects SSL/TLS clients
226 without using the SSLPort/SSLListen directives.
227 - The CUPS API and scheduler no longer support SSLv2-
228 encrypted connections.
229 - Updated the cupsaddsmb utility to correctly export the
230 CUPS driver for Windows.
231 - Fixed a signal-handling bug in httpRead() which
232 ultimately caused the server to print multiple copies
233 when it was busy (STR #1184)
234 - The cupsFile API now uses the O_APPEND option when
235 opening files in append mode (STR #990)
236 - The md5.h header and md5_* functions are now officially
237 private and have been renamed to avoid conflicts with
238 other implementations with the same name.
239 - The pdftops filter incorrectly embedded some Type1
241 - The scheduler didn't detect a closed connection in the
242 middle of an IPP request (STR #1153)
243 - The scheduler could block trying to read the job status
244 if there was input pending and the job was cancelled in
245 the same input cycle (STR #1157)
246 - The scheduler could crash when deleting a class due to
248 - Updated the Zebra ZPL label printer driver to use the
249 run-length encoding and support more options.
250 - Updated serial backend to scan for /dev/ttyC* as well
251 as /dev/ttyc* for Cyclades serial ports (STR #1049)
252 - The scheduler could hang reading the job status under
253 certain circumstances (STR #1068)
254 - The USB backend termination signal code was inverted
256 - Moved enable and disable commands to sbindir to be
258 - Added new cupsRasterInterpretPPD() function for RIP
259 filters to setup the raster page header from
260 PostScript commands in a PPD file.
261 - The CUPS browsing protocol now offers a "delete" bit
262 to remove printers as soon as they are deleted on the
263 server or as soon as the server shuts down gracefully
265 - The CUPS_SERVER and ServerName directives (client.conf
266 and ~/.cupsrc) may now contain names of the form
267 "server:port" and "/path/to/domain/socket".
268 - The "cancel -u user" command now works for ordinary
270 - Added test run support to "make test" target (STR #64)
271 - Added domain socket support (STR #656)
272 - Added BrowseLocalOptions directive to allow the
273 administrator to add printer URI options to the browse
274 URI, e.g. "encryption=required" (STR #732)
275 - Added BrowseRemoteOptions directive to allow the
276 administrator to add standard URI options to the
277 remote printer URI, e.g. "encryption=required" (STR
279 - Now put "-I.." compiler option in front of all others
280 to ensure that local CUPS headers are used before
281 installed headers (STR #437)
282 - New cupsLangPrintf() and cupsLangPuts() for localized
284 - Now support custom attributes and extended options in
286 - Now provide functions to save PPD files.
287 - New policy mechanism allows per-operation and
288 per-printer control over what users and groups are
289 allowed to do various IPP operations.
290 - New error policy mechanism to control how aborted
291 backend errors are handled by the scheduler
292 (abort-job, retry-job, requeue-job, stop-printer)
293 - Updated the printer test page with a better color
294 wheel and a separate grayscale ramp.
295 - A single backend process is now run to send all print
297 - Backends and filters can now send and receive
298 backchannel data over file descriptor 3.
299 - Updated the raster stream format to support more
300 user-defined attributes and to do compression of the