Skip to content

Releases: apple/cups

v1.1

17 Mar 20:51
Compare
Choose a tag to compare

Changes in CUPS v1.1:

  • Documentation updates.
  • Configuration script updates.
  • Didn't map charset and language value strings to lowercase and _ to - as required by SLP and IPP.
  • ppdLoadXYZ() didn't add the list of available fonts to the ppd_file_t structure.
  • The text filter common code was freeing the PPD file data before it was used.
  • The text filter now embeds missing fonts.
  • The CGI interface now maps local access to the server to the localhost address.
  • The HP-GL/2 filter didn't use the specified (or default) color ranges, resulting in strange colors.
  • The HP-GL/2 filter didn't default to no input window, which caused unnecessary clipping of plots.
  • Integrated Xpdf's pdftops filter into CUPS, which is a lightweight and reliable replacement for Ghostscript's PDF support.
  • Removed all PDF support from Ghostscript.
  • Updated HP driver to set top margin; this seems to fix the offset problem seen on HP DeskJet printers.
  • Fixed dependencies on the ZLIB and JPEG libraries in pstoraster.
  • The lpr command wasn't using the lpoptions defined by the user.
  • The lpr command would segfault if the CUPS server was not running.
  • The top-level makefile was not installing the CUPS initialization script. It now does so if it sees there is an init.d directory in /sbin, /etc/rc.d, or /etc.
  • "lpstat -v all" didn't work.
  • pstoraster would crash on some platforms doing the setpagedevice operator.
  • The web administration interface now allows you to set the default banner pages.
  • Images can now be positioned on the page using the new "position" option.
  • The AccessLog, ErrorLog, and PageLog directives now support "%s" to insert the server name.
  • Added a new BrowseShortNames directive to allow for short remote printer names ("printer" instead of "printer@server") when possible.
  • The scheduler could crash if given an invalid PPD file with no PageSize attributes.
  • Updated the serial, parallel, and usb backends to do multiple writes and ignore ioctl() errors as needed; this should fix problems with serial printing on old serial drivers and with the UltraSPARC parallel port driver under Solaris 2.7.
  • Now propagate LD_LIBRARY_PATH to child processes from cupsd.
  • New DataDir directive for installing in alternate locations.
  • New CUPS_SERVERROOT and CUPS_DATADIR environment variables to specify installation directories as needed.
  • Queued remote jobs recreate remote printers as needed when the scheduler is started.
  • Deleting a printer also purges all jobs on that printer.
  • Old job and control files that don't belong to a printer are automatically deleted.
  • Wasn't updating time-at-processing and time-at-completed attributes in job.
  • Didn't send required multiple-operation-time-out attribute in response to a get-printer-attributes request.
  • cups-lpd now supports options set with lpoptions.
  • The job-hold-until attribute is now provided with all jobs. For jobs that are not currently held the value is "no-hold".
  • The scheduler was not sending "unknown" values in IPP responses.
  • The lpoptions command now accumulates options from previous runs rather than replacing all options for a printer.
  • The IPP backend now switches to IPP/1.0 if a 1.1 request fails.
  • The lpadmin and admin.cgi programs now validate new printer and class names.
  • The access_log file now includes the number of IPP bytes received in a POST request.

v1.0.5

17 Mar 20:51
Compare
Choose a tag to compare

Changes in CUPS v1.0.5:

  • The HP-GL/2 filter did not correctly set the pen color for pens other than #1.
  • The scheduler would only accept 26 simultaneous jobs under some OS releases (mkstemp() limitation.) It now handles up to 2^32 simultaneous jobs.
  • The PostScript filter loaded the printer's PPD file twice.
  • The PAM authentication code now uses pam_strerror() to provide a textual error message in the error_log file.
  • The scheduler now copies PPD and interface script files instead of moving them; this fixes installations with a separate requests directory.
  • The PostScript RIP did not generate correct 6-color output.
  • Several filters were marking PPD options twice when they didn't need to.
  • The scheduler did not save the printer or class state after an accept-jobs or reject-jobs operation.
  • The cupsGetDefault() function now ignores the PRINTER environment variable if it is set to "lp".
  • New ippErrorString() function to get textual error messages.
  • Better error reporting in the System V commands.
  • The lpadmin and lpstat commands always tried to connect to the default server.
  • The text filter didn't load the charset files from the correct location.
  • Wasn't sending a WWW-Authenticate: field to HTTP clients when authentication was required.
  • httpSeparate() didn't always set the default port number for known methods.
  • The HP-GL/2 filter now looks for "PSwidth,length" instead of (the correct) "PSlength,width" as documented by HP. It appears that many major CAD applications are broken and this change allows the auto-rotation to work with them.
  • The IPP "printer-resolution" option was not being translated.
  • The charset files did not include the Microsoft "standard" characters from 128 to 159 (unused by the ISO-8859-x charsets)
  • The scheduler was chunking the Content-Type field from CGI programs; this problem was most noticeable with Microsoft Internet Explorer 5.
  • By popular demand, the printers, jobs, and classes CGIs no longer force a reload of the page every 10/30 seconds.
  • The scheduler incorrectly required that the IPP client provide a document-format attribute for the validate-job operation.
  • Clients that sent bad IPP requests without the required attributes-natural-language and attributes-charset attributes would crash the scheduler.

v1.0.4

17 Mar 20:51
Compare
Choose a tag to compare

Changes in CUPS v1.0.4:

  • Documentation updates.
  • Jobs would get stuck in the queue and wouldn't print until you enabled the queue.
  • The lp and lpr commands now catch SIGHUP and SIGINTR.
  • The lp and lpr commands now use sigaction or sigset when available.
  • CUPS library updates for WIN32/OS-2

