Changes:
1.20.1
------
- libcupsfilters: Silenced warning when using CUPS < 2.x by
eliminating the use of a recently introduced CUPS library
function (Bugzilla bug #1421).
- braille: Fix some missing options on indexv4. Thanks to
Samuel Thibault for this patch (Pull request #21).
- braille: Fix disabling margins on indexv4 in graphic
mode. Thanks to Samuel Thibault for this patch (Pull request
#20).
- braille: Fix installation of brftopagedbrf. Thanks to Samuel
Thibault for this patch (Pull request #18, Issue #17).
- cups-browsed: Fixed crash when CUPS reports a print queue
without "device-uri" attribute when cups-browsed polls a
list of local CUPS queues (Issue #16).
1.20.0
------
- libcupsfilters: Let the PPD generator prefer the English
translation file from CUPS for the human-readable strings in
the PPD files.
- libcupsfilters: The PPD generator lists all page sizes with
human-readable names now, including proprietary names of the
printer.
- cups-browsed, driverless: Fixed get-printer-attributes call
on driverless printers for generating the PPD, explicitly
requesting the media-col-database attribute as otherwise
borderless page sizes do not appear.
- libcupsfilters: Fixed loading option/choice strings lists
from driverless printers for PPD file generation. Especially
proprietary media types appear correctly now.
- libcupsfilters: Completed color space support in the PPD
generator: Added DeviceGray/RGB/CMYK, default to 8 bit for
SRGB and to 16 bit for AdobeRGB, avoid duplicate listings of
the same color space.
1.19.0
------
- libcupsfilters: Let the PPD generator add the options "Print
Optimization", "Print Rendering Intent" and "Print Scaling"
if appropriate IPP attributes are found.
- libcupsfilters: Let the PPD generator read out the maximum
of info about color spaces and this way not only reliably
the correct choices are added to the ColorModel option but
also the maximum supported bit depth (8 or 16 bit) is used.
- libcupsfilters: Overtaken new features from CUPS' PPD
generator: Presets, Finishing Templates, and extraction of
media sizes from "media-col-database"
- libcupsfilters: Improvements on header of generated PPDs:
use cups-filters version number, "drvless.ppd" PCFileName,
APSupplies and cupsChargeInfoURI from CUPS.
- libcupsfilters: Let the PPD generator use the IPP string
tables in the translation files of CUPS 2.3.x or newer
(English strings only). Let all options in the PPD have
human-readable option and choice names. In case of CUPS
2.2.x or older (or if the CUPS translation are missing) we
fall back to internal tables.
- cups-browsed: Improved debug output when checking IPP
attributes of IPP printers.
- .gitignore: Ignore also core files.
- cups-browsed: Support use of PPD files generated by CUPS for
IPP Printers. Works only if the the local queue created by
cups-browsed replaces a temporary queue from CUPS.
Configurable via "UseCUPSGeneratedPPDs" directive in
cups-browsed.conf.
1.18.0
------
- braille: Add support for page-ranges option. Thanks to
Samuel Thibault for this patch (Pull request #12).
- braille: Fix supporting docx and LO file names with
spaces. Thanks to Samuel Thibault for this patch (Pull
request #11).
- .gitignore: Updated and cleaned up.
- Build system: Make sure that "make dist" always includes all
files of the repository, plus the files generated by
./autogen.sh, independent of the system configuration and
the used ./configure options.
- pdftoijs, pdftoopvp: Build pdftoijs and pdftoopvp only on
demand (via "--enable-ijs" and "--enable-opvp" on the
./configure command line). There are actually no known
printer drivers using these filters. If no one complains
about the missing filters they will get completely removed.
- Build system: Set default path for pdftops to
/usr/bin/pdftops also for cross-compiling (Bug #1417).
- cups-browsed: Set "printer-location" as an attribute and not
as an option when creating/updating a CUPS queue (Bug
#1413).
- braille: Fix handling non-printable characters in BRF
files. Thanks to Samuel Thibault for this patch.
- braille: Fix printing backslashes in BRF files. Thanks to
Samuel Thibault for this patch.
- braille: use application/vnd.cups-brf instead of
text/vnd.cups-brf. Thanks to Samuel Thibault for this patch.
- braille: Make sure liblouis emits pure BRF output. Thanks to
Samuel Thibault for this patch.
- braille: Spaces at the head of lines were not getting
embossed, because bash would eat them in the read
command. IFS allows to avoid the issue. Thanks to Samuel
Thibault for this patch.
- gstoraster: Emit proper error message if Ghostscript is
missing. Thanks to Peter De Wachter (pdewacht at gmail dot
com) for the patch (Bug #1415).
- braille: Old bash does not like quotes, like in '$(("123" +
0))'. Removed unneeded quotes. Thanks to Samuel Thibault for
this patch.
- braille: Index V5 embossers are compatible with the V4
protocol so we do not need driver changes, we just need to
advertise the support. Thanks to Samuel Thibault for this
patch.
Make `avahi' and `dbus' available as PKG_OPTIONS, both enabled by default (as
per old cups-filters).
Please note that gdbus-codegen is invoked unconditionally and so still needed
also in the `-dbus' case.
Bump PKGREVISION (strictly speaking that's probably not needed but the dbus
dependency was previously picked up indirectly via net/avahi).
note: script detailed in `man revbump` insisted on bumping pkgrevision of
print/poppler, it's probably wrong, but not committing this change is wronger.
This change:
- renames print/cups to print/cups-base,
- lets print/cups-filters depend on print/cups-base instead of cups,
- adds a package print/cups depending on print/cups-base and
print/cups-filters.
This makes sure installing print/cups always installs
print/cups-filters, as it is necessary for being able to print outside
of Mac OS X since CUPS 1.6.0. You're welcome.
I do not think superseding is necessary, since print/cups will also
install print/cups-base, which really is the same as before. In practice
it is like a new dependency. I do not want to risk a bad "cvs import"
either, sorry.
Bumps PKGREVISION for print/cups and print/cups-filters, since they have
new dependencies now. This is also necessary for everything else currently
depending on print/cups; I will try to commit this right after this one.
Tested on NetBSD/amd64, as reviewed on tech-pkg@.
No breakage observed, apologies if anything goes wrong.
pkgsrc changes:
- Delete patches/patch-filter_pdf.cxx that add support to poppler-0.58,
applied upstream
Changes:
1.17.9
------
- cups-browsed: Applying option defaults from the
DefaultOptions directive in cups-browsed.conf got
lost. Re-introduced it (Bug #1414).
- cups-browsed: Get printer-location field from remote
printers. Thanks to Marek Kasik for the patch (Bug #1413).
1.17.8
------
- foomatic-rip: Change execution of renderer thread to fail
whenever any of its individual sub-comands fails. Thanks to
LUUM (luum at chromium dot org) for the patch (Bug #1412).
- foomatic-rip: Parent process now ignores SIGPIPE calls from
upstream/downstream CUPS filters, per
https://www.cups.org/doc/api-filter.html, while correctly
noting child process failures and exiting
accordingly. Thanks to LUUM (luum at chromium dot org) for
the patch (Bug #1412).
- Build system: Fixed typo which broke the
"--enable-gs-ps2write" ./configure command line option (Bug
#1410).
1.17.7
------
- braille: Add a mirror option for graphical output. Thanks to
Samuel Thibault for this patch.
- braille: Rename the internal cups name of the Resize option
to the standard well-known and well-documented fitplot
option. Thanks to Samuel Thibault for this patch.
- braille: Add support for margins in graphical mode,
defaulting them to 15 points (a bit more than 5mm). Thanks
to Samuel Thibault for this patch.
- braille: Updated French translation. Thanks to Samuel
Thibault for this patch.
- braille: Add a PPD which generates UBRL output, i.e. Braille
expressed in Unicode. This is not useful for actual
embossers, but very convenient to check output to be
embossed without wasting paper. Thanks to Samuel Thibault
for this patch.
- braille: Add virtual BRF backend for generating
ready-to-emboss BRF files with CUPS, similarly to the
cups-pdf backend. Thanks to Samuel Thibault for this patch.
- braille: Some tools seem to emit true/false instead of
True/False, so let us cope with it. Thanks to Samuel
Thibault for this patch.
- braille: "make uninstall" did not remove all the
links. Thanks to Samuel Thibault for this patch.
- braille: Add support for embossing MusicXML files, through
the FreeDots transcriptor. Thanks to Samuel Thibault for
this patch.
- braille: Add proper support for hardware margins on braille
embossers. Thanks to Samuel Thibault for this patch.
- braille: Fix the disabling of the text margins in Index
graphics mode. Thanks to Samuel Thibault for this patch.
- braille: Support for direct, structured embossing of XML and
XML-based file formats (like odt, docx, ...). Thanks to
Samuel Thibault for this patch.
1.17.6
------
- braille: Embossers can only emboss integer numbers of 2x4
cells. Thanks to Samuel Thibault for this patch.
- braille: In Index graphical mode we need to disable the text
margins, since they come in earlier on the way to
there. Thanks to Samuel Thibault for this patch.
- braille: Also, we should always add a 1.6mm margin for
taking into account the width of dots. Thanks to Samuel
Thibault for this patch.
1.17.5
------
- libcupsfilters: In the PPD generator for driverless printing
renamed the "print-quality" option back to
"cupsPrintQuality" as the support for this option got fixed
in CUPS (CUPS issue #5090).
- braille: Improvements on the braille support for bitmap
images: Moves the graphical dot distance option to the image
conversion group, add an option to avoid image resize, and
make the rotation option easier by proposing to just fit
paper instead of fitting portrait or landscape. Thanks to
Samuel Thibault for this patch.
- braille: Support for embossing vector images as braille.
Thanks to Samuel Thibault for this patch.
- braille: Fix liblouis1.defs installation. Thanks to Samuel
Thibault for this fix.
1.17.4
------
- pdftopdf: If the input PDF file contains an interactive
form, flatten it to static PDF so that further manipulation,
like scaling, number-up, ... do not let the filled for
content getting lost. This is implemented by using the
pdftocairo utility of Poppler and if this fails Ghostscript
(9.22 or later recommended). This will probably replaced by
a QPDF-based solution later. Thanks to Tobias Hoffmann for
the QPDF-based detection of PDF forms (Bug #1315, Ubuntu bug
#1564249).
1.17.3
------
- bannertopdf: Make it working also with Poppler 0.58.0 and
newer (Bug #1408).
- gstoraster, pdftops, foomatic-rip: Added "-dShowAcroForm" to
all Ghostscript command lines where the input data format
can be PDF. With this and the fix of Ghostscript bug
#698461 most filled PDF forms should be rendered correctly
by Ghostscript now.
- libcupsfilters: Do not check maximum resolutions of
raster-based PDLs, as implementation was incorrect and
reliability of PDLs is more important than maximum
resolution.
- Revert "Move gdbus-codegen users to py-glib2-tools by including
glib2/buildtools.mk" 1f764df
- while here change to TOOL_DEPENDS
- switch from py-glib2-tools to glib2-tools
Changes:
CHANGES IN V1.17.2
- libcupsfilters: Fixed outstanding bug in PCLm with JPEG (DCT)
compression. Now PCLm support is completely working.
CHANGES IN V1.17.1
- libcupsfilters: Added direct PNG printing to the PPD
generator, the one of CUPS has it, too.
- libcupsfilters: In the PPD file generator renamed the option
"cupsPrintQuality" into the IPP name "print-quality" as CUPS
does not update the "print-quality=4" entry in the filter
command line based on the setting of "cupsPrintQuality"
(CUPS issue #5090).
- libcupsfilters: Completely redone the way how to determine
the resolutions to use for the default resolution and print
quality option in the PPDs generated for IPP
printers. Resolution lists from IPP attributes are now read
into sorted, duplicate-free lists with wrong resolutions
removed or fixed. Resolutions actually used are the common
ones between the supported PDLs, PDls with inferior maximum
resolution or with broken resolution list are skipped
(Debian bug #868360, Ubuntu bug #1712019, CUPS issue #5088,
CUPS issue #5091).
- rastertopdf: Prefer RLE compression instead of Flate as
there are HP printers where Flate is buggy.
- Build system: Fixed help mesage for "--enable-driverless"
configure option (Bug #1405).
CHANGES IN V1.17.0
- rastertopdf, rastertopclm, driverless, cups-browsed,
libcupsfilters: Added support for the PCLm output format for
driverless printing on Mopria and Wi-Fi Direct
printers. This is the Google Summer of Code 2017 project of
Sahil Arora (sahilarora dot 535 at gmail dot com). Thank you
very much for your great work! The PCLm support requires
QPDF 7.0.0 or later.
CHANGES IN V1.16.4
- Build system: Switched over to C11 standard with GNU
extensions (-std=gnu11).
- Build system: Removed -pedantic flag as it is only needed
for compatibility with commercial compilers like the ones of
Windows (and we use GNU extensions anyway).
- libfontembed, texttopdf: reverted removal of anonymous
union.
CHANGES IN V1.16.3
- libfontembed: Reverted unneeded soname change.
CHANGES IN V1.16.2
- README: Minimum CUPS requirement of cups-filters is CUPS
1.4.x. It does not build with earlier CUPS versions (Bug
#993).
- driverless, foomatic-rip: Create relative symbolic links.
- All C/C++ files: Silenced all compiler warnings, at least
the ones appearing when building on Ubuntu Linux 17.10 with
GCC 7.1.0.
- README: Updated the introduction section to reflect the
current functionality of cups-filters, and the build
requirements for the Poppler-based filters (C++11: Bug
#1404, Build configuration of Poppler: Bug #1257). Thanks to
Roland Hieber (r dot hieber at pengutronix dot de) to find
out about this.
- pdftoopvp, bannertopdf, pdftoraster: Build with C++11
standard as some features of this standard are needed by
these filters (or by Poppler). Thanks to Roland Hieber (r
dot hieber at pengutronix dot de) for the patch (Bug #1404).
CHANGES IN V1.16.1
- cups-browsed: Make timeouts for HTTP access to the local
CUPS daemon and remote IPP printers configurable. Thanks to
Cedric Dufour (cedric dot dufour at idiap dot ch) for the
patch (Bug #1387, Debian bug #852436).
- texttopdf: Allow bold and underline formatting to be used
together when using "prettyprint". Thanks to Michael Moran
(vampm at comcast dot net) for the patch.
- texttopdf: Allow to alter margins, and chars/lines per Inch
when using "prettyprint". Thanks to Michael Moran (vampm at
comcast dot net) for the patch.
- texttopdf: When "prettyprint" is used, do not drop out of
C/shell comment mode too early. Thanks to Michael Moran
(vampm at comcast dot net) for the patch.
- cups-browsed: Additional NULL checks for description and
location.
- cups-browsed: Fixed crash which happens when using
BrowsePoll (Debian bug #723835).
CHANGES IN V1.16.0
- cups-browsed: Let elements in arrays get stacked up in the
order they are added, before, they were in the order how
they are positioned in memory. This especially led to a
random order of printer cluster definitions and of
command-line-supplied configuration options.
- cups-browsed: On shutdown not all locally created queues got
deleted.
- cups-browsed: Added support for manual definition of
load-balancing printer clusters via the "Cluster" directive
in cups-browsed.conf.
CHANGES IN V1.15.0
- cups-browsed: Removed the function to compare printer entries
for sorting the printer entry list. This led to corruption
of the list and so to crashes.
- cups-browsed: Fixed crashes when many printers (especially
all printers of a load-balanced cluster) are removed at once.
- cups-browsed: Log the full list of handled remote printers
whenever one is added or removed.
- cups-browsed: Renamed the handle_cups_queues() function to
update_cups_queues() to better reflect what it is doing.
- cups-browsed: When clustering remote CUPS printers together
do not call them duplicates but slaves asigned to a master.
- cups-browsed: Log the error if the network interface name of
a DNS-SD event could not be determined.
- cups-browsed: Simplified printer entry removal procedure.
- cups-browsed: Log memeber printer list of a printer cluster
(implicit class) when a member printer is added or removed.
- cups-browsed: Removed superfluous (and not correctly
working) duplicate counter from the remote printer entry
data structure.
- cups-browsed: Add "AutoClustering" directive to
cups-browsed.conf to turn on and off automatically
clustering equally named local print queues which point to
remote CUPS printers. When automatic clustering is turned
off, queue name clashes are prevented by adding "@<server
name>" to local queue names based on the remote queue name
or on make and model.
- cups-browsed: Skip callback functions and the CUPS queue
creation/update/removal loop when cups-browsed is terminated
by a SIGTERM signal. This avoids hanging on shutdown. Thanks
to Edgar Fuss (ef at math dot uni-bonn dot de, Bug #1402).
- libcupsfilters: Added some fallbacks for incorrect
resolution IPP attributes on IPP network printers (Debian
bug #868360).
- pdftoopvp: Added missing "#include <math.h>" needed for
cross-compiling for arm-v7a-linux-gnueabi (Bug #1232).
- cups-browsed: Prevent the creation of two remote printer
entries for two IPP network printers or an IPP network
printer and a remote CUPS printer with the same local queue
name. This could easily happen with make/model-based naming.
- cups-browsed: Added the possibility to optionally not
create local queues for remote printers for which CUPS
(from 2.2.x on) auto-creates queues by itself (DNS-SD
advertised driverless printers).
- cups-browsed: Removed repeated code for clean-up when
generate_local_queue() function fails.
- cups-browsed: Take care of CUPS' temporary queues. Do not
consider them when checking whether a queue with the same
name as the one we are creating already exists and make
temporary queues permanent (or remove them) before
overwriting them with our local queue.
- cups-browsed: Make the naming scheme for locally created
print queue configurable, especially allow for naming based
on the DNS-SD service name (now default) as this is the same
scheme as CUPS uses for its temporary queues. This way we
prevent CUPS creating temporary queues when cups-browsed is
already creating a queue.
- cups-browsed: Do not add "APRemoteQueueID" keyword to the
local queue's PPD file if the queue is for an IPP network
printer.
- cups-browsed: Skip multiple browse entries for the same
printer with interface alias addresses. Thanks to Edgar
Fuss (ef at math dot uni-bonn dot de, Bug #1399).
- cups-browsed: Improved support for Description (Info) and
Location fields of remote CUPS queues. Thanks to Edgar Fuss
(ef at math dot uni-bonn dot de, Bug #1398).
- cups-browsed: Renamed variable names for better code
readability. Thanks to Edgar Fuss (ef at math dot uni-bonn
dot de, Bug #1398).
- cups-browsed: Additional NULL checks in the
create_local_queue() function. Thanks to Edgar Fuss (ef at
math dot uni-bonn dot de, Bug #1398).
CHANGES IN V1.14.1
- cups-browsed: Do correct removal of printer entry handling
duplicates correctly also when a legacy CUPS-broadcasted
printer disappears or a printer remaining from the last
session does not appear again.
- cups-browsed: Use getline() instead of fgets() to read saved
option settings. This is less crash-prone (Ubuntu bug
#1658833).
- cups-browsed: Improved error logging when saving option
settings.
- cups-browsed: Added NULL checks for generate_local_queue()
and create_local_queue() functions.
- cups-browsed: When accessing local CUPS queues use always
the correct port of the CUPS daemon we are attached to.
- cups-browsed: Check whether a connection to the local CUPS
daemon actually happened before using it (Ubuntu bug
#1644049).
- cups-browsed: Set unused fields of printer record to NULL
when tranfering data from the record of a duplicate printer
to the record of a disappeared one.
- cups-browsed: Simplify removal of all queues on shutdown or
stop of Avahi.
- cups-browsed: When creating a record for a discovered
printer set it all zero before filling it in, to assure
that no field is in an undefined state.
- cups-browsed: All functions which are called via Glib
functions or otherwise event-triggered log now in which
thread they are running. This way one can see whether
problems can be caused by concurrent access to global
resources.
- cups-browsed: Do not check whether the DNS-SD event is from
the local machine in the browse_callback() function. We
cannot check the port here.
- cups-browsed: Added more NULL checks to Avahi callback
functions.
- cups-browsed: Added NULL check to avoid crashes in the Avahi
resolver callback (Ubuntu bug #1696967).
- libcupsfilters: Let PPD generator do case-insensitive
comparisons for PWG Raster color spaces, as some printers
(Epson) do not use the standard-conforming all-lowercase
form for them (CUPS Issue #4998).
Changes:
1.14.0
------
- cups-browsed: When a printer is discovered via DNS-SD on the
"lo" (loopback) interface the printer is not reliably
accessible through the reported host name (which is the
network host name of the local machine). Until this problem
is fixed in Avahi, we create queues for such printers with a
URI based on the IP address. This is a workaround until
Avahi fully supports the "lo" interface.
- cups-browsed: Added new setting "LocalOnly" for the
CreateIPPPrinterQueues in cups-browsed.conf. With this new
setting (which is the default from now on) only for local
printers made available as IPP printers (like IPP-over-USB
printers with ippusbxd) queues are auto-created. With this
we can follow the common standard of distributions where USB
printers are automatically set up and network printers not.
- cups-browsed: Fixes and improvements in comments and debug
messages: 1. Bonjour -> DNS-SD; 2. When a remote CUPS class
is discovered, tell that it is a class; 3. Show network
interface and IPv4/IPv6 when a DNS-Sd service appears or
disappears.
- cups-browsed: Added ./configure script option
"--enable-auto-setup-driverless" to let cups-browsed
automatically set up IPP network printers by default.
pkgsrc changes:
- Explicitly pass --disable-braille: needs liblouis that at the moment is not
in pkgsrc. Despite that leave existents REPLACE_BASH to avoid any further work
if we will enable it in the future. Please notice that bash:run is
still needed despite that.
Changes:
1.13.5
------
- foomatic-rip: When called via the utility cupsfilter from
CUPS, foomatic-rip was not able to read the PPD file with
the file name supplied as environment variable PPD (Bug
#1388).
- driverless: Improved error message output.
- libcupsfilters: Fixed error handling of the PPD file
generator for driverless printing, so that callers get
decent error messages.
- libcupsfilters: Do not generate a PPD file where the only
output data format is JPEG, as JPEG does not support
multi-page documents.
- libcupsfilters: Let PPD generator skip broken page size
records and add warnings for debugging to the PPD.
- libcupsfilters: Updated PPD generator to match with the
current GIT state of the one of CUPS.
- braille: Automatically select a table according to the
current locale.
- braille: Update for liblouis table list.
- braille: Added support for text margins.
- cups-browsed: When creating a local queue for a remote CUPS
printer, add the line '*APRemoteQueueID: ""' to the PPD file
so that CUPS sets the CUPS_PRINTER_REMOTE bit for the
printer type of the local queue (Bug #1386).
Changes:
1.13.4
------
- libcupsfilters: Let PPD generator for driverless printing
not error out when there is no urf-supported or
pwg-raster-document-resolution-supported IPP attribute,
simply accept the default resolution also from the
printer-resolution-default attribute or set a default value
of 300 dpi to get a working PPD file.
- cups-browsed: Do not use deprecated names for IPP status
constants
- cups-browsed: Corrected determination whether an IPP status
is an error, to avoid "Unable to create/modify CUPS queue
(Success)" and infinite repetition of a succeeded operation
(Debian bug #852436).
pkgsrc changes:
- Add --with-apple-raster-filter=rastertopdf to CONFIGURE_ARGS to avoid
possible PLIST issues with cups<2.2.2 (with cups>=2.2.2 urftopdf is no
longer built)
Changes:
1.13.3
------
- libcupsfilters: When auto-generating PPD files added support
for passing through JPEG input to printers which understand
JPEG. This is also done in CUPS-generated PPDs (Debian bug
#851499).
- libcupsfilters: Added the "output-bin" option support from
CUPS' PPD generator to our PPD generator (CUPS Issue #4938).
- cups-browsed: Make support for printers with IPv6 IP address
work. Both link-local and regular addresses work.
- cupsfilters.drv: Corrected cupsFilter entry for the "Generic
IPP Everywhere Printer".
- driverless: Fixes on the man page
- driverless: Do not error-exit (non-zero status) when run by
CUPS as backend or PPD generator when no driverless printer
is found or Avahi not running. When run from thr command
line, exit status is the same as of ippfind.
- imagetoraster: Removed (incomplete) PWG Raster support. For
PWG Raster output we let the rastertopwg filter from CUPS do
the finalization (mainly adding white pixels at the borders
to get a full-page bitmap).
- imagetoraster: Fixed several bugs in the calculation of the
page geometry
- libcupsfilters: If the IPP-polled printer has the
"sides-supported" attribute, determine the need of a
"Duplex" option solely whether the attribute has a
"two-sided-long-edge" choice and ignore the "duplex"
parameter of the ppdCreateFromIPP() function call. This lets
the more precise information coming from the IPP query
always be preferred against information from the Bonjour
record.
- driverless: When listing printers let the device ID contain
"AppleRaster" (for Apple Raster printers) and "PWGRaster"
(for IPP Everywhere printers) in the "CMD" field.
- driverless: Added "-T 3" to the ippfind command line. This
makes ippfind search the Bonjour broadcasts for up to 3
seconds when searching for IPP printers, raising the
reliability in finding all of them
CHANGES IN V1.13.1
- cups-browsed: Avoid erroring out when restarting after a
crash (with generated queues not deleted due to the crash)
and the configuration option
CreateRemoteCUPSPrinterQueues=No being set.
- cups-browsed: If CUPS is stopped while cups-browsed is
running and there are queue for IPP network printers (not
remote CUPS queues) on restart of CUPS the still existing
local CUPS queue is not correctly re-connected with
cups-browsed and therefore gets removed after a
timeout. This should be fixed after a clean-up of
re-connecting with remaining queues from a previous session
(Debian bug #848223).
- cups-browsed: Generated queues did not get removed on
shutdown (Debian bug #848167).
- libcupsfilters: Let PPD generator for driverless printing
suppress page sizes which the printer reports more than
once (CUPS Issue #4933).
- driverless, libcupsfilters: Make "driverless list" output
and output of driverless as CUPS backend in discovery mode
add the word "driverless" to its output, to make it easier
to set up driverless printers with printer setup tools.
Made the NickName of the generated PPDs also match with the
"driverless list" output.
CHANGES IN V1.13.0
- cups-browsed: Use the httpGetAddr() only with CUPS 2.0.x or
newer, as older CUPS versions do not provide it (Bug #1381).
- cups-browsed: Minor corrections in the handling of the data
records of the discovered printers.
- rastertopdf, urftopdf: As with libcupsimage from CUPS 2.2.2
on rastertopdf also understands Apple Raster and much better
than urftopdf does, use rastertopdf for Apple Raster
(image/urf) input files then. Also allow for manually
choosing by the ./configure command line.
- driverless: Added a CUPS backend mode to the driverless
utility. Running as a CUPS backend in discovery mode it
lists the IPP URIs of the suitable printers in printer setup
tools and in "lpinfo -v", as conneting via IPP is required
for driverless printing.
Changes:
CHANGES IN V1.12.0
- cups-browsed: Added new "CreateRemoteCUPSPrinterQueues"
directive to cups-browsed.conf, which allows to decide
whether to auto-create local print queues for shared CUPS
queues on remote machines. This way one can also set up
servers which only create queues for IPP network printers.
- driverless: Added new /usr/lib/cups/driver/driverless
utility to make CUPS auto-generate PPD files for printers
designed for driverless use (IPP Everywhere, Apple Raster)
when they are set up with a printer setup tool. This gives
transparency to set up these printers with legacy printer
setup tools. This utility is also linked to /ustr/bin to
manually generate PPDs via command line.
- libcupsfilters, cups-browsed: Moved the PPD generator for
IPP network printers from cups-browsed to libcupsfilters, so
that it can also be used by other utilities.
- cups-browsed: When auto-generating a PPD set the cost values
in the filter lines to give the highest priority to PDF,
then PWG Raster, Apple Raster, PCL-XL, PostScript, PCL 5c/e.
- cups-browsed: Synced the PPD generator with the one of CUPS,
giving the best possible support for IPP Everywhere and
AirPrint printers. Especially support for more media types
and for finishing units got added. Also support for more
different ways to represent the printer capabilities via
IPP attributes got added.
- cups-browsed: Added support for auto setup of IPP printers
understanding the Apple Raster input data format (.urf, on
AirPrint printers), only if CUPS 2.2.2 is used, which can
generate this format via its rastertopwg filter.
- cups-browsed: Added new "NewIPPPrinterQueuesShared"
directive to cups-browsed.conf, which allows to decide
whether the auto-created local print queue for a newly
discovered IPP network printer will be shared or not. For
printers discovered earlier, cups-browsed remembers the
previous setting.
- cups-browsed: If a user changes the printer-is-shared bit of
an auto-created print queue for an IPP network printer (not
for a remote CUPS queue), record this fact and recover the
change when creating this queue in the next session.
- cups-browsed: For automatic creation of print queues for IPP
network printers also allow only creating queues for IPP
Everywhere printers, only for Apple Raster printers, or for
both printer types designed for driverless printing and not
only for all suitable printers, configurable via the
CreateIPPPrinterQueues directive in cups-browsed.conf.
pkgsrc changes:
- Fix build for (at least) older NetBSD versions that do not have
execvpe(3).
Changes:
CHANGES IN V1.11.6
- pdftops: Do not default to simply "pdftops" when calling the
Poppler pdftops utility, as the $PATH of CUPS when running
filters/backends starts with /usr/lib/cups/filter/ and then
pdftops would call itself (Bug #1380).
CHANGES IN V1.11.5
- cups-browsed: Fixed several typos in the documentation (Bug
#1378).
- gstoraster, mupdftoraster, pdftops, sys5ippprinter: Use
execvp() and execvpe() to call programs so that the $PATH
environment variable gets used to find the programs (Bug
#1378).
- build system: Several fixes, especially to make it work when
cross-compiling or using a build server (Bug #1378).
- cups-browsed: Silenced a warning.
- cups-browsed: For remote CUPS queues with a dot in their
name no local queue got created (Bug #1379).
- pdftopdf: Do the page logging also for IPP Everywhere
printers which use the PWG Raster data format as the
...toraster filters being the last filter then do not log.
- gstoraster, pdftoraster: Let filters generate PWG Raster if
the environment variable FINAL_CONTENT_TYPE is set to
image/pwg-raster, make sure full-page bitmaps are generated
in PWG_raster mode, and added mime conversion rules for
direct PWG Raster output.
- cups-browsed: Corrected checking of the PDLs of an IPP network
printer. Now PCL 5c/e printers (not HP inkjets) should get
recognized correctly.
- texttopdf: Added missing NULL check to avoid a segfault when
texttopdf does not find a suitable (monospace TTF) font.
- foomatic-rip: Replace old manpage macro calls from
foomatic-filters 3.0.2-20050114.
- cups-browsed: Allow changing BrowseInterval and
BrowseTimeout via cups-browsed.conf, as it was formerly with
CUPS (Debian bug #794655).
- pdftopdf: Count the actual output pages also if the
number-up option is not used, to correctly find out whether
we have an even or odd number of pages, even if the
page-ranges option is used. This is needed to correctly
decide whether for duplex printing a blank page has to be
added (Bug #1377).
Changes:
CHANGES IN V1.11.4
- gstoraster: Allow Ghostscript to use the center-of-pixel
method instead of the PostScript-standard any-part-of-pixel
method when rendering filled paths. This improves the
graphics output quality of low-resolution printers like
label printers, for example to assure readability of bar
codes (Bug #1373).
- cups-browsed: Fixes to avoid unneeded calls of
handle_cups_queues() and even infinite loops (Possible fix
for bug #1376). Also make sure that queues left over from
the previous cups-browsed session are integrated correctly.
CHANGES IN V1.11.3
- cups-browsed: If a queue is not only discovered via Bonjour
but also via legacy CUPS or LDAP, prefer the Bonjour record
as it provides more information and there is also a defined
cancellation broadcast.
- cups-browsed: Let PPD options saved in the last session also
get applied to generated PPDs for IPP network printers.
- cups-browsed: Make sure that saved PPD options do not get
lost if for some reason the PPD file cannot be loaded in a
new cups-browsed session (or the loaded PPD file is
different). This is done by holding a copy of the settings
in the remote printer data structure.
- cups-browsed: When saving option settings, remove
backslashes added when the settings are read out via IPP
request. Otherwise the backslashes would double with each
session of cups-browsed.
- implicitclass: Do not let the job get immediately retried on
failure to send it out to the remote CUPS printer. By
repeating to send the job to an unavailable server so
quickly, cups-browsed gets bombed with requests and hangs on
shutdown.
- cups-browsed: Shortened timeouts of HTTP connections and IPP
requests to 3 seconds amd of IPP requests to remote CUPS
servers to 2 seconds. For local IPP requests always use the
connection once created via http_connect_local(). Also call
g_main_context_wakeup(NULL) after each
g_main_loop_quit(gmainloop) call. These measures should
reduce long hangs of cups-browsed on shutdown when a CUPS
server got unavailable.
- cups-browsed: Do not mark remote printers discovered via
legacy CUPS broadcasts as disappeared right from the
beginning to implement the browse timeout. Instead manage
their expiring by introducing a flag which marks them as
CUPS legacy printers. Printers with disappeared status are
considered invalid in some situations, especially when
clusterin equally-named remote printers (Bug #1374).
- cups-browsed: When we have remote CUPS printers, we use the
implicitclass backend and a local copy of the remote PPD
file already if we have only a single remote printer with
this queue name. This simplifies the management of remote
CUPS printers and also we do not hassle with using a remote
PPD file. Now one can change PPD option defaults with
printer setup tools or the lpadmin command and they get
preserved in the next cups-browsed sessions.
- if we are using the implicitclass backend CUPS does not make
the server's PPD file available on the client any more. To
fix this, we download the PPD file when creating an
implictclass:... queue and apply it to the queue. This way
the options of the printer(s) are always available for
enumeration, especially in print dialogs (Bug #1372). We
modify the local copy setting any options saved from the
previous session and inhibiting local execution of filters
(as the driver for the remote printer is not necessarily
available locally).
- cups-browsed: Added flag to inhibit auto-backup of option
settings by the on_printer_modified() notification handler
during print queue setup and removal.
- cups-browsed: Let the printer_record() function always
return the master record for the printer name and not an
arbitrary duplicate.
- cups-browsed: Fixes in the functionality for saving option
settings: Make sure to not save the same option twice with
different values, do not save the "printer-is-shared" option
(errors out when re-applying option in the next session).
- cups-browsed: Treat discovered printers correctly also if
they use a non-standard port, even if several CUPS daemons
are running on the same server but on different ports. This
also improves the support of a sandboxed printing stack.
- cups-browsed: Close http connections opened for polling
properties of IPP network printers, to fix a possible memory
leak.
- cups-browsed: Cleaned up HTTP access to local and remote
CUPS servers and IPP printers, to assure that the local CUPS
daemon is always accessed the same (user-defined) way
(domain socket/localhost:port). This especially prevents
cups-browwsed hanging on shutdown (Debian bug #832637).
- cups-browsed: Fixed clustering equally-named queues of
different remote servers, to assure to have one master
referencing to all duplicates and not a daisy chain of
duplicate references.
CHANGES IN V1.11.2
- cups-browsed: Allow turning off the use of CUPS' domain
socket via cups-browsed.conf.
- foomatic-rip: When run as regular CUPS filter use preferably
/etc/cups/foomatic-rip.conf (or whereever the CUPS
configuration files reside, according to the CUPS_SERVERROOT
environment variable) as configuration file. This way we can
more easily run the printing stack in a sandbox.
- foomatic-rip: When run as regular CUPS filter, read the PPD
through CUPS and get the print queue name by environment
variable.
- bannertopdf, foomatic-rip, gstoraster, mupdftoraster,
pdftoopvp, pdftoraster: Do not use build-time hard-coded
paths, but always the paths from the environment variables
which CUPS sets when calling its filters. This is needed to
run the printing stack in a sandbox.
CHANGES IN V1.11.1
- mupdftoraster: Lowered the priority (raised the cost value)
in the cupsfilters-mupdf.convs file so that in a full
cups-filters installation MuPDF is not prioritized.
CHANGES IN V1.11.0
- pdftops: Added support for MuPDF as PDF renderer. MuPDF can
be selected by the "pdftops-renderer=mupdf" option.
- rastertops: Removed unneeded page logging.
- rastertops: Fixed DSC comments, some were only preceded by
a single '%' instead of a double "%%".
- gstoraster, pdftops, foomatic-rip: Use -dNOMEDIAATTRS when
calling Ghostscript. This way Ghostscript does not try to
match media sizes with internal lists.
- Build system: Allow building cups-filters without Poppler
(--disable-poppler in ./configure command line) This skips
the build of pdftoraster, bannertopdf, pdftoijs, and
pdftoopvp and the installation of these filters and their
auxiliary files. With this cups-filters can be easily
installed on mobile/appliance systems with MuPDF as the only
PDF interpreter.
- mupdftoraster: Added filter to support MuPDF as PDF
interpreter. MuPDF is a lightweight PDF interpreter
especially interesting for mobile systems and
appliances. Thanks to Pranjal Bhor for contributing this as
part of his Google Summer of Code project.
- gstoraster: Fix setting of width and height of the page in
pixels when there is no Resolution option in the PPD.
- cups-browsed, implicitclass: Avoid the use of files for the
communication between cups-browsed and the load-balancing
backend implicitclass. Instead of in a file, cups-brwsed
stores the destination server name in an option (which CUPS
saves in printers.conf) which the implicitclass backend
reads via IPP. This not only makes it easier to run
cups-filters in a sandbox, but it is also better in terms of
system security.
- cups-browsed: Allow configuring where the files produced by
cups-browsed will get stored. This makes it easier to run
cups-filters in a sandbox.
- beh: Fixed printing multiple copies with beh (Ubuntu bug
#1605514).
- cups-browsed: Fixed several memory leaks, especially when
using IPP requests and DNS-SD TXT record look-ups. Thanks to
Ivo Straka for finding them with Valgrind and supplying
patches to fix them (Bug #1365, Bug #1368, Ubuntu bug
#1203276).
- libcupsfilters: Added missing "#include <cups/ppd.h>" to
make sure that the package builds on all systems (Bug
#1366).
Changes:
CHANGES IN V1.10.0
- texttotext: Added new filter for text-only printers written
in C, to use the CUPS library to access the print queue's
PPD file, with a lot of options to fit practically all
printer models amd paper sizes, support for CUPS' page
management options, and support for configuring the print
queue and controlling the options by the PPD file. The PPD
is now generated on-the-fly by cupsfilters.drv.
- textonly: Removed the old script-based filter and its PPD
for text-only printers.
- rastertops: Added new filter to turn PWG Raster into
PostScript, in preparation for MuPDF support. Thanks to
Pranjal Bhor for contributing this as part of his Google
Summer of Code project.
- gstoraster, gstopxl, gstopdf, pstopdf: Integrated
functionality of script-based filters pstopdf and gstopxl
into gstoraster filter as script-based filters cannot access
the print queue's PPD file with current CUPS due to change
of PPD file permissions. To make gstoraster always produce
the correct output format (CUPS/PWG Raster, PDF, PCL-XL) it
is called via new wrapper scripts (gstopdf, gstopxl) which
set an environment variable telling the format. The old
filter scripts got removed.
- imagetops, texttops: Do not use $0 in the wrapper scripts,
when CUPS calls filters, it passes the queue name as $0, not
path and name of the called filter.
- cups-browsed: When creating local queues for discovered IPP
network printers always create PPD files and if the
information supplied by the printer via IPP is insufficient
use information from the DNS-SD entry or default values
suitable for most printers. Use System V interface scripts
only on explicit request in cups-browsed.conf. This change
is to address the fact that System V interface script
support is removed from CUPS 2.2.x and later for security
reasons.
- pstopdf: Make the filter only get installed if Ghostscript is
present and also moved its conversion rules into the
cupsfilters-ghostscript.convs file.
- cups-browsed: Fixed crash when trying to get debugg logging
both to the terminal and into a file.
- libcupsfilters: Fixed crash of pdftoraster when the color
space is an RGB space (3 colors) with 1 bit color
depth. Here we need to add one bit to the pixels (to get 4
bits per pixel) to align the pixels with the bytes.
- cups-browsed: From cups-browsed.service removed the unneeded
"Wants=cups.service" as we have "Requires=cups.service"
(Debian bug #827455, #827457).
- foomatic-rip: Updated man page for removed page logging
facility.
- pdftops: Also added Dell to the list of manufacturers whose
printers need Poppler's PostScript to work around their
PostScript interpreter bugs (Debian bug #827040).
Changes:
CHANGES IN V1.9.0
- foomatic-rip: Removed page logging via insertion of PostScript code.
This works only with Ghostscript and PostScript input and even
then it can break things or simply not work. We do the page logging
for foomatic-rip in pdftopdf now, which is more universal and more
reliable.
- sys5ippprinter: Added page logging (to /var/log/cups/page_log)
functionality.
- pdftopdf: Added functionality for logging pages in the
/var/log/cups/page_log file. Logging can also be forced or
surpressed via command line (page-logging=on/off/auto) and
page logging is also done for filters which should do but
actually do not do: foomatic-rip, gstopxl, hpps (CUPS issue #4798,
Ubuntu bug #1585380).
- pdftopdf: Whitespace and indentation clean-up.
- README: Removed the documentation of the old Poppler-based pdftopdf
filter which is not included any more.
- cups-browsed: Do not schedule failed operations for later repetition
during shutdown.
- cups-browsed: Added support for debug logging into a file (usually
/var/log/cups/cups-browsed_log, to be activated via "-l" or
"--logfile" option or via "DebugLogging file" option in
cups-browsed.conf.
- cups-browesd: Consistent use of debug_printf() in the LDAP support.
- cups-browsed: Added "Requires=cups-service" to the
cups-browsed.service file, so that systemd keeps CUPS running while
shutting down cups-browsed on system shutdown (Ubuntu bug #1579905).
- README: Extended pdftopdf's documentation.
- README: Added documentation for the pdfAutorotate option in
pdftopdf.
- gstoraster: Treat status output of the waitpid() function properly,
to avoid gstoraster exiting with zero status when Ghostscript
exited with non-zero status or got terminated by a signal
(Bug #1354).
- README: Fixed typos. Thanks to Pranjal Bhor (bhor dot pranjal at
gmail dot com) for the patch.
- braille: Recognize application/vnd.cups-pdf-banner MIME type and
read standard input directly instead of using /dev/stdin.
- braille: Drop output of the "type" command when checking the
presence of helper utilities.
- braille: Do not send EOF twice to the braille embosser.
- cups-browsed/sys5ippprinter: Fixed documentation about the allowed
input formats for auto-created network printer queues using
sys5ippprinter, also improved NEWS entry about renaming of
sys5ippprinter (Debian bug #819665).