Release 22.06.0:
core:
* Forms: Fix crash in forms with their own DR
* Refactor CairoFontEngine caching
* CairoOutputDev: preserve text color when drawing type 3 glyphs
* Windows: font code simplification
* Minor code improvements
cpp:
* Add missing header
utils:
* pdfattach: Assume filename is utf8 encoded
* pdftohtml: Fix type 3 font size calculation
Release 22.05.0:
core:
* Annotations: Make sure we embed fonts for the FreeText annots
* Forms: Make sure we embedd fonts as needed
* Signatures: Make sure we embed the needed fonts
* CairoOutputDev: color type 3 fonts
* fix two bugs in multiline find_text()
* code improvements
utils:
* pdftotext: added TSV mode
* HtmlOutputDev: don't use png.h
cpp:
* Use time_t for time
* Add page_transition::durationReal
qt:
* Pass leftFontSize down to `FormWidgetSignature::signDocumentWithAppearence`
Changes in CUPS v2.4.2 (26th May 2022)
--------------------------------------
- Fixed certificate strings comparison for Local authorization (CVE-2022-26691)
- The `cupsFileOpen` function no longer opens files for append in read-write
mode (Issue #291)
- The cupsd daemon removed processing temporary queue (Issue #364)
- Fixed delay in IPP backend if GNUTLS is used and endpoint doesn't confirm
closing the connection (Issue #365)
- Fixed conditional jump based on uninitialized value in cups/ppd.c (Issue #329)
- Fixed CSS related issues in CUPS Web UI (Issue #344)
- Fixed copyright in CUPS Web UI trailer template (Issue #346)
- mDNS hostname in device uri is not resolved when installaling a permanent
IPP Everywhere queue (Issues #340, #343)
- The `lpstat` command now reports when the scheduler is not running
(Issue #352)
- Updated the man pages concerning the `-h` option (Issue #357)
- Re-added LibreSSL/OpenSSL support (Issue #362)
- Updated the Solaris smf service file (Issue #368)
- Fixed a regression in lpoptions option support (Issue #370)
- The scheduler now regenerates the PPD cache information after changing the
"cupsd.conf" file (Issue #371)
- Updated the scheduler to set "auth-info-required" to "username,password" if a
backend reports it needs authentication info but doesn't set a method for
authentication (Issue #373)
- Updated the configure script to look for the OpenSSL library the old way if
pkg-config is not available (Issue #375)
- Fixed the prototype for the `httpWriteResponse` function (Issue #380)
- Brought back minimal AIX support (Issue #389)
- `cupsGetResponse` did not always set the last error.
- Fixed a number of old references to the Apple CUPS web page.
- Restored the default/generic printer icon file for the web interface.
- Removed old stylesheet classes that are no longer used by the web
interface.
As of 3.5, GNU grep changed so by default, "The message that a binary
file matches is now sent to standard error", which broke the
expectations of the configure script, which was calling grep on font
files without using -a or equivalent options. If we change to use -a,
this will break non-GNU grep implementations that don't have it, so
also universally require GNU grep for consistency/simplicity.
We should be fine here, as -a was added to GNU grep 2.4.1 back twenty
years ago and pkgsrc sets 2.5.1 as its minimum tool version if building
it itself.
(Really this package should be updated to a newer stable release branch
but I don't have time right now.)
This package switched to GPL v3 in 2009, so it's evidently been wrong
for a while in pkgsrc. There are two other main licenses specified for
documentation and fonts, too.
9.56.1
New PDF Interpreter is now enabled by default: See Changes Coming to the PDF Interpreter
libgs is now threadsafe
The PSD output devices now write ICC profiles to their output files for improved color fidelity.
Ghostscript/GhostPDL can now output Apple Raster and URF format image files: via the "appleraster" or "urf" output devices (using the cups implementation of those formats).
Version 55.0
------------
Released on 2022-05-12.
This version also includes the changes from unstable b1 version listed
below.
Bug fixes:
* Fix the vertical position and available height of absolute boxes
* Minor fixes for multi-column layout
* Don’t stop rendering SVG when CSS parsing fails
* Fix sequential footnotes that could disappear when overflowing
* Fix position of absolute boxes with right-to-left direction
* Fix relative paths for SVG files stored as data URLs
Version 55.0b1
--------------
Released on 2022-04-15.
**This version is experimental, don't use it in production. If you find bugs,
please report them!**
Dependencies:
* Python 3.7+ is now needed, Python 3.6 is not supported anymore
Features:
* Support ``word-break: break-all``
* Support column breaks
* Allow reproducible PDF generation
Bug fixes:
* Handle ``inherit`` in shorthand properties
* Space out no-repeat patterns
* Avoid invalid PDF operators when drawing SVG text
* Don’t output footnotes before their call sites
* Prevent infinite loops in multi-column layout
* Fix position of absolute boxes in right-to-left contexts
* Draw borders around absolute replaced boxes
* Fix skip stacks for columns
* Better support of nested ``text-decoration`` properties
* Fix absolute blocks in lines
* Clear adjoining margins when a container’s child doesn’t fit
Performance:
* Improve tests speed
* Improve fonts management
* Improve column layout speed
* Cache ``ch`` and ``ex`` units calculations
Version 54.3
------------
Released on 2022-04-04.
Bug fixes:
* Support position: absolute in footnotes
* Fix discarded text-align values
Version 54.2
------------
Released on 2022-02-27.
Bug fixes:
* Always store parent blocks children as lists
* Fix float rounding errors
* Ignore unknown glyphs
* Fix line break when breaks occur between a nbsp and an inline block
* Always set the child index
* Fix patterns with use tags
Version 54.1
------------
Released on 2022-01-31.
Features:
* Handle break-inside: avoid on tr tags
Bug fixes:
* Handle absolute children in running elements
* Handle invalid values in text-align
* Handle absolute flex boxes
Version 54.0
------------
Released on 2022-01-08.
This version also includes the changes from unstable b1 version listed
below.
Bug fixes:
* Always use absolute paths to get hrefs in SVG
* Fix many rendering problems of broken tables
* Fix support of fonts with SVG emojis
Version 54.0b1
--------------
Released on 2021-12-13.
**This version is experimental, don't use it in production. If you find bugs,
please report them!**
Dependencies:
* html5lib 1.1+ is now needed.
New features:
* Support footnotes, with financial support from Code & Co.
* Handle parallel flows for floats, absolutes, table-cells
* Support ``text-align-last`` and ``text-align-all`` properties
* Draw SVG and PNG emojis
* Support ``overflow-wrap: anywhere``
* Add environment variable to set DLL folder on Windows
Performance:
* Cache SVG ``use`` tags
* Encode non-JPEG images as PNGs instead of JPEG2000s
Bug fixes:
* Don’t use ``text-transform`` text for content-based uses
* Don’t serialize and parse again inline SVG files
* Correctly handle whitespaces in bookmark labels
* Fix column height with ``column-span`` content
* Fix absolutely positioned boxes in duplicated pages
* Fix ``target-counter`` attribute in flex items
* Don’t draw empty glyphs
* Don’t crash when font size is really small
Documentation:
* Fix typo
Packaging:
* The source package does not include a ``setup.py`` file anymore.
### Added
- allow standard pdf/A-4
- check requirement for max-pdfversion
- add requirement for Info dictionary
- load tagpdf-base if it exists to provide the
tagging commands.
### Fixed
- Support/firstaid for colorspace package
- Support for metadata with hyperxmp and xetex
The code has been completely reorganized. The implementation documentation is
now completely in English and uses the new class koma-script-source-doc. This
class is based on version 3 of the doc package. Partially the order of the code
has changed. Some deprecated code parts have been removed completely, others
generate long overdue warnings.
scrartcl, scrbook, scrreprt:
Non-floating environments table- und figure- are also defined.
scrlttr2, scrletter:
The internal macros \if at plength, \@newplength, \@setplength, and \@addtoplength
are not only deprecated, which has been documented since KOMA-Script 3.25 from
2018/03/30, but also warn. If you haven't already done so, you should use the
user commands \Ifplength, \newplength, \setplength, and \addtoplength instead
urgently now!
CHANGES IN V1.28.15
- pdftops: In pdftops identify old LaserJets more precisely
for working around PostScript interpreter bugs, older
printers need Poppler, newer models need Ghostscript
CHANGES IN V1.28.14
- pdftopdf: Correct the output when suppressing auto-rotation
(option "nopdfAutoRotate"). Depending on the situation pages
got cropped in the wrong orientation or de-centered.
- pdftopdf: Correct the output when the
"orientation-requested" or the "landscape" option is
supplied. Output could be de-centered,
portrait-oriented pages be wrongly cropped and division of
the output page into cells for N-up done in the wrong
orientation.
- rastertopdf: In PCLm output mode the filter failed to
generate PCLm if the printer has no
"pclm-source-resolution-default" IPP attribute.
CHANGES IN V1.28.13
- pdftopdf: Fix N-up printing when paper is taken
long-edge-first by the printer.
- pdftopdf: Fix cropping ("print-scaling=none" and
"print-scaling=fill") when paper is taken long-edge-first by
the printer.
- pdftops: Use Poppler for all Apple LaserWriter models.
CHANGES IN V1.28.12
- imagetoraster, imagetopdf: Fixed comparison of the image
size with the page size for print-scaling=auto. The image
size in pixels was compared with the page size in PostScript
points (1/72 inch).
- imagetoraster, imagetopdf: Fixed the "print-scaling=none"
(crop-to-fit) mode, also use crop-to-fit always when
requested, do not fall back to fit-to-page when the image
size differs significantly from the page size.
- libcupsfilters: Changed the default PPI resolution for
images as input files from 128 to 200.
- implicitclass: Do not check availability of "gs" and
"pdftops" executables, instead, check by the presence of
"gstoraster" and "pdftoraster" filters whether we have
configured cups-filters for Ghostscript and/or Poppler use.
- libcupsfilters: In the PPD generator for the driverless
utility and cups-browsed add "*cupsFilter2: ..." lines for
all supported driverless data formats (PDF, Apple/PWG
Raster, PCLm), and add lines for legacy data formats (PCL,
PostScript) only if no driverless formats available.
- libcupsfilters: Always use encryption for ipps. RFC7472
requires that 'ipps' must be used over HTTPS, but the
driverless utility does not enforce encryption.
- serial: Add a 10-msec sleep and at the end add a tcdrain().
For some unknown reason, every printing file need sleep a
little time to make sure the serial printer receive data is
right.
- libcupsfilters: Fix resolver functions for DNS-SD-based
URIs, to make resolve_uri() also work when DEVICE_URI env
variable is set and to make ippfind_based_uri_converter()
not re-direct stdin.
- pdftopdf: Set default for print-scaling to avoid "should
never happem" log messages and undefined behavior.
- pdftopdf: Fix orientation-requested = 0. Consider
this as "automatic selection and not as error.
- pdftopdf: Fixed all combinations of print-scaling and
number-up for printers with asymmetric margins (top !=
bottom or left != right) and for input files containing
pages with different sizes and/or orientations. Fixes
backported from 2.x branch.
- pdftopdf: Add 2% tolerance for input size larger than output
page when "print-scaling=auto" or "print-scaling=auto-fit"
is used and too large input pages should be scaled, fitting
documents not. This prevents a random-looking behavior if
input and output page size seem to be equal, but in reality
there are slight differences between size dimensions.
CHANGES IN V1.28.11
- libcupsfilters: Let PPD generator take default ColorModel
from printer.
- Braille: In vectortopdf check inkscape version to call
inkscape with the correct command line.
- Build system: Make missing DejaVuSans.ttf non-fatal in
./configure as the font is only needed for test programs,
not for actual use of cups-filters.
- libcupsfilters: In imagetoraster() fixed crash with SGray.
- cups-browsed: Naming of local queues is matched to CUPS'
current naming of temporary queues (no leading or trailing
underscores), to avoid duplicates in print dialogs which
support CUPS' temporary queues.
- libcupsfilters: Make cupsRasterParseIPPOptions() work correctly
with PPDs (Issue #436).
- libcupsfilters: Let colord_get_profile_for_device_id() not
return empty file name, to avoid error messages in CUPS
error_log.
- foomatic-rip: Debug message was wrongly sent to stdout and
not to log
Changes in CUPS v2.4.1 (27th January 2022)
------------------------------------------
- The default color mode now is now configurable and defaults to the printer's
reported default mode
- Configuration script now checks linking for -Wl,-pie flags
- Fixed memory leaks - in testi18n, in `cups_enum_dests()`,
in `_cupsEncodeOption()` and `http_tls_upgrade()`
- Fixed missing bracket in de/index.html
- Fixed typos in configuration scripts
- Removed remaining legacy code for `RIP_MAX_CACHE` environment variable
- Removed deprecated directives from cupsctl and cups-files.conf
- Removed `purge-jobs` legacy code from CGI scripts and templates
Changes in CUPS v2.4.0 (29th November 2021)
-------------------------------------------
- Added configure option --with-idle-exit-timeout
- Added --with-systemd-timeoutstartsec configure option
- DigestOptions now are applied for MD5 Digest authentication defined
by RFC 2069 as well
- Fixed compilation on Solaris
- Fixed and improved German translations
Changes in CUPS v2.4rc1 (12th November 2021)
--------------------------------------------
- Added warning and debug messages when loading printers
if the queue is raw or with driver
- Compilation now uses -fstack-protector-strong if available
Changes in CUPS v2.4b1 (27th October 2021)
------------------------------------------
- Added support for CUPS running in a Snapcraft snap.
- Added basic OAuth 2.0 client support
- Added support for AirPrint and Mopria clients
- Added configure support for specifying systemd dependencies in the CUPS
service file
- Added a JSON output mode for `ipptool`.
- The `ipptool` command now correctly reports an error when a test file cannot
be found.
- CUPS library now uses thread safe `getpwnam_r` and `getpwuid_r` functions
- Fixed Kerberos authentication for the web interface
- The ZPL sample driver now supports more "standard" label sizes
- Fixed reporting of printer instances when enumerating and when no options are
set for the main instance
- Reverted USB read limit enforcement change from CUPS 2.2.12
- The IPP backend did not return the correct status code when a job was canceled
at the printer/server
- The `testlang` unit test program now loops over all of the available locales
by default
- The `cupsfilter` command now shows error messages when options are used
incorrectly
- The PPD functions now treat boolean values as case-insensitive
- Temporary queue names no longer end with an underscore
- The USB backend now runs as root
- Added pkg-config file for libcups
- Fixed a PPD memory leak caused by emulator definitions
- Fixed a `DISPLAY` bug in `ipptool`
- The scheduler now includes the `[Job N]` prefix for job log messages, even
when using syslog logging
- Added support for locales using the GB18030 character set
- `httpReconnect2` did not reset the socket file descriptor when the TLS
negotiation failed
- `httpUpdate` did not reset the socket file descriptor when the TLS
negotiation failed
- The IPP backend now retries Validate-Job requests
- Now show better error messages when a driver interface program fails to
provide a PPD file
- Added dark mode support to the CUPS web interface
- Added a workaround for Solaris in `httpAddrConnect2`
- Fixed an interaction between `--remote-admin` and `--remote-any` for the
`cupsctl` command
- Now use a 60 second timeout for reading USB backchannel data
- The USB backend now tries harder to find a serial number
- Fixed `@IF(name)` handling in `cupsd.conf`
- Fixed documentation and added examples for CUPS' limited CGI support
- Fixed the `lpc` command prompt
- Now always pass "localhost" in the `Host:` header when talking over a domain
socket or the loopback interface
- Fixed a job history update issue in the scheduler
- Fixed `job-pages-per-set` value for duplex print jobs.
- Fixed an edge case in `ippReadIO` to make sure that only complete attributes
and values are retained on an error
- Hardened `ippReadIO` to prevent invalid IPP messages from being propagated
- The scheduler now supports the "everywhere" model directly
- Fixed some IPP Everywhere option mapping problems
- Fixed support for "job-hold-until" with the Restart-Job operation
- Fixed the default color/grayscale presets for IPP Everywhere PPDs
- Fixed support for the 'offline-report' state for all USB backends
- Documentation fixes
- Localization updates
- USB quirk updates
- Web interface updates
- The `ippeveprinter` tool now automatically uses an available port.
- Fixed several Windows TLS and hashing issues.
- Deprecated cups-config
- Deprecated Kerberos (`AuthType Negotiate`) authentication
- Removed support for the (long deprecated and unused) `FontPath`,
`ListenBackLog`, `LPDConfigFile`, `KeepAliveTimeout`, `RIPCache`, and
`SMBConfigFile` directives in `cupsd.conf` and `cups-files.conf`.
- Stubbed out deprecated `httpMD5` functions.
- Add test for undefined page ranges during printing.
Release 22.04.0:
core:
* Fix underline sometimes being drawn only partially
* Fix Adobe Reader not reading some of the contents we write correctly
* Fix code that workarounds some broken-ish files
* FoFiTrueType: Parse CFF2 fonts too
* FoFiTrueType: Support cmap types 2 and 13
* Fix a few small memory leaks
* code improvements
qt:
* Handle SaveAs named action
* Annotations: don't change the text color when changing the font
utils:
* pdftotext: print creation and modification date when using htmlmeta param
glib:
* Fix returning internal data of temporary strings
cpp:
* Fix code incompatibility with MSVC
build system:
* poppler internal library is no longer forced to static on MSVC
* Error out if iconv is not available and the cpp frontend is enabled
* Require FreeType 2.8