v1.0.3

17 Mar 20:51
Compare
Choose a tag to compare

Changes in CUPS v1.0.3:

  • Documentation updates.
  • The lpq man page was missing.
  • The configure script was not properly detecting the image libraries.
  • The top-level makefile was calling "make" instead of "$(MAKE)".
  • PostScript filter fixes for number-up, OutputOrder, and %Trailer.
  • The imagetops filter didn't end the base-85 encoding properly if the image data was not a multiple of 4 bytes in length.
  • The imagetoraster filter didn't generate good banded RGB or CMY data (was dividing the line width by 4 instead of 3...)
  • The imagetoraster filter now records the bounding box of the image on the page.
  • The CUPS image library cache code wasn't working as designed; images larger than the maximum RIP cache would eventually thrash using the same cache tile.
  • The CUPS image library TIFF loading code didn't handle unknown resolution units properly; the fixed code uses a default resolution of 128 PPI.
  • cupsGetClasses() and cupsGetPrinters() did not free existing strings if they ran out of memory.
  • The scheduler logs incorrectly contained 3 digits for the timezone offset instead of 4.
  • The scheduler now does a lookup for the default user and group ID; the previous hardcoded values caused problems with the LPD backend.
  • The cancel-job operation now allows any user in the system group to cancel any job.
  • The cancel-job operation stopped the print queue if the job was being printed.
  • Now only stop printers if the backend fails. If the filter fails then the failure is noted in the error_log and printing continues with the next file in the queue.
  • Now log whether a filter fails because of a signal or because it returned a non-zero exit status.
  • The root user now always passes the system group test.
  • Printers with an interface script and remote printers and classes didn't have a printer-make-and-model attribute.
  • Added logging of lost/timed-out remote printers.
  • The HP-GL/2 filter was scaling the pen width twice.
  • Updated the HP-GL/2 filter to use a single SP (Set Pen) procedure. This makes the output smaller and is more appropriate since the filter keeps track of the pen states already.
  • The scheduler didn't handle passwords with spaces.
  • The IPP backend now does multiple copies and retries if the destination server requires it (e.g. HP JetDirect.)
  • The disable command didn't implement the "-c" option (cancel all jobs.)
  • Changed the CMYK generation function for the image file and PostScript RIPs.
  • The lp command didn't support the "-h" option as documented.
  • The AppSocket, IPP, and LPD backends now retry on all network errors. This should prevent stopped queues caused by a printer being disconnected from the network or powered off.
  • The scheduler now restarts a job if the corresponding printer is modified.
  • The image RIPs now rotate the image if needed to fit on the page.

v1.0.2

17 Mar 20:51
Compare
Choose a tag to compare

Changes in CUPS v1.0.2:

  • The HP-GL/2 filter didn't always scale the output correctly.
  • The HP-GL/2 filter now supports changing the page size automatically when the "fitplot" option is not used.
  • The cancel-job operation was expecting a resource name of the form "/job/#" instead of "/jobs/#"; this prevented the cancel and lprm commands from working.
  • The backends didn't log pages when files were printed using the "-oraw" option.
  • The authorization code did not work with the Slackware long shadow password package because its crypt() can return NULL.
  • The chunking code didn't work for reading the response of a POST request.
  • cupsGetPPD() now does authentication as needed.
  • The N-up code in the PostScript filter didn't work with some printers (grestoreall would restore the default blank page and device settings).
  • The N-up code in the PostScript filter didn't scale the pages to fit within the imageable area of the page.
  • Wasn't doing an fchown() on the request files. This caused problems when the default root account group and CUPS group were not the same.

v1.0.1

17 Mar 20:51
Compare
Choose a tag to compare

Changes in CUPS v1.0.1:

  • Documentation updates.
  • Fixed a bunch of possible buffer-overflow conditions.
  • The scheduler now supports authentication using PAM.
  • Updated the Italian message file.
  • httpEncode64() didn't add an extra "=" if there was only one byte in the last three-byte group.
  • Now drop any trailing character set from the locale string (e.g. "en_US.ISO_8859-1" becomes "en_US")
  • Fixed "timezone" vs "tm_gmtoff" usage for BSD-based operating systems.
  • Updated IPP security so that "get" operations can be done from any resource name; this allows the CGIs to work with printer authentication enabled so long as authentication isn't turned on for the whole "site".
  • The IPP code didn't properly handle the "unsupported" group; this caused problems with the HP JetDirect since it doesn't seem to support the "copies" attribute.
  • The HTTP chunking code was missing a CR LF pair at the end of a 0-length chunk.
  • The httpSeparate() function didn't handle embedded usernames and passwords in the URI properly.
  • Doing "lpadmin -p printer -E" didn't restart printing if there were pending jobs.
  • The cancel-job operation now requires either a requesting-user-name attribute or an authenticated username.
  • The add-printer code did not report errors if the interface script or PPD file could not be renamed.
  • Request files are now created without world read permissions.
  • Added a cupsLastError() function to the CUPS API to retrieve the IPP error code from the last request.
  • Options are now case-insensitive.
  • The lpq command now provides 10 characters for the username instead of the original (Berkeley standard) 7.
  • The cancel command needed a local CUPS server to work (or the appropriate ServerName in cupsd.conf)
  • The cancel and lprm commands didn't report the IPP error if the job could not be cancelled.
  • The lp and lpr commands didn't intercept SIGTERM to remove temporary files when printing from stdin.
  • The lp and lpr commands didn't report the IPP error if the job could not be printed.