NEWS - OpenPrinting CUPS Filters v1.0.54 - 2014-06-06
-----------------------------------------------------

CHANGES IN V1.0.54

	- pdftoraster: Support for output in the color spaces 18
	  (CUPS_CSPACE_SW, sGray), 19 (CUPS_CSPACE_SRGB, sRGB), and 20
	  (CUPS_CSPACE_ADOBERGB, Adobe RGB). No color management
	  appropriate to these color spaces is added yet.
	- foomatic-rip, gstoraster, imagetoraster, pdftoraster,
	  rastertopclx: added boolean option "no-color-management" to
	  suppress all forms of color correction when
	  color-calibrating the printer.
	- pdftops: Default to "hybrid" setting for the PDF->PostScript
	  renderer.
	- pdftoraster: Produce correct (compressed) PWG Raster output
	  when requested by using the correct mode in
	  cupsRasterOpen().
	- rastertopdf: Added new filter to convert PWG Raster input
	  into a PDF file (using QPDF). This filter makes CUPS
	  supporting the PWG Raster input format which is required to
	  be supported by IPP Everywhere printers, making a shared
	  CUPS queue emulating an IPP Everywhere printer. This is a
	  first implementation which supports the black, RGB, CMYK,
	  sGray, sRGB, and Adobe RGB color spaces (all mapped to
	  DeviceGray, DeviceRGB, and DeviceCMYK resp. in the PDF
	  output) with 1, 8, and 16 bits per component color
	  depth. sGray, sRGB, and Adobe RGB are currently also mapped
	  to DeviceGray and DeviceRGB and do not have the correct
	  color management yet, so color output is not absolutely
	  correct. Note that mime.types of CUPS up to 1.7.2 has a bug
	  which prevents PWG Raster to be recognized, the
	  "priority(100)" of the rule needs to be changed to
	  "priority(150)".
	- foomatic-rip: Corrected declaration of print_pdf() function in
	  pdf.h file (Debian bug #748028).
	- foomatic-rip: Let it also build with uclibc which does not
	  provide the mkstemps() function. Thanks to Andreas K.
	  Huettel for the patch (Gentoo bug #509884).
	- cups-browsed: Create local queues also to access classes on
	  remote CUPS servers (Ubuntu bug #1313741).
	- cups-browsed: Let a newly discovered printer not only
	  overtaking an existing printer entry if it is from the same
	  host (usually IPP -> IPPS) or without host entry
	  (unconfirmed local queue from previous cups-browsed session)
	  but also if it is marked disappeared. So printer entries get
	  correctly migrated when things like a host name change of
	  the remote server happen.
	- cups-browsed: Always do case-insensitive comparing of
	  strings, as CUPS queue names and URIs are case-insensitive
	  (CUPS STR #4411).

CHANGES IN V1.0.53

	- foomatic-rip: Fixed segfault when creating log file (Bug
          #1206).
	- cups-browsed: SECURITY FIX: Fix on usage of the
	  "BrowseAllow" directive in cups-browsed.conf. Before, if the
	  argument of a "BrowseAllow" directive is not understood it
	  is treated as the directive not having been there, allowing
	  any host if this was the only "BrowseAllow" directive. Now
	  we treat this as a directive which no host can fulfill, not
	  allowing any host if it was the only one. No "BrowseAllow"
	  directive means access for all, as before (Bug #1204).
	- cups-browsed: SECURITY FIX: Further improvement on the fix
	  in 1.0.51 as it was insufficient. In addition, some fixes
	  against OOB access are done. Thanks to Sebastian Krahmer for
	  the patch (SUSE/Novell bug #871327).

CHANGES IN V1.0.52

	- texttopdf: Make sure that margin changes for prettyprint
	  get applied.
	- texttopdf, imagetopdf, imagetoraster: Range-check paper
	  dimensions and margins taken from the PPD file and correct
	  them if needed (Bug #1195).

CHANGES IN V1.0.51

	- cups-browsed: SECURITY FIX to prevent arbitrary code
	  injection into the System V interface scripts generated for
	  queues for discovered native IPP printers by a malicious IPP
	  print service with forged make/model and/or PDL string.
 
CHANGES IN V1.0.50

	- pdftops: Let old HP LaserJet printers (model number without
	  letter, like "LaserJet 3" or "LaserJet 4000") use Poppler
	  instead of Ghostscript (Debian bug #742765).
	- pdftops: Improved workaround for Toshiba printers. Instead
	  of using Poppler do not emit TrueType fonts with Ghostscript
	  (Ubuntu bug #998087).
	- cups-browsed: Build the device URIs for all local queues we create
	  with the CUPS library function httpAssembleURIf() for proper
	  percent escaping of characters which are not allowed in URIs
	  (Bug #1187).

CHANGES IN V1.0.49

	- pdftops: Use Poppler also for Toshiba printers (Ubuntu bug
	  #998087).
	- pdftops: Fixed typo which always made PostScript level 2 being
	  generated when using Poppler's pdftops (Ubuntu bug #1294370).

CHANGES IN V1.0.48

	- cups-browsed: Fix for a crash which happens on Bonjour reports of
	  printers without "product", "usb_MDL", and "ty" fields in the
	  text record (Ubuntu bug #1284834).
	- cups-browsed: In README and in the sample startup scripts/configs
	  for System V Init and Upstart taken into account the fact that it
	  is not required any more to start avahi-daemon before starting
	  cups-browsed.

CHANGES IN V1.0.47

	- pdftoopvp: SECURITY FIX for CVE-2013-6474, CVE-2013-6475,
	  and CVE-2013-6476: Introductionof gmallocn and gmallocn3
	  to protect against arbitrary code execution with the
	  privileges of the "lp" user via malicious PDF files. Also
	  restrict the directory from where OPVP drivers can get
	  loaded.
	- urftopdf: SECURITY FIX for CVE-2013-6473: Two heap-based
	  buffer overflow flaws in urftopdf. If a malicious URF file
	  were processed it could lead to arbitrary code execution
	  with the privileges of the "lp" user.
	- pdftopdf: Fixed typo in initialization which sets the default
	  value page border to an undefined value. Thanks to Helge
	  Blischke for the patch.
	- cups-browsed: Check for changes of the URI of a queue which
	  we have created and correct the URI if needed, especially if
	  a queue was not removed on shutdown of cups-browsed (default
	  printer or still having jobs) and before restart of
	  cups-browsed the server's DNS-SD-provided has changed.
	- bannertopdf: Support PDF forms as banner template. This allows
	  especially internationalized banner pages. Forms can contain
	  fields for any CUPS/IPP value and get automatically filled
	  Thanks to Andrew V. Stepanov from ALT Linux (Bug #1170,
	  also first step to fix Ubuntu bug #1196986).

CHANGES IN V1.0.46

	- gstoraster: Ignore SIGCHLD, rely on waitpid instead. Thanks
	  to Lauri Tirkkonen (Bug #1184).
	- gstoraster: Fix two instances of insufficient EINTR handling.
	  Thanks to Lauri Tirkkonen (Bug #1184).

CHANGES IN V1.0.45

	- cups-browsed: Under Upstart load the AppArmor profile
	  (Ubuntu bug #1276630).
	- cups-browsed: Added auto-shutdown feature for on-demand use
	  of cups-browsed (for example on mobile devices). With auto
	  shutdown active, cups-browsed terminates after a certain
	  time interval (30 sec by default) without having any remote
	  printer to make available locally. The mode can be turned
	  on, turned off (default) or set to automatically be off
	  while avahi-daemon is running an on otherwise (controlled by
	  avahi-daemon running on-demand). The mode and the timeout
	  interval can be selected by command line options, the
	  configuration file, and sending signals to cups-browsed
	  (on/off only).
	- cups-browsed: To make Bonjour-discovered printers locally
	  available avahi-daemon does not need to be started before
	  cups-browsed and does not need to stay continuously running
	  while cups-browsed is running. Bonjour-discovered printers
	  are now added whenever avahi-daemon starts and removed
	  whenever avahi-daemon stops and cups-browsed keeps
	  running. This makes it easier to use cups-browsed in
	  different system-configurations and also on systems with
	  daemons running on-demand (like mobile systems).
	- foomatic-rip: Fixed pid_t/int function prototype mismatch
	  (Bug #1182).
	- Fixed --with-pdftops-path and --with-pdftocairo-path options
	  in ./configure (Bug #1181).
	- foomatic-rip: Do not use PATH_MAX for the length of static
	  strings which are supposed to hold a command line. Use our
	  own CMDLINE_MAX constant to set them to a length of 65535
	  bytes (Ubuntu bug #1019662, Debian bug #738440).
	- pdftops: Log command lines of renderer (Ghostscript, pdftops,
	  pdftocairo, acroread) and of pstops in CUPS' error_log (in
	  debug mode).

CHANGES IN V1.0.44

	- README: Documented the "hybrid" choice for the PDF renderer
	  in the pdftops filter.
	- pdftoippprinter: Handle missing Ghostscript/Poppler for all
	  output formats.
	- cups-browsed: Minor corrections in the error messages.
	- gstopxl: Support for PPD-less printing. Resolution,
	  InputSlot, Duplex, and ColorModel are set also without PPD
	  file now.
	- Added another sample PPD file for a native PDF printer,
	  Fuji_Xerox-DocuPrint_CM305_df-PDF.ppd. Thanks to Adrian
	  Johnson for contributing this PPD file.

CHANGES IN V1.0.43

	- cups-browsed: When automatically setting up a PPD-less print
	  queue for an IPP network printer add make/model info as an
	  additional "make-and-model" command line option to the call
	  of the pdftoippprinter filter, this way filters can do
	  make/model-specific exceptions (quirk rules).
	- pdftopdf: Take page size from the command line if not
	  already given by the PPD file, this way
	  "fitplot"/"fit-to-page" also works with PPD-less printing.
	- libcupsfilters: cupsRasterParseIPPOptions() did not set
	  sRGB color space.
	- libcupsfilters: cupsRasterParseIPPOptions() did not set
	  Tumble with "Duplex=DuplexTumble".
	- pdftopdf: Fixed software copy generation logic for printers
	  with hardware copy generation, but without collate support
	  (Ubuntu bug #1259240).
	- pdftops: Let Ghostscript output PostScript level 3 also for
	  PPD-less printing, but not for HP lasers or when make/model
	  info is not supplied.
	- cups-browsed: removed duplicate definition of ippSetVersion.
	- foomatic-rip: Take PATH_MAX constant from limits.h if
	  available instead defining it's own version conflicting with
	  kfreebsd. Thanks to Peter Green for the patch (Debian bug
	  #731658).
	- pdftops: Ignore "landscape", "orientation-requested",
	  "fit-to-page", and any page geometry options. The first two
	  do not make sense on PDF input and therefore should only be
	  used in ...topdf filters used before pdftopdf, the others
	  are already taken care of by pdftopdf so that pdftops gets
	  pages with print-ready page geometry.
	- pdftops: Added "-nocenter" to the call of "pdftops
	  -origpagesizes" (Poppler/freedesktop.org bug #72312,
	  comments #6 and #7).
	- pdftopdf: If there is no PPD file or no
	  "*LandscapeOrientation:" keyword in the PPD file, rotate
	  counterclockwise, not clockwise to fit a landscape-oriented
	  page on a portrait-oriented sheet (See
	  Poppler/freedesktop.org bug #72312, comment #6).
	- pstopdf: Support for the "landscape" and
	  "orientation-requested" options (Ubuntu bug #1243484).
	- pdftops: Support for PPD-less printing on PostScript
	  printers: duplex, resolution, input tray, color mode, and
	  make/model (for quirk rules) can now be supplied by the
	  command line, pdftopdf takes care of the page geometry.
	- libcupsfilters: cupsRasterParseIPPOptions() allows
	  specifying resolutions without unit now, assuming dpi then
	  (example: "600x600").
	- Fixed "--with-cups-rundir" and "--with-cups-domainsocket" 
	  options in configure (Bug #1174).
	- pdftops: After fixing the output of rotated PDF pages
	  (usually landscape-oriented pages rotated by pdftopdf) in
	  Poppler (Poppler/freedesktop.org bug #72312) corrected the
	  use of "pdftops -origpagesizes" in pdftops appropriately
	  (Red Hat bug #768811).

CHANGES IN V1.0.42

	- pdftoippprinter: Check also the presence of Ghostscript and
	  use pdftoraster if Ghostscript is missing.
	- gstoraster: At build time use the path for Ghostscript which
	  our build system already finds for pdftops.
	- pdftoraster: Take into account rotate field in PDF header,
	  when pdftopdf rotates a page to fit the paper it sets the
	  rotate field and does not swap the width and height entries.
	- pdftoippprinter: Made PCL 5c/e printing working correctly,
	  by first adding support for unprintable margins and
	  defaulting to 12pt margins if no margin info is supplied,
	  and second, by doing color printing always in RGB color
	  space.
	- rastertopclx: Improved support for PPD-less printing,
	  allowing color printing with (s)RGB color space. Output is
	  in sRGB then.
	- rastertopclx: Determine page size and select correct PCL
	  command for the page size more reliably, especially for
	  landscape-oriented pages.
	- gstoraster, pdftoraster: Do correct PWG Raster output, allow
	  switching to PWG Raster via "media-class=PwgRaster" option
	  and CUPS Raster via "media-class=". Default for PPD-less
	  printing is PWG Raster.
	- gstoraster, pdftoraster: Support applying unprintable
	  margins for PPD-less mode with CUPS Raster output.
	- libcupsfilters: Added support for "media-left-margin",
	  "media-right-margin", "media-bottom-margin", and
	  "media-top-margin" IPP options to specify unprintable
	  margins in 1/100th of a mm, to allow PPD-less printing with
	  unprintable margins (esp. PCL 5c/e with rastertopclx).
	- libcupsfilters: Do not set "MediaClass" to "PwgRaster" when
	  we request a CUPS Raster header and not a PWG Raster header.
	- libcupsfilters: Fixed typo in a debug message in the colord
          support part.
	- cupsfilters.convs: Corrected cost factor of
	  vnd.cups-postscript -> vnd.cups-raster conversion with
	  gstoraster, so that input data of the type
	  application/vnd.adobe-reader-postscript is converted
	  correctly (not via pstotiff). Thanks to Tim Waugh from Red
	  Hat for this patch
	- cups-browsed: Fixed several memory leaks by adding missing
	  free() calls and removing an unneeded strdup(). Thanks to
	  Jaromir Koncicky from Red Hat for the patch (Red Hat bug
	  #1027317).
	- Backends parallel and serial: Fixed logical expressions for
	  error handling (Bug #1172).
	- libcupsfilters: Moved filter/colord.[ch] into the library as
	  this code is now used by both gstoraster and foomatic-rip.
	- libcupsfilters: Made the names of the flags to tell that the
	  header is already included unique in all API header files.
	- foomatic-rip: Moved foomatic-rip's upstream home from the
	  foomatic-filters package to cups-filters, to make it easier
	  for distributions to ship and maintain a complete printing
	  stack and also to make upstream maintenance and development
	  easier.
	- foomatic-rip: Removed support for all the non-CUPS printing
	  environments as they are discontinued upstream. Now
	  foomatic-rip only works as a CUPS filter and in a spooler-less
	  direct mode, where the latter is mainly for testing and
	  debugging. Thanks to Anshul Kushwaha (anshulkushwaha1 at gmail
	  dot com) for doing this as a Google Summer of Code 2013 project.
	- foomatic-rip: Eliminated compiler warnings.
	- foomatic-rip: fixed "endswith()" string utility function.
	- foomatic-rip: Removed unneeded HAVE_DBUS conditionals.
	- gstoraster: Fixed build system for gstoraster use D-Bus for
	  colord support.
	- libcupsfilters: Recognize more Adobe-generated CMYK JPEGs to
	  take into account their inverted colors (Bug #1169).
	- pdftopdf: When checking whether double-sided printing is
	  chosen, do not only check for the choice names "DuplexNoTumble"
	  and "DuplexTumble" but also for "LongEdge", "ShortEdge",
	  "Top", and "Bottom", as CUPS does (Bug #1167).

CHANGES IN V1.0.41

	- cups-browsed: Added support for automatic PPD-less setup of
	  print queues for IPP printers discovered on the network via
	  Bonjour. Supported are printers with known languages (PWG
	  Raster, PDF, PostScript, PCL XL, PCL 5c/e), especially also
	  IPP Everywhere printers. This functionality is especially
	  ment for mobile devices to be able to print without printer
	  setup tool and without printer driver/PPD collection.
	- cups-browsed: Fixed a Valgrind-reported issue.
	- pdftoippprinter: New filter for PPD-less printing. The filter
	  will be configured as System-V interface script for a print
	  queue for a discovered IPP network printer generated by
	  cups-browsed.
	- rastertopclx: Added support for PPD-less printing. Without
	  PPD the filter generates PCL 5e.
	- cups-browsed: Fixed socket leaks in recent IPP subscriptions
	  changes. Thanks to Tim Waugh from Red Hat for the patch (Red
	  Hat bug #1021512).

CHANGES IN V1.0.40

	- pdftops: Introduced new "hybrid" renderer: Here usually
	  Ghostscript is used, but if the printer is a Brother,
	  Minolta, or Konica Minolta Poppler's pdftops gets used. This
	  is a quirk rule to work around bugs in the PS interpreters
	  of the printers.
	- Fixed format string issues and added __attribute__ wording
	  to printf-like functions to catch any regressions. Thanks to
	  Tim Waugh from Red Hat for the patch.

CHANGES IN V1.0.39

	- pdftops: Fix for landscape PDF handling. Do not use the
	  command line options "-origpagesizes" and
	  "-choosePaperByPDFPageSize" of Poppler's pdftops utility on
	  already processed PDF data. Thanks to Tim Waugh from Red Hat
	  for the patch.
	- cups-browsed: Improve the efficiency of BrowsePoll by using
          IPP notifications when possible. It falls back to the
          previous behaviour if it is not possible to use this
          optimization. Thanks to Tim Waugh from Red Hat for the patch.

CHANGES IN V1.0.38

	- pdftops: Added "-dNOINTERPOLATE" to the Ghostscript command line
	  for quicker processing of embedded bitmaps.
	- pstopdf: Added "-dUseCIEColor" to the Ghostscript command line
	  to assure compatibility with newer Ghostscript versions (9.08
	  and newer).

CHANGES IN V1.0.37

	- Added example configuration files for systemd and Upstart. Thanks
	  to Tomáš Chvátal for the systemd file.
	- Build system: Make sure that gstoraster gets linked against the
	  libcupsfilters of the currently built package and not of the
	  system. Thanks to Tomáš Chvátal.
	- cupsfilters.convs: Reworked the cost factors of the filters to
	  avoid bogus filter chains like pstotiff|imagetopdf instead of
	  pstopdf|pdftopdf for PostScript->PDF. Thanks to Tim Waugh from
	  Red Hat for the report.
	- pdftopdf: Accept additional command line options for PPD-less
	  printing.
	- cups-browsed: Fixed building with CUPS 1.5.x and older,
	  ippSetVersion() was missing under the accessor function definitions
	  for backward compatibility.

CHANGES IN V1.0.36

	- Fixed libdl detection in configure. Thanks to Andreas Huettel and
	  Yuta Satoh (Gentoo bug #478642).
	- cups-browsed: Allow BrowsePoll operation also access print queues
	  on older CUPS servers. Thanks to David Mohr for the patch.
	- cups-browsed: Assure that it always applies to the local CUPS
	  daemon and never to a remote one specified via client.conf
	  (Ubuntu bug #1207203).
	- pdftoopvp, pdftoijs, pdftoraster, bannertopdf: Made code working
	  with Poppler 0.24.x (Bug #1144).
	- gstoraster: Silenced compiler warnings.
	- gstoraster, pdftoraster: Added support for PPD-less printing
	  controlled by IPP attributes (CUPS 1.7.x+ only).
	- gstoraster, gstopxl: Moved these filters from Ghostscript to
	  cups-filters as upstream home.
	- libcupsfilters: Added new cupsRasterParseIPPOptions() API
	  function for PPD-less printing controlled by IPP attributes
	  (raster.h, CUPS 1.7.x+ only).
	- pdftopdf: Added support for page labels. "page-label" option and
	  "CLASSIFICATION" environment variable. Thanks to Tim Waugh from
	  Red Hat for the patch.
	- pdftops: If one or more of the PDF-to-PS renderers (Ghostscript,
	  Poppler pdftops, Poppler pdftocairo, acroread) is not installed
	  at build time, pre-fill the appropriate executable's path with the
	  executable name to allow the use of this renderer when it gets
	  installed later (Debian bug #716842).
	- cups-browsed: Do not resolve host names of remote printers discovered 
	  via CUPS broadcasts (Bug #1141).
	- Added man pages for cups-browsed and cups-browsed.conf. Thanks to
	  Brian Potkin for the contribution (Debian bug #714460).
	- Install also escp.h, it is useful for .drv files.

CHANGES IN V1.0.35

	- pdftoraster: Silenced compiler warning (Bug #1092).
	- bannertopdf: Fixed typo which prevented the host name to be shown
	  (Bug #1115).
	- README: Fixed info about the PPD keyword cupsManualCopies (Bug
	  #1086).
	- Modified the cost factors of the filters to avoid unneeded PDF
	  conversion detours when the input data is PostScript. Instead of
	  pstopdf->pdftopdf->pdftops and pstopdf->pdftopdf->gstoraster we
	  get pstops and pstops->gstoraster now (Bug #1138).
	- pdftops: Added experimental support for pdftocairo as PDF renderer.
	  Note that PostScript level 1 output and PDF input with color
	  spaces other than DeviceRGB, DeviceGray, sRGB or sGray is not
	  supported. PDFs generated by Cairo (for example when printing from
	  evince) uses only supported color spaces. Thanks to James Cloos
	  for the patch (Bug #1139).
	- cups-browsed: Changed default of browsing protocols fron none to
	  both DNS-SD and CUPS.
	- pdftops: Let Poppler generally generate PostScript level 3 if the
	  PPD identifies the printer as PS3 printer, make an exception of
	  sending PostScript Level 2 only for HP's laser printers, to not
	  compromise print quality and performance on all PS3 printers only
	  due to some buggy HP models (Debian bug #712949, see also Ubuntu bug
	  #277404).
	- Install pcl.h, it is needed by cupsfilters.drv. Thanks to Jiri
	  Popelka from Red Hat for the patch (Bug #1133).
	- Make cups-filters building with automake 1.13. Thanks to Andreas K.
	  Huettel (dilfridge) on IRC.
	- libcupsfilters, libfontembed, pdftopdf, texttopdf, cups-browsed:
	  Fixed several resource leaks and other problems. Thanks to Jiri
	  Popelka from Red Hat for the patches (Bug #1116).

CHANGES IN V1.0.34

	- cups-browsed: Fixed build with OpenBSD (Bug #1103).
	- pdftopdf: Enabled hardware copy generation, if available.
	- pdftopdf: Fixed evenDuplex logic.
	- cups-browsed: If a queue left over from the last session
	  gets confirmed, fill in the data structure with the Bonjour
	  parameters, also update the Bonjour parameters if a local
	  queue is upgraded from IPP to IPPS.

CHANGES IN V1.0.33

	- cups-browsed: Added NULL check (Bug #1106).

CHANGES IN V1.0.32

	- cups-browsed: Shared algorithm to generate local queues based on
	  browsed remote queue data between Bonjour and CUPS browsing, as the
	  simpler method used for CUPS browsing could overwrite local print
	  queues and had de-duplication problems, for example if the server
	  appears on two IPs in the network (connected by both ethernet and
	  WLAN).
	- cups-browsed: CUPS broadcasting also broadcasted non-shared,
	  especially cups-browsed-generated printers. Switched to detection
	  of non-shared printers by the appropriate bit in the printer-type
	  bit field IPP attribute.
	- cups-browsed: Made CUPS broadcasting work also without BrowseAllow
	  lines in cups-browsed.conf. In this case we accept all remote
	  printers (Ubuntu bug #1163764).
	- README: Updated documentation for cups-browsed.
	- Added more comments and examples to /etc/cups/cups-browsed.conf.
	- cups-browsed: Added support for "...:<port>" extensions of
	  BrowsePoll addresses. Thanks to Tim Waugh from Red Hat (Ubuntu
	  bug 1159213).

CHANGES IN V1.0.31

	- cups-browsed: cups-browsed removed valid local queues pointing to
	  remote queues when cups-browsed did not shut down cleanly after
	  the previous session, leaving the user with missing local accessor
	  queues for some of the remote CUPS queues (Ubuntu bug #1131149).
	- Fixed build system to allow parallel or multilib builds. Thanks to
	  Timo Gurr for the patch (Bug #1104).
	- pdftopdf: Improved error output.
	- pdftopdf: getRotation now handles unusual cases more graceful
	  (probably fixes Ubuntu Bug #1154318).
	- Fixed build system to allow building without Avahi. In this case
	  a cups-browsed with only CUPS broadcasting/browsing will get
	  built. Thanks to Tim Waugh from Red Hat (Bug #1101, Bug #1102).

CHANGES IN V1.0.30

	- cups-browsed: Do not remove a generated local print queue when
	  it was made the system default printer (Ubuntu bug #1146407).
	- texttopdf: Fixed corrupted pdf when a utf-8 title is given and
	  corresponding crash with 'prettyprint' (Ubuntu Bug #1137438).
	- cups-browsed: Added CUPS Broadcasting for sharing local printers
	  to remote CUPS clients with CUPS 1.5.x and older. Thanks to Tim
	  Waugh from Red Hat.
	- cups-browsed: Added sample config-file and build-time default
	  setting options. Thanks to Tim Waugh from Red Hat.
	- cups-browsed: Added CUPS browsing and BrowsePoll functionality, to
	  be backwards compatible to CUPS 1.5.x and older servers. Thanks
	  to Tim Waugh from Red Hat.
	- pdftopdf: Fixed incorrect evenDuplex page insertion (Bug #1088).
	- pdftoopvp: Let it build with Poppler 0.22.x. Thanks to Koji Otani
	  from BBR Inc. (Bug #1089).

CHANGES IN V1.0.29

	- Fixed ./configure option "--with-rcdir=no". Thanks to Jiri
	  Popelka from Red Hat (Bug #1091).

CHANGES IN V1.0.28

	- cups-browsed: Do not create CUPS queues for shared local CUPS
	  printers.

CHANGES IN V1.0.27

	- cups-browsed: The daemon crashed if there is no local CUPS queue
	  at all. Fixed.

CHANGES IN V1.0.26

	- Some fixes in README and INSTALL.
	- cups-browsed: Added daemon to browse the Bonjour broadcasts of
	  shared remote CUPS printers and automatically add local raw queues
	  pointing to them, to resemble the behavior of the former CUPS
	  broadcasting/browsing which was dropped in CUPS 1.6. Now remote
	  printers appear as local print queues as before, but with the
	  standardized Bonjour broadcasting.
	- "make dist" got broken in 1.0.25. Fixed.

CHANGES IN V1.0.25

	- urftopdf: Newly added filter to convert the URF format which (at
	  least some) iOS apps send when printing via AirPrint (Bug #1076).
	- pdftopdf: pdfautorotate functionality has been patched directly 
	  into pdftopdf (Bug #1080).
	- pdftopdf: "mirror" produced only empty pages (XObjects not there).
	- pdftopdf: Fixed segfault on "page-ranges=1-2147483647" (from cups).
	- pdftopdf: Fixed collate filler insertion.
	- texttopdf: Fixed deficient string escaping (Bug #1071).
	- pdftoopvp: Get correct byte order definition when building under
	  OpenBSD (Bug #1070).
	- serial backend: Added check for sys/ioctl.h to configure.ac (Bug
	  #1069).
	- pdftopdf: Made code building under OpenBSD (Bug #1068).
	- pdftopdf: Don't expect too much C++11 support for now (Bug #1067).

CHANGES IN V1.0.24

        - pdftopdf now generates the necessary pdf comments to disable 
          duplicate number-up when pdftops is also applied (Bug #1063).
	- pdftops: Added support for using Adobe Reader (acroread) in command
	  line mode for turning PDF to PostScript (Bug #1065).
	- pdftopdf: Fix build on OpenBSD (Bug #1062).
	- pdftops: Fix stripping of page management options from the pstops
	  command line which got already applied by pdftopdf. If the name
	  of the option to be removed is contained in the name of a option
	  in the command line (like "number-up" in "number-up-layout" or
	  "scaling" in "Natural-scaling"), this option gets stripped instead
	  of the correct option (Bug #1064).

CHANGES IN V1.0.23

	- Removed filter/pdftopdf.old
	- Fixed the requires.private for cupsfilters lib

CHANGES IN V1.0.22

	- Added missing *.h files of filter/pdftopdf/ to source file list so
	  that "make dist" builds correct upstream tarballs.

CHANGES IN V1.0.21

	- bannertopdf: Page duplication routine fixed.
	- bannertopdf: Fixed invalid output of a direct stream object.
	- pdftopdf filter replaced by new QPDF-based filter from Tobias
	  Hoffmann's Google Summer of Code project. The former Poppler-based
	  pdftopdf duplicated a lot of Poppler's code. The old filter is
	  still in the package as pdftopdf.old with source code in
	  filter/pdftopdf.old. It will be removed in a later release.
	- Added most recent contributors to AUTHORS and COPYING files.

CHANGES IN V1.0.20

	- pdftops: Added another workaround for Kyocera printers: Some
	  models get very slow on images which request interpolation,
	  so now we remove the image interpolation requests by additional
	  PostScript code only inserted for Kyocera printers (Ubuntu bug
	  #1026974).
	- pdftops: The build system only configured the default renderer
	  (Ghostscript OR Poppler), not the other renderer, but as we support
	  switching on runtime both need to get configured.
	- Improved portability of the package to non-Linux systems (Bug #1056).
	- Made the Poppler-based filters pdftopdf and pdftoopvp build with
	  both Poppler 0.18.x and 0.20.x (Bug #1055).
	- Let build system check for dlopen.

CHANGES IN V1.0.19

	- Fixes according to Coverity scan results (Bug #1054).
	- Added distribution packaging instructions to INSTALL.
	- Switched build system to autotools. This especially fixes several
	  build problems in Gentoo. Also build-tested with CUPS 1.6.0b1.
	- Fixes for compatibility with clang/gcc-4.7.
	- textonly: Filter did not work as a pipe with copies=1 (Bug #1032).
	- texttopdf: Avoid trimming the results of FcFontSort(), as this may
	  miss some reasonable candidates under certain circumstances. BTW,
	  fix passing a non-pointer as a pointer to "result" (Debian bug
	  #670055),
	- Corrected documentation. The option for the maximum image rendering
	  resolution in pdftops is "pdftops-max-image-resolution", not
	  "pdftops-max-image-resolution-default".

CHANGES IN V1.0.18

	- Modified "./configure" options related to the pdftops filter to
	  allow changing the defaults for the renderer being used by default
	  (Ghostscript or Poppler) and the maximum image rendering resolution
	  and to supply paths for both Ghostscript's gs and Poppler's pdftops.
	- pdftops: Allow selection whether Ghostscript or Poppler is used
	  at runtime, setting the "pdftops-renderer" option to "gs" or
	  "pdftops".
	- pdftops: Allow setting an upper limit for the image rendering
	  resolution, also at runtime, setting the option
	  "pdftops-max-image-resolution" to the desired limit in dpi.
	  "0" means no limit.
	- pdftops: Fixed crash by wrong usage of sizeof() function when adding
	  "Collate" to the fifth command line argument for the "pstops" CUPS
	  filter call (Ubuntu bug #982675).
	- pdftops: Removed newline from copies value when reading it from
	  the "%%PDFTOPDFNumCopies" entry of the incoming PDF file.
	- pdftops: Silenced compiler warning about ignoring the return
	  value of the write() function.
	- pdftops: Added a crash guard.
	- pdftops: Start determining the printing resolution with
	  cupsRasterInterpretPPD(), this is the most reliable as often
	  the choice names of the "Resolution" option are marketing names
	  with higher numerical values than the actual resolution. Also
	  ignore error exit values of cupsRasterInterpretPPD() as the
	  function can error out after having found the resolution.
	- pdftops: If printing resolution is determined by
          cupsRasterInterpretPPD() do not stick on 100 dpi if the
	  resolution cannot be determined (Ubuntu bug #984082).

CHANGES IN V1.0.17

	- pdftopdf: Fixed segmentation fault when printing selected pages
	  ("page-ranges" option, Ubuntu bug #980673).

CHANGES IN V1.0.16

	- pdftopdf: Fixed segmentation faults when using N-up with certain PDF
	  files (Ubuntu bug #980673) and when calling pdftopdf manually without
          specifyting a PPD file.

CHANGES IN V1.0.15

	- pdftops: Suppress image compression only for Brother printers as they
	  really need this measure to print at all. This accelerates printer-
	  internal job processing on most other printers (tested on HP and
	  Kyocera). Also suppress page compression on Kyocera printers, this
	  works around a bug in Kyocera's PostScript interpreters which makes
	  printing pages with images very slow (Ubuntu bug #977912).

CHANGES IN V1.0.14

	- pdftops: Determine printing resolution from the PPD file and supply
	  it on the Ghostscript or pdftops (Poppler) command line, so that
	  the renderer does the image rendering with a resolution matching the
	  printer's resolution. This avoids too slow processing of the jobs
	  by the printer's built-in PostScript interpreter. In addition
	  a default resolution of 300 dpi is used for PPDs without any hint
	  of the printer's resolution, as most PostScript lasers use multiples
	  of 300 dpi as resolution (Ubuntu bug #977912).

CHANGES IN V1.0.13

	- bannertopdf: Fix display of the job dates on the test page and on
	  banner pages (Ubuntu bug #975064).

CHANGES IN V1.0.12

	- Fixed crash of imagetopdf filter when it is called manually
	  without supplying a valid PPD file (Ubuntu bug #973564).

CHANGES IN V1.0.11

	- Actually install the Generic PDF printer PPD file.
	- Really introduce a Generic PDF printer PPD file.

CHANGES IN V1.0.10

	- Added Generic PPD file for native PDF printers.
	- Updated all code copied from Poppler to the current state of Poppler.
	- Made Poppler-based PDF filters building with various versions of
	  Poppler.
	  
CHANGES IN V1.0.9

	- Deactivated NIME conversion rules which are not used by the PDF-
	  based printing workflow.
	- Cleaned up sample PPD file HP-Color_LaserJet_CM3530_MFP-PDF.ppd.
	- imagetopdf: Added support for native PDF printers.
	- imagetopdf, imagetoraster: Let image input "scale to fit"
	  by default. This makes photo printing via AirPrint work,
	  as the iOS devices send JPEG but do not allow setting options.

CHANGES IN V1.0.8

	- pdftops: Generally do not compress fonts and images, and
	  also do not do CCITT compression for bitmap glyphs to make
	  the PostScript output more compatible with buggy PostScript
	  interpreters. The output gets 30-50% longer but will work on
	  many more different printer models. Problems were also
	  discovered on HP and not only on Brother (Ubuntu bug
	  #960666).

CHANGES IN V1.0.7

	- pdftops: Added PostScript debug mode. For jobs sent with "-o psdebug"
	  the PostScript output by Ghostscript does not have compression of
	  pages and fonts, so that one can analyse the PostScript code,
	  especially in cases of incompatibilities and bugs of the built-in
	  PostScript interpreters of printers. Thanks to the Ghostscript
	  upstream developers for this hint.

CHANGES IN V1.0.6

	- texttopdf: Fixed minor miscalculation of /AvgWidth.
	- texttopdf: Added support for direct file references in pdf.utf-8.
	- pdftops: Added another workaround for a bug in Brother's PostScript
	  interpreter: Suppress CCITT compression for bitmap glyphs and
	  images on Brother printers (Ubuntu bug #955553).
	- texttopdf: Fixed typo in pdf font descriptor dictionary keys.
	- Fixed ColorDevice definition in cupsfilters.drv for HP DesignJet
	  printers.
	- Put ModelNumber entries in cupsfilters.drv at the right place to
	  get correct "*cupsModelNumber:" entries in the PPDs for the HP
	  DesignJet printers.
	- rastertopclx: Code of JCL options did not get inserted into the JCL
	  header.
	- parallel backend: Use the same way as CUPS does to prevent an
	  infinite loop on side channel errors (CUPS STR #4044).
	- pdftopdf: Added support for native PDF printers, add JCL (PJL) 
	  options and send page_log entries only if the PDF has the
	  "*JCLToPDFInterpreter:" keyword.
	- Updated README.txt for the new native PDF printer support.
	- Added a sample PPD file for a native PDF printer,
	  HP-Color_LaserJet_CM3530_MFP-PDF.ppd.
	- texttopdf: A lot of internal rework; also split up into more files
	- texttopdf: Fixed many bugs on the way
	- texttopdf: Added support for CFF-flavoured OTFs; for these
          subsetting is not yet implemented, full embedding is done instead
	- texttopdf: Adapted and improved fontconfig font selection
	- Make sure that "make clean" and "make distclean" also work if
	  Makedefs does not exist (Debian bug #663564).

CHANGES IN V1.0.5

	- pdftops: Added insertion of workaround PostScript code for printers
	  with bugs in their PS interpreters (Ubuntu bugs #950713, #951627).
	- parallel backend: Break infinite loop (Ubuntu bug #936647).
	- texttopdf: Complete the implementation of fontconfig-based font
	  selection (Debian bug #663070).

CHANGES IN V1.0.4

	- texttopdf: Fall back to altermative fonts via fontconfig if the
	  FreeMono TrueType fonts are not installed (Debian bugs #495598
	  and #662660).
	- bannertopdf: Fix off-by-one error in page duplication
	- bannertopdf: Put indirect references to streams into the page's
	  contents
	- bannertopdf: Let byte offsets for the Xref table of the PDF output
	  being determined correctly also when the output goes to stdout
	  (Ubuntu bug #939735).
	- bannertopdf: Output multiple copies of the test page if duplex
	  and/or N-up is chosen, to let the test page appear on all possible
	  positions of the sheet (Ubuntu bug #939530).

CHANGES IN V1.0.3

	- bannertopdf: Draw the frame to mark the non-printable borders 1pt
	  smaller all around to assure that it is always visible, like it was
	  done in bannertops.
	- bannertopdf: Scale the page to fit onto the desired output page.
	- bannertopdf: Get and output the correct media limits.

CHANGES IN V1.0.2

	- bannertopdf: Fixed crash caused by wrong Poppler API use.
	- bannertopdf: Info text on test page came out in gray and not in
	  black.

CHANGES IN V1.0.1

	- Added the textonly filter and its PPD file, a driver for text-only
	  printers.
	- Install the pdftoijs sample PPD file
	  HP-PhotoSmart_Pro_B8300-hpijs-pdftoijs.ppd
	- Added cupsfilters.drv, centralized ppdc-based PPD generator for the
	  printer driver filters in this package. Current printers supported
	  are several HP DesignJet large format inkjet printers.
	- Fixed "make uninstall". Now everything of this package gets removed.
	- Added wrapper scripts texttops and imagetops for backward
	  compatibility to third-party PPD files or custom configurations
	  which refer to these filters explicitly (Debian bug #658258).

CHANGES IN V1.0

	- Built the pdftops filter based on Ghostscript by default, as
	  Ghostscript is better optimized for print output (Ubuntu bug
	  #926068).
	- If the pdftops filter is built for using Poppler, let Poppler not
	  emit PostScript level 3, as this causes problems with some HP
	  printers (Ubuntu bug #277404, Freedesktop (Poppler) bug #19640).
	- bannertopdf needs to be linked with C++ (bug #995)
	- Added test.sh script for testing texttopdf
	- Added original documentation of the PDF filters to README.txt
	- Install C header files and the static library
	- General clean-up of "make install" targets in Makefiles
	- Raised MIME conversion cost factor of pdftoraster from 66 to 100 to
	  give priority to the gstoraster filter from Ghostscript, as this
	  filter supports ICC-profile-based color management.
	- Documentation updated because libijs, liblcms, freetype, and
          fontconfig are needed to build this package

CHANGES IN V1.0b1

	- Removed the bannertops, imagetops, and texttops filters, they are
	  not needed any more in the PDF-based printing workflow
	- Added support for liblcms2
	- Named the package "OpenPrinting CUPS Filters"
	- Renamed libcupslegacy to libcupsfilters
	- Joined pdftops and cpdftocps filters into one C program
	- Added new bannertopdf filter from Lars Uebernickel:
	  https://launchpad.net/bannertopdf
	- Added the filters for the PDF-based printing workflow, from
	  OpenPrinting: http://sourceforge.jp/projects/opfc/ and
	  http://www.openprinting.org/download/printing/pdf-printing/
	- Initial packaging of files that are no longer included in CUPS 1.6
	  from CUPS upstream (http://www.cups.org/)
