CHANGES.txt - 11/04/1999
------------------------

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


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.


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.


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.
