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).
Changes:
CHANGES IN V1.8.3 (2016-03-23):
- cups-browsed: When creating or modifying a local print queue
set the printer-is-shared bit to false in a separate IPP
request as this operation errors on queues directly pointing
to remote CUPS queues with the IPP backend. This way we can
ignore the error and assure that all other settings are
applied (Ubuntu bug #1560099).
- Fixed pkg-config support so that $PKG_CONFIG gets used and
cross compilation works (Bug #1347).
- gstoraster: Put conversion rules for this filter into a
separate file, so that they do not get installed when we
build without Ghostscript support (Bug #1346).
- Allow disabling dependencies on IJS (Bug #1345).
- pdftops: Switch to Poppler as PDF renderer also for the
Apple LaserWriter 12/640, to work around a bug in the
printer's PostScript interpreter (Bug #1344).
CHANGES IN V1.8.2
- Allow disabling dependencies on Ghostscript and Foomatic
(Bug #1342).
- cups-browsed: Optionally generate also local queues pointing
to remote raw queues. Usually only queues pointing to remote
queues with PPD/driver are created (Debian bug #814020,
Debian bug #756724).
CHANGES IN V1.8.1
- cups-browsed: Do not disable queues which still have jobs (and
therefore cannot be removed) when avahi-daemon goes away, the
print server is most probably still available and printing can
be continued. Especially important on mobile devices where
avahi-daemon is shut down when the print dialog is closed (and
the job(s) still printing).
CHANGES IN V1.8.0
- COPYING: Replaced the COPYING file by a file in Debian format,
derived from Debian's file but updated and corrected.
- braille: Added info about additional packages needed for Braille
printing to the README file.
- braille: Let the Braille filters use lou_translate of
liblouis if the more sophisticated file2brl of liblouisutdml
is not installed. This is decided on at run time, so later
installation of liblouisutdml will let the filters
automatically switch to file2brl.
- braille: Allow to build with Braille support also if
liblouis is not installed at build time.
- braille: Added checks for the presence of helper tools, to
get clear messages in the CUPS error_log if something is
missing.
- Fixed copyright headers of files inherited from CUPS or
derived from CUPS, pointing to COPYING as license info file,
removing Apple exceptions, removing hints that a missing
license info file can be found at www.cups.org, and removing
"$Id" SVN file ID placeholders.
- Updated COPYING file for missing implicitclass and beh
backends.
CHANGES IN V1.7.0
- cups-browsed: Added possibility to trigger the auto shutdown
by the queues of cups-browsed being without jobs. Before
auto shutdown was only possible when all queues have gone
away. This allows auto shutdown on mobile devices where
avahi-daemon is also used for other things than printing.
Changes:
CHANGES IN V1.6.0
- cups-browsed: Fixed use of CUPS domain socket, both
detection during build process and permission check at
runtime.
- foomatic-rip: Fixed buffer overflow when reading environment
variables CUPS_FONTPATH, CUPS_DATADIR, and GS_LIB (Bug
#1336).
- beh: Introduced beh, the Backend Error Handler, a wrapper
backend to make handling of backend errors more
configurable. This backend is a C re-write of the beh
backend written in Perl which was part of the former
foomatic-filters package. Several people asked for beh
getting moved to cups-filters.
- braille: Make image printing working also if ImageMagick
generates formatted images without header.
- braille: If the user does not select a Braille translation,
let the embosser do the translation.
- cups-browsed: Added version info to help screen and start-up
in debug mode, call help screen also via "--version" option.
- cups-browsed: Minor improvements in help screen and man
page.
CHANGES IN V1.5.0
- cups-browsed: Allow use of an alternative configuration file
via the "-c" command line option.
- cups-browsed: Allow supplying configuration settings via the
command line using the "-o" command line option.
- cups-browsed: Command line help via the "-h" or "--help"
command line option.
CHANGES IN V1.4.0
- foomatic-rip: SECURITY FIX: Also consider the semicolon
(';') as an illegal shell escape character. Thanks to Adam
Chester (adam dot chester at pentest dot co dot uk) for the
hint (CVE-2015-8560).
- brftoembosser, imagetobrf, imagetoubrl, imageubrltoindexv3,
imageubrltoindexv4, textbrftoindexv3, textbrftoindexv4,
texttobrf, braille.convs, braille.types, generic-brf.drv,
indexv3.drv, indexv4.drv: Added support for Braille
embossing via CUPS. Text and even images can now be sent to
a Braille embosser like to a printer. Thanks to Samuel
Thibault (samuel dot thibault at ens-lyon dot org) for this
contribution.
CHANGES IN V1.3.0
- cups-browsed: Added new BrowseFilter directive in
cups-browsed.conf. This directive allows filtering of the
remote printers to be accepted on most properties/metadata
supplied with the DNS-SD broadcasts. This allows, in
addition to BrowseAllow/BrowseDeny/BrowseOrder, to reduce
the amount of printers listed in print dialogs to a more
useful amount.
- cups-browsed: Added support for BrowseDeny and BrowseOrder
directives in cups-browsed.conf.
- cups-browsed: Let the BrowseAllow lines in cups-browsed.conf
also apply to remote printers discovered via DNS-SD.
- cups-browsed: Auto-create queues for PCL-5c/e printers but
not for HP inkjet printers (which also advertise themselves
as PCL printers).
- cups-browsed, sys5ippprinter: Recognize PCL-5c/e printers
not only by the application/vnd.hp-pcl MIME type but also by
application/pcl and application/x-pcl.
Changes:
CHANGES IN V1.2.0
- cups-browsed: When using IP-address-based device URIs via
the "IPBasedDeviceURIs" directive in cups-browsed.conf, add
two additional settings to restrict the used IP addresses to
either only IPv4 addresses or only IPv6 addresses.
- foomatic-rip: SECURITY FIX: Also consider the back tick
('`') as an illegal shell escape character. Thanks to Michal
Kowalczyk from the Google Security Team for the hint
(CVE-2015-8327).
Changes:
CHANGES IN V1.1.0
- Version numbering scheme changed: Releases with feature
addition/change have the minor number increased now, pure
bug fix releases get the revision number increased, to make
use of the minor number which stayed zero all the time.
- cups-browsed: Added "DefaultOptions" directive to
cups-browsed.conf to allow defining default option settings
for local queues to be generated for newly appearing remote
printers.
- cups-browsed: Removed assert() calls which remained from
copy and paste in the very beginning of the development of
cups-browsed. assert() is only for use during debugging and
should not be used in production code.
- cups-browsed: Let option settings of a generated print queue
be saved before taking the queue down so that when the remote
printer appears again all user changes get restored, making
user changes permanent on generated queues.
- foomatic-rip: Fixed string length for shell path constant, to
work also with systems having longer paths (Bug #1325)
- cups-browsed: Added a mode in which IP-based device URIs
for the generation of local print queues are used, for
cases with problems in local host name resolution.
- foomatic-rip: Use -dFirstPage=... and -dLastPage=... only
if really needed (Bug #1324).
- cups-browsed, implicitclass: Make the load-balancing
configurable so that one can select whether the jobs get
queued up locally like in a CUPS class or whether they get
immediately distributed to the remote servers letting them
queue up there.
Remove unnecessary autoconf dependency.
Bug report for building with BSD make was fixed, so remove patch.
CHANGES IN V1.0.76
- cups-browsed: Make build also working with BSD make (Bug
#1310).
- cups-browsed, implicitclass: Let the load-balancing queue up
the jobs in the local (generated) queue until a free (idle,
enabled, and accepting jobs) remote queue is found (check
every 5 sec if no free queue available). This gives a more
even distribution of the work amongst the servers and
protects against the case that a bunch of jobs gets
inaccessible or lost if one of the servers fails.
- cups-browsed: Let the load-balancing also check whether the
destination queue is actually accepting jobs.
- cups-browsed: If a generated queue is not removed on
shutdown of cups-browsed due to remaining jobs in it,
re-enable it in the next cups-browsed session even if it was
disabled by something other than cups-browsed.
- implicitclass: Clean up debug and error messages.
- implicitclass: Fix exit codes for immediate retry of jobs.
- cups-browsed: Make absence of CUPS notifications via D-Bus
non-fatal and fall back to the old behavior of cups-browsed
(fail-over instead of load balancing for equally-named
remote queues, do not remove generated queue if it is
default instead of default printer management). This solves
problems of CUPS and/or cups-browsed built without D-Bus
support or absence of D-Bus on the system (Bug #1316).
- cups-browsed: Do not use g_warning() function, sneaked in by
copy and paste of CUPS subscription functions.
CHANGES IN V1.0.75
- texttopdf: Really support BoldItalic (original texttops just maps
BoldItalic to Bold).
- texttopdf: Fixed segfault when outputting BoldItalic (Bug #1314).
CHANGES IN V1.0.74
- cups-browsed: Added NULL check when getting the notification of
a printer starting to process a job and checking whether this
printer is created by cups-browsed with the implicitclass:
backend (Ubuntu bug #1488524).
- backends: Include unistd.h and fcntl.h in backend-private.h for
all platforms, not only Linux, so that the backends build also
on non-Linux platforms (Bug #1308).
- cups-browsed: Do not schedule printers for update when they are
already marked as disappeared.
- cups-browsed: Added sanity checks when saving the default printer
selection in a file.
- cups-browsed, implicitclass: If remote queues disappear or
cups-browsed shuts down and a cups-browsed-generated queue still
has jobs and needs to be kept therefore, disable it and re-enable
it when cups-browsed starts again and/or the remote queue(s) re-
appear(s). This avoids repeated retries of the jobs while the
remote server is not available, causing unneeded system load and
battery consumption.
- cups-browsed: After polling info from remote CUPS servers to find
the best destination job, set the default CUPS server back to local.
CHANGES IN V1.0.73
- cups-browsed: Added missing
utils/org.cups.cupsd.Notifier.xml file.
CHANGES IN V1.0.72
- cups-browsed, implicitclass: Added load balancing
functionality. If there are several remote CUPS printers
with the same name, they for locally a cluster represented
by a print queue with this name. This printer prints through
a special backend (implicitclass) which makes cups-browsed
find the best destination remote queue (fewest jobs,
enabled) for this job.
- cups-browsed: Added protection against accidental deletion of
print queues generated by cups-browsed. These queues now get
automatically re-created.
- cups-browsed: Added LDAP support. Appropriately configured via
cups-browsed.conf remote printers made available via LDAP will be
looked up and local queues pointing to them created. Thanks to
Raphael Geissert (atomo64 at gmail dot com) for contributing this
patch (Debian bug #795185).
- cups-browsed: Introduced new handling for the default
printer using cache files. So we do not need to keep an auto-generated
queue because it is set as default printer. If the auto-generated
queue disappears, the old local printer is set as default again and
when it re-appears it returns to be the default printer.
- cups-browsed: Added infrastructure for subscribing to CUPS
notifications for things like improved default printer handling,
load balancing, ...
- foomatic-rip: Prevent crash when supplying "media" option with empty
value ("media=", Ubuntu bug #1479871).
- pdftoopvp: Adaptations to API changes on Poppler 0.34.0, note that
this patch disables color management in this filter. Thanks to
Vincent le Garrec and Andreas K. Huettel for the patch (Bug #1301,
Gentoo bug #554782).
- libcupsfilters, bannertopdf, foomatic-rip, gstoraster, pdftoijs,
sys5ippprinter, pdftoopvp, pdftops, pdftoraster, rastertoescpx,
urftopdf, texttopdf: Miscellaneous fixes for build compatibility with
different platforms, like config.h as very first include and so on.
Thanks to Richard Palo for the patch (Bug #1264).
- texttopdf: Request the generic 'monospace' font alias from fontconfig
instead of the hard-coded FreeMono. Thanks to Fabian Greffrath
(fabian at debian dot org) for the patch (Debian bug #788048).