1 CHANGES.txt - 2006-03-20
2 ------------------------
4 CHANGES IN CUPS V1.2rc1
6 - Documentation updates (STR #1497)
7 - Added KDE/GNOME icons and a Manage Printers menu item.
8 - Added --enable-image and --enable-pdftops configure
9 options to control whether the image and PDF filters
10 are built and installed (default = yes for all
11 platforms but MacOS X)
12 - Fixed a minor memory leak in the PPD API.
13 - Fixed transcoding issues (STR #1493)
14 - The scheduler now enforces a minimum job cost of 100
15 when doing FilterLimit checks.
16 - The scheduler would leak file descriptors when printing
17 to raw queues (STR #1491)
18 - The IPv6 support did not compile on Tru64 UNIX (STR
20 - ppdOpen2() now converts the NickName and all UI text to
22 - The Set Allows Users web page did not work (STR #1486)
23 - When the default policy was not set or set to a non-
24 existing policy, the scheduler did not set the default
25 policy name to "default" (STR #1484)
26 - The Zebra CPCL driver did not use the correct righthand
27 margin for the 4" wide label sizes.
28 - Fixed a problem with the parsing of fractional real
30 - Added Spanish localization files (STR #1480)
31 - Fixed localization of a few scheduler messages (STR
33 - Fixed support for HEAD requests in the scheduler (STR
37 CHANGES IN CUPS V1.2b2
39 - Updated the CUPS design description.
40 - Added --enable-32bit and --enable-64bit configure
41 options to allow building of separate 32/64-bit
42 libraries on systems that support both environments
44 - Various compiler warning fixes.
45 - Fixes for Solaris 10 builds against old GNU TLS and
47 - Added a cupsArrayUserData() function to retrieve the
48 user data pointer for an array (useful for typing
50 - The ppdEmitString() function did not compute the
51 required buffer size properly, leading to dropped
52 characters on the end of the printer commands in pstops
53 and imagetops (STR #1470)
56 CHANGES IN CUPS V1.2b1
58 - The serial backend now supports Equinox 8-port serial
60 - The IPP backend now supports a compression option to
61 compress print files as they are sent to the remote
63 - The CUPS browse protocol now supports passing of
64 default options and browse timeout values from the
65 server to the clients (STR #800)
66 - Implicit classes that timed out could cause the
67 scheduler to crash (STR #1439)
68 - Added DragonFly support in local device backends (STR
70 - Added LDAP printer browsing support (STR #338)
71 - Added official support for printer maintenance commands
72 via the CUPS Command file format and hooks in the
73 printer-type and web interfaces (STR #932)
74 - The HP-GL/2 filter could get in an infinite loop trying
75 to convert HP-PCL files (STR #1415)
76 - CUPS now implements the HTTP/1.1 Expect header (STR
78 - Options in PPD files are no longer automatically put in
79 an "Extra" group; rather, all options that are not
80 inside an Open/CloseGroup will be placed in the
81 "General" group (STR #1385)
82 - The scheduler now creates a job-uuid attribute that
83 uniquely identifies a job on a network (STR #1410)
84 - The init script now unsets the TMPDIR environment
85 variable to prevent user temporary directories from
86 being used by cupsd accidentally (STR #1424)
87 - Added support for launchd on MacOS X.
88 - Added support for notify_post on MacOS X.
89 - Added support for DBUS on Linux.
90 - All of the Berkeley (except for lpc) and System V
91 commands now support specification of user, host, and
92 port (STR #1028, STR #1029, STR #1087)
93 - The lpmove command now allows you to move all jobs for
94 a given queue (STR #56)
95 - The web interface now supports moving of a job or jobs
96 to another queue (STR #56)
97 - The web interface now provides searching, paging, and
98 changing of the sort/display order of classes, jobs,
100 - cupsaddsmb now accepts a password on the command-line
101 and supports passwords with special characters (STR
103 - ppdLoad*() no longer tries to "fix" bad characters in
105 - Printer names can now (reliably) contain Unicode
106 characters (STR #896)
107 - The lpstat command now shows the time and date of the
108 last printer state change instead of the hardcoded "Jan
110 - The scheduler now adds a job-actual-printer-uri
111 attribute to job objects when printing to a class (STR
113 - The scheduler now logs log file open errors to the
114 system log (STR #1289)
115 - The scheduler now sets the job-originating-user-name to
116 the authenticated username, if available (STR #1318)
117 - The scheduler now only updates the permissions of SSL
118 keys and certificates when they are under the
119 ServerRoot directory (STR #1324)
120 - The rastertodymo driver has been renamed to
121 rastertolabel (a symlink is installed so that existing
122 queues continue to work) and now also supports Zebra's
124 - The lpstat command could show the wrong active job for
125 a printer (STR #1301)
126 - Fixed a potential crash problem in the scheduler when
127 aborting a CGI program (STR #1290)
128 - Added a "cancel all jobs" button to the class and
129 printer web interfaces (STR #1140)
130 - The add-printer web page now shows the
131 set-printer-options page after the printer has been
133 - The classes web page now provides links to each of the
134 member printers (STR #307)
135 - CUPS now handles HTTP request/response lines up to 32k
136 in length; this is mainly for better cookie support
138 - Added support for the Apache PassEnv and SetEnv
139 directives to cupsd.conf (STR #853)
140 - Added large file (64-bit) support (STR #541)
141 - Fixed a performance issue with the ippReadIO()
142 implementation (STR #1284)
143 - Fixed a performance issue with the scheduler's implicit
144 class implementation (STR #1283)
145 - The pdftops filter now adds the Title and Creator
146 fields from the PDF file to the PostScript document
147 comments section (STR #539, STR #830)
148 - Added a new cups_array_t and cupsArray*() functions to
149 the CUPS API to support sorted lists of data.
150 - Made the CUPS API library thread-safe (STR #1276)
151 - Added "media" option support for EFI EFMediaType option
153 - Added write buffering to the HTTP code to improve
154 performance (STR #547)
155 - The scheduler now uses the attributes-natural-language
156 attribute to localize banner pages (STR #386)
157 - The scheduler now returns the address that was used to
158 connect to it (STR #1076)
159 - Fixed a problem with N-up printing and OpenOffice (STR
161 - Added support for the GCC position independent
162 executable options (STR #1209)
163 - Added new BrowseLocalProtocols and
164 BrowseRemoteProtocols directives to cupsd.conf,
165 allowing for different browse protocols for local and
166 remote printers (STR #877)
167 - PPD files can now contain strings up to 256k in length
169 - The pstops filter now supports the IncludeFeature DSC
171 - The pstops filter now disables the setpagedevice
172 procedure when doing N-up printing (STR #1161)
173 - The serial backend now supports "stop=1", "stop=2",
174 "parity=space", and "parity=mark" options (STR #1155)
175 - "make install" no longer overwrites an existing PAM
176 configuration file (STR #1064)
177 - The scheduler now closes all files on startup when run
178 in daemon mode (STR #1009)
179 - Added a new RGBW colorspace to the CUPS raster format
181 - The pdftops filter now sets the page size based on the
182 media box when not scaling the output (STR #912)
183 - The pdftops filter now supports masked images (STR
185 - The pdftops filter produced large output when rendering
186 PDF files containing lot of repeated images (STR #327)
187 - The pdftops filter now minimizes print processing of
188 PDF files when using the page-ranges option (STR #273)
189 - Updated pdftops filter to Xpdf 3.01.
190 - Added new cupsBackchannelRead() and
191 cupsBackchannelWrite() functions, as well as
192 backchannel support to the parallel, serial, socket,
193 and USB backends (STR #1252)
194 - The parallel and USB backends now treat a "no space
195 available" error as an out-of-paper condition (STR
197 - The "lpc" command now supports the "status all" command
199 - ippReadIO() did not read collections properly (STR
201 - The "make test" script now creates the test files in
202 "/tmp/cups-$USER" instead of "/tmp/$USER" (STR #981)
203 - All backends now abort on error when printing a job to
204 a class - this allows the next printer in the class to
205 print the job (STR #1084)
206 - The scheduler now verifies that a printer supports
207 Letter or A4 media sizes before setting them as the
208 initial default (STR #1250)
209 - The cupstestppd program now flags bad Resolution
211 - The USB backend now retries printing when the printer
212 is disconnected or turned off (STR #1267)
213 - Added new httpGetHostname() function to CUPS API, and
214 use it instead of gethostname() so that the web
215 interface will work correctly on systems whose hostname
216 is not the FQDN (STR #1266)
217 - The scheduler now stops printers if the backend for the
218 queue is missing on startup (STR #1265)
219 - The configure script now supports "--disable-library"
220 to disable particular image file format support
221 libraries, even if they are available on the build
223 - The IPP backend did not always report on the total
224 number of pages that were printed (STR #1251)
225 - The lpstat program could display garbage date and time
226 values for locales whose date format exceeded 31
227 characters (STR #1263)
228 - The cupstestppd program would segfault when testing
229 certain broken PPD files (STR #1268)
230 - Dramatically reduced the overhead of implicit classes.
231 - Added new cupsDir*() functions to CUPS API.
232 - Printers can now be published individually for sharing.
233 - Fixed a bug in the scheduler's startup signalling code
234 which caused cupsd to send the SIGUSR1 signal to the
235 init process instead of the original parent process
237 - Added new on-line help CGI to web interface to provide
239 - Devices are now tracked dynamically, with each query
240 doing a new device scan. This eliminates a previous
241 startup delay caused by slow backends and allows new
242 printers to be seen without restarting the server,
243 however it limits the amount of device URI checking
244 that can be done (basically now the scheduler only
245 requires a URI with a method that is a listed backend)
246 - Added new printer auto-detection, server configuration,
247 and log file viewing to the administration web page.
248 - Added new "set allowed users" web interface to set the
249 list of allowed users for a printer or class.
250 - The scheduler, command-line, and web interfaces now
251 limit the list of printers and classes to those
252 accessible by a user.
253 - cupsMarkOptions() now handles more non-standard
254 duplexing options and choices (STR #915)
255 - cups-lpd now honors remote banner requests with the
256 "standard" banner whenever a printer does not have one
258 - The scheduler's denial-of-service checks did not work
259 properly with IPv6 addresses (STR #1134)
260 - The lp and lpr commands did not error out properly when
261 they were unable to write to a temporary file (STR
263 - The pstops filter did not handle Adobe-specific
264 comments in Windows NT driver output (STR #1085)
265 - "lpstat -l -p" incorrectly reported the printer
267 - The web interface now operates exclusively with the
268 UTF-8 encoding, and sends the appropriate character set
269 and header information to the web browser (STR #919,
271 - Added a "set allowed users" interface to the web
272 interface so that you can set the list of allowed or
273 denied users/groups for a printer or class.
274 - Disallow the "#" character in printer names, since it
275 has special meaning in the shell, config files, and in
276 URIs (STR #917, STR #1202)
277 - Added a new application/x-csource MIME type, and
278 support for it to the texttops filter so that you can
279 pretty print plain text files without the C/C++
280 keywords being highlighted.
281 - The pdftops filter did not compile with GCC 4.0 (STR
283 - The texttops filter did not highlight preprocessor
284 directives followed by a tab properly.
285 - HP PJL output now uses both JOB DISPLAY and RDYMSG
286 commands to show the current job on the printer's
288 - Local authentication certificates are now stored in
289 /var/run/cups/certs by default instead of
290 /etc/cups/certs (STR #1211)
291 - Backends now use "&" to separate options in device
292 URIs; "+" is still recognized but is deprecated (STR
294 - The USB backend no longer supports the usb:/dev/foo
295 format on systems that support device ID queries.
296 - Forced classification markings did not work when the
297 job-sheets parameters were "none,none".
298 - "lpstat -l -p" incorrectly showed all users as allowed,
299 even if the queue was restricted to certain users (STR
301 - The scheduler now automatically detects SSL/TLS clients
302 without using the SSLPort/SSLListen directives.
303 - The CUPS API and scheduler no longer support SSLv2-
304 encrypted connections.
305 - Updated the cupsaddsmb utility to correctly export the
306 CUPS driver for Windows.
307 - Fixed a signal-handling bug in httpRead() which
308 ultimately caused the server to print multiple copies
309 when it was busy (STR #1184)
310 - The cupsFile API now uses the O_APPEND option when
311 opening files in append mode (STR #990)
312 - The md5.h header and md5_* functions are now officially
313 private and have been renamed to avoid conflicts with
314 other implementations with the same name.
315 - The pdftops filter incorrectly embedded some Type1
317 - The scheduler didn't detect a closed connection in the
318 middle of an IPP request (STR #1153)
319 - The scheduler could block trying to read the job status
320 if there was input pending and the job was cancelled in
321 the same input cycle (STR #1157)
322 - The scheduler could crash when deleting a class due to
324 - Updated the Zebra ZPL label printer driver to use the
325 run-length encoding and support more options.
326 - Updated serial backend to scan for /dev/ttyC* as well
327 as /dev/ttyc* for Cyclades serial ports (STR #1049)
328 - The scheduler could hang reading the job status under
329 certain circumstances (STR #1068)
330 - The USB backend termination signal code was inverted
332 - Moved enable and disable commands to sbindir to be
334 - Added new cupsRasterInterpretPPD() function for RIP
335 filters to setup the raster page header from
336 PostScript commands in a PPD file.
337 - The CUPS browsing protocol now offers a "delete" bit
338 to remove printers as soon as they are deleted on the
339 server or as soon as the server shuts down gracefully
341 - The CUPS_SERVER and ServerName directives (client.conf
342 and ~/.cupsrc) may now contain names of the form
343 "server:port" and "/path/to/domain/socket".
344 - The "cancel -u user" command now works for ordinary
346 - Added test run support to "make test" target (STR #64)
347 - Added domain socket support (STR #656)
348 - Added BrowseLocalOptions directive to allow the
349 administrator to add printer URI options to the browse
350 URI, e.g. "encryption=required" (STR #732)
351 - Added BrowseRemoteOptions directive to allow the
352 administrator to add standard URI options to the
353 remote printer URI, e.g. "encryption=required" (STR
355 - Now put "-I.." compiler option in front of all others
356 to ensure that local CUPS headers are used before
357 installed headers (STR #437)
358 - New cupsLangPrintf() and cupsLangPuts() for localized
360 - Now support custom attributes and extended options in
362 - Now provide functions to save PPD files.
363 - New policy mechanism allows per-operation and
364 per-printer control over what users and groups are
365 allowed to do various IPP operations.
366 - New error policy mechanism to control how aborted
367 backend errors are handled by the scheduler
368 (abort-job, retry-job, requeue-job, stop-printer)
369 - Updated the printer test page with a better color
370 wheel and a separate grayscale ramp.
371 - A single backend process is now run to send all print
373 - Backends and filters can now send and receive
374 backchannel data over file descriptor 3.
375 - Updated the raster stream format to support more
376 user-defined attributes and to do compression of the