Changes:
1.27.5
------
- cups-browsed: Do not remove the created local queues on
shutdown, to avoid their re-creation on restart, so that
desktops get no cluttered with notifications of new queues
being created. One can return to the old behavior via
"KeepGeneratedQueuesOnShutdown No" in cups-browsed.conf
(Ubuntu bug #1869981, #1878241).
- cups-browsed: Do not accept DNS-SD broadcasts of IPPS type
of "remote" CUPS queues of another CUPS instance on the
local machine. This way we get a local queue pointing to
such a printer only in unencrypted version (IPP). For some
reason printing from one CUPS server to another on the same
machine works only unencrypted.
- foomatic-rip: Map two-sided-short-edge to DuplexTumble (Pull
request #236)
- Build system: In configure.ac use AS_IF instead of
AC_CHECK_FILE for font check (Issue #239, Pull request #240)
- cups-browsed: Cleaned up code for determining to which CUPS
server (host/port/domain socket) to connect, so that
connection via DomainSocket cups-browsed.conf directive,
CUPS_SERVER and IPP_PORT environment variables and all
defaults and methods of libcups, including CUPS' client.conf
work.
- gstoraster, rastertopdf: Do not pass NULL to fprintf() (Pull
request #230).
- libcupsfilters: Silence compiler warning (Pull request #229).
pkgsrc changes:
- Remove patches/patch-configure: applied uptsream
- Convert the CHECK_PORTABILITY_SKIP to a REPLACE_BASH: it is more consistent
with other REPLACE_BASHes (there are several files that are not installed
then) and complaining about `==' test(1) operator in a bash script is
not correct.
Changes:
1.27.4
------
- libcupsfilters, cups-browsed: Fix memory issues in
ppdgenerator and cups-browsed (Pull request #226).
- pdftops: Mention cups-filters README, CUPS README in debug
log (Pull request #225).
- pdftopdf, gstoraster, foomatic-rip: Use "-dSAFER"
Ghostscript option, instead of the deprecated
"-dPARANOIDSAFER" (Pull request #224).
- Build System: Replace '==' in configure.ac test with '=', as
the former is a bashism (Pull request #222).
1.27.3
------
- cups-browsed: Allow sharing local queues pointing to remote
CUPS queues and re-sharing printers discovered via
BrowsePoll by default, using
AllowResharingRemoteCUPSPrinters and
NewBrowsePollQueuesShared directives in cups-browsed.conf
(Issue #101, Pull request #218).
- driverless: Correctly unlink temporary file when generating
PPD file (Pull request #220).
- cups-browsed: Fixed memory leaks (Pull request #219).
- foomatic-rip: PDF page count side-loads the PDF file to
count the pages in, so it cannot be run in -dSAFER mode. Run
even in -dNOSAFER mode to override the -dSAFER default of
newer Ghostscript versions. This should not cause a security
problem as we do not take an input file which could do
arbitrary side-loads but we run hard-coded PostScript
commands instead (Issue #216).
- libfontembed: Add checks to the test programs to not
segfault if the test font file is not found (Pull request
#214).
- Build System: Let ./configure fail if the supplied test font
file path (or the default) does not exist (Pull request
#214), also use the "find" command to find the test font
file DejaVuSans.ttf under /usr/share/fonts, as every
distribution has it somewhere else.
1.27.2
------
- foomatic-rip: In some PostScript input files it was possible
that option settings did not get inserted or lines inserted
on the wron place (Issue #208, Pull request #210).
- foomatic-rip: For the PDF page count call Ghostscript in
sandbox mode and fix pointer arithmetics (Pull request
#212).
- foomatic-rip: Zero-page-job handling changes made the last
page of PostScript files not printed, also turning one-page
jobs into zero-page jobs (Issue #200, Issue #206, Issue
#208, Pull request #209, Pull request #210, Pull request
#211).
- cups-browsed: check_printer_with_option() function:
Initialize the value, add further checks, freeing memory and
stop allocating magic numbers (Pull request #204).
- cups-browsed: Additional checks against crashes in the
is_local_hostname() function (Ubuntu bug #1863716)
1.27.1
------
- libcupsfilters: Let the PPD generator not put any dashes
into the PPD option and choice names when translating them
from IPP attribute names, to avoid that on the
back-translation by CUPS no double-dashes are
generated. This broke paper tray selections with tray names
like "tray-1", "tray-2", ... (Issue #192, Issue #201, Debian
bug #949315).
- foomatic-rip: Fixed segfault when PRINTER environment
variable is not supplied.
- pdftopdf, pdftops, gstoraster, gstopdf, gstopxl,
rastertoescpx, rastertopclx, foomatic-rip: Handle zero-page
jobs (Issue #117, Pull request #196, Pull request #197, Pull
request #198, Pull request #200).
- texttopdf: Added support for CJK (double-width) fonts (Issue
#135, Pull request #199).
- cups-browsed: Switched default for "CreateIPPPrinterQueues"
from "local-only" to "All". The configure script options
"--enable-auto-setup-local-only" and
"--enable-auto-setup-driverless-only" can be used to change
this default (Debian bug #921252).
- rastertoescpx: Fixed wrong freeing of a buffer.
- pdftops: Added options "crop-to-fit" and "fill" to the
pdftopdf options which the pstops called by pdftops should
not apply a second time.
- pdftops: Added missing "-sstdout=%stderr" to Ghostscript
command line, to assure that all messages are redirected to
stderr and do not mix up with the output data.
1.27.0
------
- cups-browsed: Eliminate the use of the local CUPS daemon's
(the CUPS we are attached to) port number completely, so
that for attaching to an arbitrary local CUPS daemon
listening on an arbitrary port (or even not listening on
localhost at all) it is enough to tell cups-browsed the
domain socket the CUPS daemon is listening on.
- cups-browsed, libcupsfilters: Identify DNS-SD-reported
printers as of the local CUPS daemon via UUID and not via
the port on which the local CUPS is listening, as we do not
always have this port available.
- cups-browsed: Leave the port for legacy CUPS browsing and
broadcasting on 631, do not use a possible alternative port
of the CUPS we are attached to. The legacy CUPS servers we
communicate with are always remote ones.
- libcupsfilters: in the PPD generator prioritize
print-color-mode-supported against
pwg-raster-document-type-supported (Issue #186, Pull request
#188)
- rastertopdf, rastertops, texttopdf, pdftoraster,
mupdftoraster: Handle zero-page jobs, corrections on
zero-page job handling (Issue #117)
- cups-browsed: When restarting after a crash make sure that
local queue names have same upper/lower case as before.
- cups-browsed: Small code improvements to reduce crash
probability.
1.26.2
------
- cups-browsed: Added crash guards to avoid crashes in case
the dummy printer entry for a deleted master entry is used.
- cups-browsed: Set the port of the local CUPS daemon to be
used according to the IPP_PORT environment variable.
- cups-browsed: Eliminated the use of the cupsGetPPD2()
function of libcups completely, also the remaining calls
in the record_printer_options() and update_cups_queues()
functions, the former causing incomplete recording of
option settings and the latter use of CUPS-generated
PPDs not working when CUPS is running on a non-standard
port.
- cups-browsed: Eliminated the use of the cupsGetPPD2()
function of libcups in queue_overwritten(). The function
actually loads the queue's PPD file if the queue is on a
local CUPS on port 631. Due to a bug the function fails if
an alternative port is used. This lets queue_overwritten()
always assume that the PPD got removed and therefore the
queue got overwritten. So queues got released from
cups-browsed if it was printed on them or if they were
supposed to be removed on shutdown.
- foomatic-rip: Fixed compilation with -fno-common. Starting
from the upcoming GCC 10, the default of the -fcommon option
will change to -fno-common. This causes compilation errors
in foomatic-rip due to missing "external" declarations.
(Pull request #184).
This package has a script which is written for bash and has a bashism.
While that's a bug, the package has REPLACE_BASH for it and further
doesn't include the file in the PLIST. So there's no benefit to
pkgsrc fixing this, other than the quest to rid the world of bashisms.
Simply skip checks on this file.
pkglint --only "https instead of http" -r -F
With manual adjustments afterwards since pkglint 19.4.4 fixed a few
indentations in unrelated lines.
This mainly affects projects hosted at SourceForce, as well as
freedesktop.org, CTAN and GNU.
Changes:
1.26.1
------
- build system: Install the "implicitclass" backend with
"-rwx------" permissions, so that CUPS executes it as root,
as the "ipp" CUPS backend also has to be executed as root
(Issue #183).
- build system: Fixed setting permissions when installing the
"cups-brf" backend.
- libcupsfilters: When using the
"media-{bottom,left,right,top}-margin-supported" IPP
attributes (needed if we have no "media-col-database"), use
the minimum and not the maximum margins, this allows
accessing more of the printer's capabilities, especially for
legacy printers which do not provide sufficient information
(Issue #22).
1.26.0
------
- cups-browsed: When generating local queues for printers for
which the local CUPS daemon would provide temporary queues
use the PPDs generated by libcupsfilters and not the ones
generated by CUPS. The PPD generation of libcupsfilters also
works with IPP-1.x-only printers, printers which do not
support to query "media-col-database" and printers which
support driverless printing only via PCLm. This can be
changed via the "UseCUPSGeneratedPPDs" directive in
cups-browsed.conf (Issue #22).
- libcupsfilters: Re-structured the get_printer_attributes()
function to remove the recursive calls for the fallbacks, to
check required attributes in the response only if requested,
and to fully integrate the method of getting a suitable
response for a full printer capability list also if the
printer is only IPP 1.1 or does not support the
"media-col-database" attribute (Issue #22, Issue #163).
- libcupsfilters, cups-browsed, driverless: Moved the funtions
get_printer_attributes() and resolve_uri() from cups-browsed
into libcupsfilters, to share them with the driverless
utility (Issue #22).
- implicitclass: Fixed wrong stdout redirection from the
filters to the IPP backend and hard-coded path for "ipp"
backend call (Possible fix for Issue #163, Issue #181).
- cups-browsed, driverless: Use DNS-SD-service-name-based URIs
instead of host-name-based ones, as CUPS also does. In
cups-browsed one can switch back to the conventional
host-name-based URIs via the new "DNSSDBasedDeviceURIs"
configuration option. Note that cups-browsed always uses
conventional URIs for printers discovered via legacy CUPS
browsing or LDAP.
- cups-browsed: When removing a CUPS queue, do not consider an
error (and retry) if the queue does not actually exist. Also
ignore errors when checking whether there are still
jobs. This way when a new queue gets created and the
generation of the PPD file fails the attempt to remove this
non-existing queueu when removing the printer entry does not
cause any problem.
- cups-browsed: Improved the fallback mechanism of the
get_printer_attributes() function. Instead of considering
the request failed by the content of the response only when
not more than the two language atrributes come out, we check
through a list of required attributes whether they are all
there. In addition, we actually fail when all callbacks
have failed (Issue #22).
- cups-browsed: Introduced new configuration options
"UpdateCUPSQueuesMaxPerCall" and
"PauseBetweenCUPSQueueUpdates" to limit the amount of local
CUPS queues created, modified, or removed in a single event
callback. Before, when there were thousands of printers in
the network, cups-browsed got blocked for other tasks, like
assigning a destination printer for a cluster print job
(Issue #163).
1.25.13
-------
- implicitclass: When passing on the job via the "ipp" CUPS
backend, set argv[0] to the destination printer URI (Pull
request #173).
- cups-browsed: Added another fallback to the
get-printer-attributes IPP request: Now after failing the
standard request ("all", "media-col-database") with both IPP
2.0 and IPP 1.1, try simply "all", without
"media-col-database" (Pull request #173).
- cups-browsed: Do not set printer-is-shared for remote CUPS
queue when making a temporary queue permanent (Pull request
#180).
- cups-browsed: Fix leaks of ipp_t struct and load balancing
on the servers (Pull request #179).
- cups-browsed, implicitclass: Prioritize Apple Raster against
PWG Raster when selecting the PDL for the destination
printer for a job sent to a cluster, also cleaned up the PDL
selector code and added PostScript support.
- libcupsfilters: Updated the PPD generator adding all changes
of the PPD generator of CUPS: Support for "job-account-id",
"job-accounting-user-id", "job-password", finishing options
"trim-..." added, finishing options and
"finishing-col-database" support synced with CUPS.
- libcupsfilters: In the PPD generator get the mode for
handling the back sides of the sheets when printing duplex
preferrably from the "urf-supported" attribute.
- libcupsfilters: Fixed bug that the PPD generator did not
output the "*CloseUI: *ColorModel" line when it did not
determine a default setting for "ColorModel".
- cups-browsed: Added some missing memory allocations leading
to a segfault (Issue #175).
1.25.12
-------
- libcupsfilters: Use the text names "Draft", "Normal", and
"High" instead of 3, 4, and 5 as choice names for the
"cupsPrintQuality" option as CUPS does (Issue #171).
- libcupsfilters: If a printer supports both Apple Raster and
PWG Raster let the generated PPD use Apple Raster as there
are several printers which report PWG Raster support but do
not actually print PWG Raster (Pull reguest #168, Issue
#171, CUPS issue #5238).
- cups-browsed: Fix unset location check to use DNS-SD field
(Pull request #172).
- libcupsfilters, beh, implicitclass, foomatic-rip,
imagetopdf, mupdftoraster, pdftops, sys5ippprinter,
cups-browsed, driverless: Silenced all compiler warnings to
make the build process of cups-filters completely free of
warnings.
- pdftops: Fixed crash when using filter without PPD file.
- pdftops: If printing grayscale jobs with Ghostscript as PDF
renderer, add "-sProcessColorModel=DeviceGray" to
Ghostscript command line.
- pdftops: Do not use the ugly "pdftops -level1 ..."
workaround to get grayscale PostScript output from
Poppler. It leads to huge output files with Poppler's
"pdftops" utility and does not work at all with
"pdftocairo". Poppler itself does not support PostScript
output converted to grayscale. Issue a warning with the hint
to use Ghostscript or MuPDF as PDF renderer (Issue #169).
- libcupsfilters: In the cupsRasterParseIPPOptions()
accept also "Mono", "Monochrome", and "Gray" as color
space names.
pkgsrc changes:
- Remove patch-filter_pdf.cxx (was a backport from upstream) and patch-Makefile.in
(now `-r' option of `ln' is checked in configure phase)
Changes:
1.25.11
-------
- cups-browsed: Really accept entries without printer name
reported on a job status request (Issue #163).
- cups-browsed: Strip IPP atrribute values reported by the
printer on a get-printer-attributes request from white
space (Pull request #166).
1.25.10
-------
- libcupsfilters: Added NULL checks when handling page size
names as some of the page sizes in CUPS' PWG media list have
a NULL PPD name (Ubuntu bug #1847488).
1.25.9
------
- cups-browsed: Fix leaks in get_printer_attributes() function.
- cups-browsed: Avoid infinite recursion on IPP 1.1 fallback.
1.25.8
------
- cups-browsed: On a job status request accept also entries
without the printer name being reported (Issue #163).
- cups-browsed: Fall back to IPP 1.1 if a
get-printer-attributes IPP request with IPP 2.x fails (Issue
#124, Issue #163).
- gstoraster: Use ".setfilladjust2" instead of the
undocumented ".setfilladjust" PostScript command for
Center-of-Pixel method to fill paths (Issue #164).
1.25.7
------
- implicitclass, libcupsfilters: Fixes to solve an assertion
error and printing to an Apple Raster printer (Issue #162,
Ubuntu bug #1845286, Ubuntu bug #1845548).
- cups-browsed: Do not try to resolve the network interface
name on Avahi messages which are not interface-related (like
"All for now"or "Cache exhausted", Issue #163).
- Build system: The helper script ln-srf to build on systems
with old ln was not included in the release tarballs (Issue
#161).
- pdftoraster: Fixed some bugs in output bitmap generation (
writePageImage() function): Segfault on output of
up-side-down pages (back side when printing duplex on some
printers), margin offsets not taken into account on
monochrome jobs, CUPS_CSPACE_W color space not recognized as
monochrome (Ubuntu bug #1845286).
1.25.6
------
- implicitclass: Make sure the destination printer gets always
set and do not pass on the cups-browsed-dest-printer when
sending the job to the final destination (Issue #152, Pull
request #159).
- Build system: Support old ln versions without the -r option
(Pull request #154, #157).
- texttotext: Link with libiconv if needed (Pull request
#155, #158).
- foomatic-rip: Fix argument representation for raw queue
debug mesaage (Pull request #153).
1.25.5
------
- bannertopdf: Added missing "#include <cstring>" to pdf.cxx
so that bannertopdf correctly builds with QPDF 9.0.0 (Issue
#134, Issue #151, Gentoo bug #693498).
- rastertopdf: Let the getIPPColorProfileName() function not
return a pointer to a local variable (clang warning, Issue
#150).
- cups-browsed: If a locally generated queue (usually with
"implicitclass://..." URI) left over from a previous
(crashed) session is picked up on startup, do not set the
URI as the remote printer's URI and do not cause a fatal
error on a failed get-printer-attributes IPP request (Issue
#148, Debian bug #939316).
- pdftopdf: Do not preserve encryption, since the output
already goes into the printer (Issue #146, Pull request
#147).
1.25.4
------
- imagetoraster: Do not call imagetops and pstoraster for
classifications and page labels as these filters are not
included any more with cups-filters. Classifications and
page labels are currently not supported for direct image
printing, only for PDF or PostScript input (which goes
through pdftopdf).
- imagetoraster, imagetopdf: Fixed auto-rotation of images to
fit output page best (Issue #145).
- pdftoraster: If the PPD contains several equally-sized page
size entries which match the size of the input page and one
is the size selected by the user via the "PageSize" or
"media" option (or the default selection in the PPD) then
prefer this one instead of simply the first matching one.
- pdftoraster: If the input page size cannot be matched with
one of the PPD's page sizes it is considered a custom size,
fill the page size name field of the CUPS Raster header with
"Custom.XXXxYYY" then.
- pdftoraster: Match the input page size with a page size in
the PPD only if the differences of the dimensions are less
than 1%, also match the input page size against the
imageable area of the PPD's page sizes if no match with the
full page size is found (Issue #138).
1.25.3
------
- Sample PPDs: In HP-Color_LaserJet_CM3530_MFP-PDF.ppd renamed
"custom" choice of the option "stapleoption" to "customsize"
as from CUPS 2.2.12 on "custom" is not accepted any more as a
choice name in a PPD file.
- cups-browsed: Fixed check whether the remote printer understands
PWG Raster (Issue #141).
1.25.2
------
- foomatic-rip: Fixed segmentation fault when running
foomatic-rip by hand and the PRINTER environment variable is
not set (Pull request #139).
- cups-browsed: Added note to cups-browsed.conf and man page
about IP-based URIs depending on the network interface used.
- cups-browsed: For each DNS-SD-discovered printer register
each DNS-SD discovery instance with network interface,
family, and IPP type. When DNS-SD messages of instances
disappearing show up, only unregister this instance and
remove the printer only if no instance is left. This
prevents a local queue of a still available printer being
removed when Wi-Fi (= one interface) is turned off (Issue
#136).
- cups-browsed: If a remote printer is served from the local
machine, prefer the "localhost"/loopback interface URI.
- cups-browsed: If a remote printer is discovered more than
once, use the new instance only if it has no downgrades and
at least one upgrade compared to the old one. Features
currently compared are IPP/IPPS, loopback interface or not,
and discovery via CUPS legacy/LDAP/DNS-SD.
- cups-browsed: If an Avahi-discovered entry comes through the
"lo" interface, always use the host name "localhost". Use
IP addresses instead of host names only if explicitly
requested.
- cups-browsed: Consider remote printer entries also as from
the same printer if one has the local machine's network name
and the other "localhost" as host name (Issue #136).
1.25.1
------
- imagetopdf: Fixed crash when no PPD file was supplied (Pull
request #133).
- pdftoraster: Fixed offset issues leading to segmentation
faults (Issue #131, Pull request #132).
- pdftoraster: Added anti-aliasing for better raster image
quality (Pull request #129).
- pdftoraster: Added graceful handling of zero-page input
(Issue #117, Pull request #127).
1.25.0
------
- pdftoijs, pdftoopvp: Removed these deprecated filters
completely as there is no demand for them any more. They
also used unstable, undocumented APIs of Poppler.
- pdftoraster: Changed from using unstable, undocumented APIs
of Poppler to stable, documented ones, to improve
maintainability of this filter, and with it of the
cups-filters package. Thanks to Tanmay Anand for
contributing this as his Google Summer of Code 2019 project.
- libcupsfilters: Added support for color spaces CMY and RGBW
when using filters without PPD file (mainly for development
and debugging, option "print-color-mode" with values
"cmy-XX" and "rgbw-XX" with XX being the number of bits per
color).
1.24.0
------
- cups-browsed: Integration of Deepak Patankar's Google Summer
of Code 2018 project with the main goal of clustering
different printers and automatically selecting the
destination printers by job content and option/attribute
settings. All changes of this release are done by Deepak as
parts of his project.
- cups-browsed, implicitclass: Support for mixed clusters of
remote CUPS queues and IPP network printers. For this PPD
files of remote CUPS queues are generated by cups-browsed
based on IPP queries, as for native IPP printers, the number
of jobs for load balancing is polled in a way that it works
also with native IPP printers, the implicitclass backend
sends jobs directky to the printer instead of re-queueing
them via CUPS.
- cups-browsed: Merge IPP attributes of several printers to
combined attributes for the cluster to generate the
cluster's PPD file, including PPD constraints for option
combinations not fulfillable by any of the member printers,
and finding reasonable, non-conflicting default settings,
- cups-browsed: Selection algorithm for the destination
printer for a job sent to the cluster. Based on the job
settings requested such as page size, media type, print
quality, ... the best most suitable printer in the cluster
for the job will be selected.
- cups-browsed, implicitclass: Filter jobs to clusters already
locally. Due to the fact that a cluster's member printers
are not exclusively non-raw CUPS queues with the complete
filtering framework on the remote server, but also native
IPP printers, we need to support generic driverless printers
as destination. So we cannot pass on the input data
unfiltered but need to filter locally. We let the cluster's
PPD file emulate a PDF printer, letting the local CUPS queue
of the cluster run pdftopdf and any pre-filters to turn the
input into PDF and we let the implicitclass backend turn PDF
into a format understood by the destination printer,
supporting the 4 formats of driverless IPP printing: PDF,
PWG Raster, Apple Raster, PCLm.
pkgsrc changes:
- Remove outdated comment regarding opvp: upstream issue was solved
but they are now also disabled by default by upstream
Changes:
1.23.0
------
- pdftops, mupdftoraster: Let pdftops call mutool directly and
so that it directly outputs PostScript, eliminating the need
to call the mupdftoraster and rastertops filters.
- mupdftoraster: Reduced the use of temporary files from 3 to
just one.
- imagetopdf, imagetoraster, pdftopdf: Add support for
print-scaling option (Issue #108, Pull request #118).
1.22.6
------
- rastertops: Fixed PageSize settings in the PostScript output
(Must be in points not in pixels).
- pdftops, mupdftoraster: Produce actual grayscale/monochrome
PostScript (and not only instructions to print grayscale/
monochrome) for jobs to be printed in grayscale/monochrome
(Issue #96, Pull request #115).
- mupdftoraster: Fixed filter not producing output at all.
- Build system: ENABLE_DRIVERLESS got only defined with CUPS
1.6 and newer, not with older CUPS versions (Issue #111).
- pdftopdf, imagetopdf, imagetoraster: Silenced compiler
warnings.
- cups-browsed, driverless: Replaced httpConnect() calls by
httpConnect2() calls as the former CUPS library function is
deprecated.
- Build system: Compile everything using the CUPS libraries
with '-D_PPD_DEPRECATED=""' for the time being until the
deprecated PPD API calls get replaced, to stop the flooding
with PPD API deprecation warnings making more important
warnings being overlooked.
- cups-browsed: When removing a local queue on shutdown or
when DNS-SD reports the printer as disappeared check whether
the local queue got overwritten by an external process as
sometimes the shutdown or disappearing event comes too close
for cups-browsed receiving a printer-modified notification
from CUPS before (Ubuntu bug #1731417).
CHANGES IN V1.22.5
- foomatic-rip: Changed Ghostscript call to count pages in a
PDF file to use "runpdfbegin" and not the undocumented
Ghostscript internal "pdfdict", so that it works with
Ghostscript 9.27 and later
CHANGES IN V1.22.4
- cups-browsed: Fix broken trailing space removal on
"NickName"
- pdftops: Emit PostScript Level 2 instead of Level 3 for
Brother PostScript printers as at least some of them
report to support level 3 but ontly work with Level 2
- bannertopdf: When multiplying the page for N-up or Duplex
printing one page too much was generated.
CHANGES IN V1.22.3
- libcupsfilters: Added error checks for processing GIF, to
avoid crashes or hangs on broken GIF files.
- cups-browsed: Added hint to the man page and configuration
file that with "DebugLogging stderr" the logging output goes
to journal or syslog if cups-browsed is running as system
service.
CHANGES IN V1.22.2
- cups-browsed: Let distribution of jobs sent to queues with
"implicitclass" backend (usually clusters) be done by a
"job-state" CUPS notification and not by
"printer-state-changed" any more. The "job-state"
notification already contains the job ID. Before we had to
poll the job ID from CUPS via IPP which was sometimes
unreliable.
- imagetopdf, imagetoraster, pdftopdf, libcupsfilters: Added
new page scaling options: "fill" scales the input page
(typically a photo) so that the output page (typically with
different aspect ratio) gets completely filled, aloowing for
some content of the input page getting lost. "crop-to-fit"
allows for easy printing of documents on slightly different
output page sizes (A4 <-> Letter) maintaining the size and
centering and cropping into the destination page.
- cups-browsed: Do not do IPP request for printer-is-shared
option for remote cups queues with CUPS 2.2.x and newer.
- cups-browsed: Fix crash bug when reading "Cluster"
directive from configuration file.
- driverless: Updated man page as now also Mopria and
Wi-Fi Direct printers are supported. Mentioned also
ippusbxd.
CHANGES IN V1.22.1
- braille: Use sort command with LC_ALL=C for reproducibility
of the genrated files, needed for distribution packaging.
- cups-browsed, driverless: When polling the printer's
capabilities via get-printer-attributes IPP request for
driverless printing, use the attributes "all" and
"media-col-database". Without "all" some printers do not
report "urf-supported" and without "media-col-database" not
all paper size and marging info gets reported.
- braille: Document how to rework output before
embossing.
CHANGES IN V1.22.0
- pdftopdf: Use QPDF for flattening interactive PDF forms
- pdftopdf: Fixed bug of closing temporary file prematurely
when external PDF form flattening utilities fail
- pdftoopvp: More fixes for building with Poppler 0.72
- pdftoraster, pdftoijs, pdftoopvp: Removed support for
Poppler 0.18
- cups-browsed: Fixed crash in applying the BrowseFilter
cups-browsed.conf directives
CHANGES IN V1.21.6
- cups-browsed: To find out whether a DNS-SD-discovered
printer is from the local machine, use not only the flags in
the Avahi lookup result but also check the host name.
- cups-browsed: When a local CUPS queue pointing to a remote
CUPS printer was removed and re-created to make it a
permanent queue, on_printer_deleted() was triggered by
cupsd's notification to re-create a lost queue. Now
on_printer_deleted() checks whether the queue is really gone
and only re-creates then.
- cups-browsed: When updating the CUPS queues, also removed
and unregistered queues and not only created queues got
checked for HTTP timeouts, which caused crashes on shutdown.
- pdftops: Use the PS interpreter of Poppler for all Apple
LaserWriter 16/600, 4/600, 12/640, 12/600, 12/660 as they
all seem to not work with Ghostscript's PS output.
- cups-browsed: On shutdown queues got removed even if they
still had jobs
pkgsrc changes:
- Remove no more needed patch for poppler 0.71.0
- Add a reference to upstream issue regarding (temporary) opvp
disabled support
Changes:
1.21.5
------
- cups-browsed: We cannot reliably determine whether a CUPS
queue is temporary, so we apply the procedure to make a
temporary queue permanent to any unshared queue (Debian bugs
#910882, #905850, #908604).
- pdftoraster, pdftopdf, pdftoijs, pdftoopvp: Do not use the
Poppler-specific "GBool", "gFalse", "gTrue" any more, as
Poppler has switched to standard "bool", "false", "true" in
version 0.71.0 (Issue #69).
pkgsrc changes:
- Backport a patch from upstream to fix the build with poppler 0.71.0.
- Temporary disable opvp support, not yet ported to poppler 0.71.0
(Add a XXX comment as a reminder to reenable it once fixed).
- Address all test failures (now all tests pass!)
Changes:
1.21.4
------
- cups-browsed: cups-browsed: Limit the number of retries for
creating a print queue when it comes to HTTP
timeouts. Number of retries given by HttpMaxRetries
directive in cups-browsed.conf. Thanks to Zdenek Dohnal for
the patch (Pull request #73, Red Hat bug #1648697).
- cups-browsed: Read out current time right before setting the
timeouts. Thanks to Zdenek Dohnal for the patch (Pull
request #71, Red Hat bug #1648697).
- libcupsfilters: In the PPD generator for driverless IPP
printing let "*cupsManualCopies: true" lines get added to
the PPD if printing is done in a raster format as then
pdftopdf needs to generate the copies.
- pdftoraster, pdftoopvp, pdftoijs: Fix build with Poppler >=
0.70 (Issue #69, Pull request #70).
- pdftopdf: Fixed printing multiple copies on driverless IPP
printers. When printing collated copies the multiple copies
got applied twice, resulting in n*n instead of n copies
(CUPS issue #5433).
- pdftoraster, pdftoopvp, pdftoijs: Poppler removed memCheck
and gMemReport functions, remove appropriate calls (Issue
#62, Pull request #66).
pkgsrc changes:
- Add patches to avoid `%m' in printf(3) for code used as part of tests
- Add support for tests. Please note that ATM, at least on NetBSD/amd64
-current this is the result of the test suite:
PASS: testdither
FAIL: test_analyze
FAIL: test_pdf
FAIL: test_ps
PASS: test_pdf1
FAIL: test_pdf2
The failure assert(3) needs further investigation (sorry!)
Changes:
1.21.3
------
- foomatic-rip: Reset stdin after replacing the underlying file
descriptor (Issue #58).
1.21.2
------
- cups-browsed: Fixed freeing of literal string caused by
Coverity Scan issue fix (Debian bug #907399).
CHANGES IN V1.21.1
- foomatic-rip: Fixed segmentation fault caused by wrong
Coverity Scan issue fix.
- Build system: Require QPDF 8.1.0 or later as it is needed by
bannertopdf.
CHANGES IN V1.21.0
- libcupsfilters, cups-browsed, driverless, foomatic-rip,
parallel: Silenced warnings from newest gcc.
- libcupsfilters: When generating a PPD for driverless
printing on a remote IPP printer, make pdftopdf not being
run by the local queue if the remote queue is a CUPS queue
to avoid running pdftopdf twice.
- libcupsfilters, cups-browsed, driverless, bannertopdf,
foomatic-rip, pdftops, pdftoraster, rastertops,
rastertoescpx, sys5ippprinter, beh: Fixed Coverity Scan
issues.
- bannertopdf: Switched over from using Poppler to using QPDF
for generating the PDF pages. With Poppler unstable APIs
were used which were subject to change. Thanks to Sahil
Arora for this project in the Google Summer of Code 2018
- cups-browsed: Manually defined clusters ("Cluster" directive
in cups-browsed.conf) caused cups-browsed to crash.
CHANGES IN V1.20.4
- README: Added link to Issue Tracker on GitHub.
- gstoraster: Removed unneeded "if"s.
- cups-browsed: When checking whether there is already a local
print queue with the same URI as the one of the discovered
printer, consider also as equal URI if the URIs only differ
by use of IPP or IPPS and/or use of HTTPS port 443 instead
of IPP port 631.
- cups-browsed: Also upgrade from ipp: to ipps: when the ipps:
URI is on HTTPS port 443 instead of IPP port 631. This is
common on IPP network printers.
- pdftopdf: Removed support for hardware-implemented reversing
of page order in PostScript printers. It was once not
correctly implemented in cups-filters and second, such
printers are extremely rare, and on Gutenprint PPDs with
pseudo OutputOrder option hardware reversing was even
wrongly assumed.
- pdftopdf: Accept option "output-order=normal/reverse" for
reversing page order and also "page-delivery=
same-order/reverse-order".
- libcupsfilters: Let the PPD generator add "*PageStackOrder
..." lines to the choices of the "OutputBin" option, to
mark which output bins need the pages printed in reverse
order.
- libcupsfilters: Let the PPD generator correctly create a
"*DefaultOutputOrder: ..." entry, depending on whether the
paper is put out face-up or face-down in the default output
bin.
- libcupsfilters: Fixed human-readable name of the OutputBin
option in the PPD generator.
- pdftoopvp: Silence compiler warning.
- cups-browsed: If the user modifies/overwrites a print queue
created by cups-browsed, it will now not only be
automatically released from the control of cups-browsed, but
we also create a replacement for our generated local queue
under a new name.
- cups-browsed: Make URIS for using the implicitclass backend
correctly working also with queue names containing an '@'
character.
- braille: Strengthen error checking.
- braille: Index: Replace bogus characters with space.
- braille: Add print and braille page number options.
- braille: Index: Use standard duplex cups option.
- cups-browsed: Moved auto-generation of PPD file for IPP
network printers from create_remote_printer_entry()
function to update_cups_queues(). This allows re-creating
accidentally removed or overwritten local queues without
losing the PPD file.
- braille: Add option to pick hyphenation rule according to
current locale and make it the default for second
translation table.
- braille: Remove generated defs on "make clean".
- braille: Turn non-breakable spaces to spaces.
- braille: Fix character encoding when extracting text. When
extracing text from a zip file or a pdf, the resulting text
is always utf-8 independently of the original locale, so we
need to force that.
- braille: Warn when no text translation was selected in case
the user didn't notice.
- braille: Fix spurious spacing after last Form-Feed
pkgsrc changes:
- Fix an error pointed out by gcc-6.4.0 via
patches/patch-filter_pdftoopvp_OPVPOutputDev.cxx:
filter/pdftoopvp/OPVPOutputDev.cxx: In member function 'void OPVPOutputDev::doUpdateFont(GfxState*)':
filter/pdftoopvp/OPVPOutputDev.cxx:532:46: error: invalid conversion from 'const Ref*' to 'Ref*' [-fpermissive]
id = new SplashOutFontFileID(gfxFont->getID());
~~~~~~~~~~~~~~^~
filter/pdftoopvp/OPVPOutputDev.cxx:69:3: note: initializing argument 1 of 'SplashOutFontFileID::SplashOutFontFileID(Ref*)'
SplashOutFontFileID(Ref *rA) { r = *rA; substIdx = -1; }
^~~~~~~~~~~~~~~~~~~
Changes:
1.20.3
------
- braille: Do not remove read permission on cups-brf. Thanks
to Samuel Thibault for this patch (Pull request #32).
- braille: Get braille table descriptions from liblouis
metadata. Thanks to Samuel Thibault for this patch (Pull
request #31).
- braille: Select liblouis tables based on metadata before
using file names. Thanks to Samuel Thibault for this patch
(Pull request #30).
- cups-browsed: The new method of identifying remote CUPS
queues via the "printer-type" TXT record field does not work
for printers discovered by legacy CUPS broadcast (CUPS 1.5.x
or older). Now consider also printers without TXT record
(not discovered via DNS-SD) as remote CUPS queues (Issue
#34).
- gstoraster: Improved detection whether input is PostScript
or PDF by skipping over possible headers. Thanks to Rod
Schmidt (schmidtrod at q dot com) for the patch.
1.20.2
------
- cups-browsed: If the user modifies/overwrites a print queue
created by cups-browsed, it will now automatically released
from the control of cups-browsed, so the modified queue does
not get removed by cups-browsed on shutdown. (Ubuntu bug
#1731417).
- cups-browsed: The configuration setting
"CreateIPPPrinterQueues LocalOnly" suppressed also the
automatic generation of local queues for remote CUPS
printers whereas this option is only intended for physical
IPP printers.
- cups-browsed: Identify remote CUPS queues by the
"printer-type" TXT record entry and not by the
"ipp(s)://<host>/printers/<name>" URIs, there are also IPP
network printers with such URIs (HP LaserJet Professional
M1212nf MFP in Ubuntu bug #1731417).
- .gitignore: Added filter/braille/filters/brftopagedbrf
- cups-browsed, foomatic-rip: Fixed several typos. Thanks to
Didier Raboud for the patches.