Releases: OpenPrinting/cups
v2.4.4
v2.4.3
CUPS 2.4.3 brings fix for CVE-2023-32324, several improvements and many bug fixes. CUPS now implements fallback for printers with broken firmware, which is not capable of answering to IPP request get-printer-attributes with all, media-col-database - this enables driverless support for bunch of printers which don't follow IPP Everywhere standard. Aside from the CVE fix the most important fixes are around color settings, printer application support fixes and OpenSSL support.
Detailed list of changes:
- Added a title with device uri for found network printers (Issues #402, #393)
- Added new media sizes defined by IANA (Issues #501)
- Added quirk for GoDEX label printers (Issue #440)
- Fixed
--enable-libtool-unsupported(Issue #394) - Fixed configuration on RISC-V machines (Issue #404)
- Fixed the
device_uriinvalid pointer for driverless printers with.local
hostname (Issue #419) - Fixed an OpenSSL crash bug (Issue #409)
- Fixed a potential SNMP OID value overflow issue (Issue #431)
- Fixed an OpenSSL certificate loading issue (Issue #465)
- Fixed Brazilian Portuguese translations (Issue #288)
- Fixed
cupsddefault keychain location when building with OpenSSL
(Issue #529) - Fixed default color settings for CMYK printers as well (Issue #500)
- Fixed duplicate PPD2IPP media-type names (Issue #688)
- Fixed possible heap buffer overflow in
_cups_strlcpy()(fixes CVE-2023-32324) - Fixed InputSlot heuristic for photo sizes smaller than 5x7" if there is no
media-source in the request (Issue #569) - Fixed invalid memory access during generating IPP Everywhere queue
(Issue #466) - Fixed lprm if no destination is provided (Issue #457)
- Fixed memory leaks in
create_local_bg_thread()(Issue #466) - Fixed media size tolerance in
ippeveprinter(Issue #487) - Fixed passing command name without path into
ippeveprinter(Issue #629) - Fixed saving strings file path in
printers.conf(Issue #710) - Fixed TLS certificate generation bugs (Issue #652)
ippDeleteValueswould not delete the last value (Issue #556)- Ignore some of IPP defaults if the application sends its PPD alternative
(Issue #484) - Make
Letterthe default size inippevepcl(Issue #543) - Now accessing Admin page in Web UI requires authentication (Issue #518)
- Now look for default printer on network if needed (Issue #452)
- Now we poll
media-col-databaseseparately if we fail at first (Issue #599) - Now report fax attributes and values as needed (Issue #459)
- Now localize HTTP responses using the Content-Language value (Issue #426)
- Raised file size limit for importing PPD via Web UI (Issue #433)
- Raised maximum listen backlog size to INT MAX (Issue #626)
- Update print-color-mode if the printer is modified via ColorModel PPD option
(Issue #451) - Use localhost when printing via printer application (Issue #353)
- Write defaults into /etc/cups/lpoptions if we're root (Issue #456)
Enjoy! :)
v2.4.2
CUPS 2.4.2 brings the fix for CVE-2022-26691, together with LibreSSL/OpenSSL and minimal AIX support. There are lots of bug fixes as well, feel free to check the list of changes:
- Fixed certificate strings comparison for Local authorization (CVE-2022-26691)
- The
cupsFileOpenfunction 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
lpstatcommand now reports when the scheduler is not running
(Issue #352) - Updated the man pages concerning the
-hoption (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
httpWriteResponsefunction (Issue #380) - Brought back minimal AIX support (Issue #389)
cupsGetResponsedid 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.
Enjoy the new CUPS release!
v2.4.1
CUPS 2.4.1 is the first bug fix release from 2.4.x series. Among the other bug fixes it fixes sharing default color mode to clients and several memory leaks.
Detailed list of changes:
- The default color mode now is now configurable and defaults to the printer's
reported default mode (Issue #277) - Configuration script now checks linking for -Wl,-pie flags (Issue #303)
- Fixed memory leaks - in testi18n (Issue #313), in
cups_enum_dests()
(Issue #317), in_cupsEncodeOption()andhttp_tls_upgrade()(Issue #322) - Fixed missing bracket in de/index.html (Issue #299)
- Fixed typos in configuration scripts (Issues #304, #316)
- Removed remaining legacy code for
RIP_MAX_CACHEenvironment variable
(Issue #323) - Removed deprecated directives from cupsctl and cups-files.conf (Issue #300)
- Removed
purge-jobslegacy code from CGI scripts and templates (Issue #325)
Enjoy! :)
v2.4.0
CUPS 2.4.0 is the latest stable OpenPrinting CUPS release. Among the changes from beta and release candidate the stable release adds two new configuration options for optimizing cupsd setup on servers and several other changes.
The detailed list of changes:
- Added configure option --with-idle-exit-timeout (Issue #294)$
- Added --with-systemd-timeoutstartsec configure option (Issue #298)$
- DigestOptions now are applied for MD5 Digest authentication defined$
by RFC 2069 as well (Issue #287)$ - Fixed compilation on Solaris (Issue #293)$
- Fixed and improved German translations (Issue #296, Issue #297)
Enjoy! :)
v2.4rc1
CUPS 2.4rc1 is a release candidate for OpenPrinting CUPS 2.4.0, which adds two enhancements before the stable release.
The detailed list of changes:
- Added warning and debug messages when loading printers
if the queue is raw or with driver (Issue #286) - Compilation now uses -fstack-protector-strong if available (Issue #285)
Enjoy!
v2.4b1
CUPS 2.4b1 is the beta release for OpenPrinting CUPS 2.4 which contains several new features such as basic OAuth support, support for AirPrint and Mopria clients and support for running CUPS as a snap, several deprecations (Kerberos, cups-config), removals of old deprecated directives, and many bug fixes.
The detailed list of changes:
- Added support for CUPS running in a Snapcraft snap.
- Added basic OAuth 2.0 client support (Issue #100)
- Added support for AirPrint and Mopria clients (Issue #105)
- Added configure support for specifying systemd dependencies in the CUPS
service file (Issue #144) - Added several features and improvements to
ipptool(Issue #153) - Added a JSON output mode for
ipptool. - The
ipptoolcommand now correctly reports an error when a test file cannot
be found. - CUPS library now uses thread safe
getpwnam_randgetpwuid_rfunctions (Issue #274) - Fixed Kerberos authentication for the web interface (Issue #19)
- The ZPL sample driver now supports more "standard" label sizes (Issue #70)
- Fixed reporting of printer instances when enumerating and when no options are
set for the main instance (Issue #71) - Reverted USB read limit enforcement change from CUPS 2.2.12 (Issue #72)
- The IPP backend did not return the correct status code when a job was canceled
at the printer/server (Issue #74) - The
testlangunit test program now loops over all of the available locales
by default (Issue #85) - The
cupsfiltercommand now shows error messages when options are used
incorrectly (Issue #88) - The PPD functions now treat boolean values as case-insensitive (Issue #106)
- Temporary queue names no longer end with an underscore (Issue #110)
- The USB backend now runs as root (Issue #121)
- Added pkg-config file for libcups (Issue #122)
- Fixed a PPD memory leak caused by emulator definitions (Issue #124)
- Fixed a
DISPLAYbug inipptool(Issue #139) - The scheduler now includes the
[Job N]prefix for job log messages, even
when using syslog logging (Issue #154) - Added support for locales using the GB18030 character set (Issue #159)
httpReconnect2did not reset the socket file descriptor when the TLS
negotiation failed (Apple #5907)httpUpdatedid not reset the socket file descriptor when the TLS
negotiation failed (Apple #5915)- The IPP backend now retries Validate-Job requests (Issue #132)
- Now show better error messages when a driver interface program fails to
provide a PPD file (Issue #148) - Added dark mode support to the CUPS web interface (Issue #152)
- Added a workaround for Solaris in
httpAddrConnect2(Issue #156) - Fixed an interaction between
--remote-adminand--remote-anyfor the
cupsctlcommand (Issue #158) - Now use a 60 second timeout for reading USB backchannel data (Issue #160)
- The USB backend now tries harder to find a serial number (Issue #170)
- Fixed
@IF(name)handling incupsd.conf(Apple #5918) - Fixed documentation and added examples for CUPS' limited CGI support
(Apple #5940) - Fixed the
lpccommand prompt (Apple #5946) - Now always pass "localhost" in the
Host:header when talking over a domain
socket or the loopback interface (Issue #185) - Fixed a job history update issue in the scheduler (Issue #187)
- Fixed
job-pages-per-setvalue for duplex print jobs. - Fixed an edge case in
ippReadIOto make sure that only complete attributes
and values are retained on an error (Issue #195) - Hardened
ippReadIOto prevent invalid IPP messages from being propagated
(Issue #195, Issue #196) - The scheduler now supports the "everywhere" model directly (Issue #201)
- Fixed some IPP Everywhere option mapping problems (Issue #238)
- Fixed support for "job-hold-until" with the Restart-Job operation (Issue #250)
- Fixed the default color/grayscale presets for IPP Everywhere PPDs (Issue #262)
- Fixed support for the 'offline-report' state for all USB backends (Issue #264)
- Documentation fixes (Issue #92, Issue #163, Issue #177, Issue #184)
- Localization updates (Issue #123, Issue #129, Issue #134, Issue #146,
Issue #164) - USB quirk updates (Issue #192, Issue #270, Apple #5766, Apple #5838,
Apple #5843, Apple #5867) - Web interface updates (Issue #142, Issue #218)
- The
ippeveprintertool now automatically uses an available port. - Fixed several Windows TLS and hashing issues.
- Deprecated cups-config (Issue #97)
- Deprecated Kerberos (
AuthType Negotiate) authentication (Issue #98) - Removed support for the (long deprecated and unused)
FontPath,
ListenBackLog,LPDConfigFile,KeepAliveTimeout,RIPCache, and
SMBConfigFiledirectives incupsd.confandcups-files.conf. - Stubbed out deprecated
httpMD5functions. - Add test for undefined page ranges during printing.
Enjoy!
v2.3.3op2
CUPS 2.3.3op2 is the latest OpenPrinting CUPS security and bug fix
release. Changes include:
- Security: Fixed a buffer (read) overflow in the
ippReadIOfunction
(CVE-2020-10001) - Clarified the documentation for the "Listen" directive (Issue #53)
- Fixed duplicate ColorModel entries for AirPrint printers (Issue 59)
- Fixed directory/permission defaults for Debian kfreebsd-based systems
(Issue #60, Issue #61) - Fixed crash bug in
ppdOpen(Issue #64, Issue #78) - Fixed regression in
snprintfemulation function (Issue #67) - The scheduler's systemd service file now waits for the nslcd service to start
(Issue #69) - The libusb-based USB backend now uses a simpler read timer implementation to
avoid a regression in a previous change (Issue #72) - The PPD caching code now only tracks the
APPrinterIconPathvalue on macOS
(Issue #73) - Fixed segfault in help.cgi when searching in man pages (Issue #81)
- Root certificates were incorrectly stored in "~/.cups/ssl".
Enjoy!
OpenPrinting CUPS 2.3.3op1
CUPS 2.3.3op1 is the first OpenPrinting CUPS release which fixes many bugs,
incorporates common Linux distribution changes, and provides several IPP
Everywhere improvements. Changes include:
- The automated test suite can now be activated using
make testfor
consistency with other projects and CI environments - the oldmake check
continues to work as well, and the previous test server behavior can be
accessed by runningmake testserver. - ippeveprinter now supports multiple icons and strings files.
- ippeveprinter now uses the system's FQDN with Avahi.
- ippeveprinter now supports Get-Printer-Attributes on "/".
- ippeveprinter now uses a deterministic "printer-uuid" value.
- ippeveprinter now uses system sounds on macOS for Identify-Printer.
- Updated ippfind to look for files in "~/Desktop" on Windows.
- Updated ippfind to honor
SKIP-XXXdirectives withPAUSE. - Updated IPP Everywhere support to work around printers that only advertise
color raster support but really also support grayscale (Issue #1) - ipptool now supports DNS-SD URIs like
ipps://My%20Printer._ipps._tcp.local
(Issue #5) - The scheduler now allows root backends to have world read permissions but not
world execute permissions (Issue #21) - Failures to bind IPv6 listener sockets no longer cause errors if IPv6 is
disabled on the host (Issue #25) - The SNMP backend now supports the HP and Ricoh vendor MIBs (Issue #28)
- The scheduler no longer includes a timestamp in files it writes (Issue #29)
- The systemd service names are now "cups.service" and "cups-lpd.service"
(Issue #30, Issue #31) - The scheduler no longer adds the local hostname to the ServerAlias list
(Issue #32) - Added
LogFileGroupdirective in "cups-files.conf" to control the group
owner of log files (Issue #34) - Added
--with-max-log-sizeconfigure option (Issue #35) - Added
--enable-sync-on-closeconfigure option (Issue #37) - Added
--with-error-policyconfigure option (Issue #38) - IPP Everywhere PPDs could have an "unknown" default InputSlot (Issue #44)
- The
httpAddrListenfunction now uses a listen backlog of 128. - Added USB quirks (Apple issue #5789, #5823, #5831)
- Fixed IPP Everywhere v1.1 conformance issues in ippeveprinter.
- Fixed DNS-SD name collision support in ippeveprinter.
- Fixed compiler and code analyzer warnings.
- Fixed TLS support on Windows.
- Fixed ippfind sub-type searches with Avahi.
- Fixed the default hostname used by ippeveprinter on macOS.
- Fixed resolution of local IPP-USB printers with Avahi.
- Fixed coverity issues (Issue #2)
- Fixed
httpAddrConnectissues (Issue #3) - Fixed web interface device URI issue (Issue #4)
- Fixed lp/lpr "printer/class not found" error reporting (Issue #6)
- Fixed xinetd support for LPD clients (Issue #7)
- Fixed libtool build issue (Issue #11)
- Fixed a memory leak in the scheduler (Issue #12)
- Fixed a potential integer overflow in the PPD hashing code (Issue #13)
- Fixed output-bin and print-quality handling issues (Issue #18)
- Fixed PPD options getting mapped to odd IPP values like "tray---4" (Issue #23)
- Fixed remote access to the cupsd.conf and log files (Issue #24)
- Fixed the automated test suite when running in certain build/CI environments
(Issue #25) - Fixed a logging regression caused by a previous change for Apple issue #5604
(Issue #25) - Fixed fax phone number handling with GNOME (Issue #40)
- Fixed potential rounding error in rastertopwg filter (Issue #41)
- Fixed the "uri-security-supported" value from the scheduler (Issue #42)
- Fixed IPP backend crash bug with "printer-alert" values (Issue #43)
- Removed old Solaris inetconv(1m) reference in cups-lpd man page (Issue #46)
- Fixed default options that incorrectly use the "custom" prefix (Issue #48)
- Fixed a memory leak when resolving DNS-SD URIs (Issue #49)
- Fixed systemd status reporting by adopting the notify interface (Issue #51)
- Fixed crash in rastertopwg (Apple issue #5773)
- Fixed cupsManualCopies values in IPP Everywhere PPDs (Apple issue #5807)
Enjoy!