- Updated
ipptoolto limit the range of supported raster resolutions for the generated test page content from 1 to 9600dpi. - Fixed a recursion issue with encoding of nested collections.
- Fixed a potential margin issue when generating A4 PCL from
ipptransform. - Fixed exporting of JSON with very large numbers.
- Fixed page header validation in
cupsRasterReadHeaderandcupsRasterWriteHeaderfor banded raster data. - Fixed potential crash bug in
cupsCheckDestSupportedfunction.
- Updated the internal implementation of
ipp_tto avoid issues on some embedded platforms (Issue #141) - Updated
httpAddrLookupto return a numeric address when the resolver returns "localhost" for a non-loopback address. - Updated
cupsFileGetConfandcupsFilePutConfto escape more characters. - Updated
cupsRasterReadHeaderto validate more of the page header values. - Updated
ippeveprinterto support custom "printer-state-reasons" keyword values (Issue #142) - Fixed a bug when the
ippFindXxxandippSetXxxfunctions were mixed (Issue #138) - Fixed error handling in the low-level TLS read/write functions.
- Added
cupsLangIsRTLAPI. - Added
cupsOAuthGetDeviceGrant,cupsOAuthGetJWKS, andcupsOAuthGetUserIdAPIs. - Added
httpGetCookieValueandhttpGetSecurityAPIs. - Added an "install" sub-command to the
cups-x509command. - Added a "--user-agent" option to the
ipptoolcommand. - Updated documentation (Issue #113)
- Updated the
cupsOAuthAPIs to support sharing of some OAuth values between the system (root) and per-user cache values. - Updated the
cupsJWTNewAPI to accept an optional JSON claims object. - Updated the
httpSetCookieAPI to support multiple "Set-Cookie:" header values. - Updated
ippfindto use thecupsGetClockAPI. - Updated
ippeveprinterto include all ready and supported attributes and values in the environment when processing a job. - Fixed
ipptransformmedia handling to preserve input document dimensions when "media" or "media-col" are not specified (Issue #102) - Fixed
cupsJSONExportfunctions with empty arrays or objects. - Fixed
httpGetDateTimefor dates in the far future (Issue #124) - Fixed input checks for
cupsCreateCredentialsandcupsCreateCredentialsRequestAPIs (Issue #125) - Fixed return values of
ippDateToTimewhen the timezone isn't GMT. - Fixed a potential timing issue with
cupsEnumDests. - Fixed a bug in the Avahi implementation of
cupsDNSSDBrowseNew. - Fixed a memory leak in
httpClose. - Fixed some Coverity-detected issues.
- Fixed support for device authorization grants.
- Added
cupsCopyCredentialsPublicKeyAPI. - Added
cupsGetClockAPI. - Added
cupsJWTLoadCredentialsAPI. - Added "client.conf" man page.
- Added
cups-oauthandcups-x509utilities (Issue #108) - Updated documentation (Issue #99)
- Updated the
ipptoolutility to support the--bearer-tokenand--client-nameoptions. - Updated
cupsOAuthGetMetadatato support Microsoft Azure/Entra OAuth servers. - Updated
ipptransformto support generation of PCLm output in addition to PWG Raster data. - Updated
cupsEnumDestsandcupsGetDeststo support printer browsing and filtering options in client.conf (Issue #106) - Fixed handling of finishings/finishings-col and media/media-col in the
ippeveprintertool (Issue #95) - Fixed a duplicate printer reporting bug in
cupsGetDests. - Fixed handling of
NULLpath incupsSaveCredentialsAPI. - Fixed handling of default authorization strings.
- Fixed validation of dateTime values with time zones more than UTC+11.
- Updated
cupsCreateCertificateRequestto store the new private key separately. - Updated
cupsSaveCredentialsto validate the input credentials, support using a saved private key fromcupsCreateCertificateRequest, and support credential removal as documented. - Updated the raster functions to report more issues via
cupsRasterGetErrorString. - Fixed a crash bug on Windows.
- Updated
httpConnectAgainto re-validate the server's X.509 certificate (Issue #90) - Updated the source tarball script to include the PDFio sources.
- Fixed handling of empty resolution values passed to
ipptool(Issue #63) - Fixed a compressed file error handling bug (Issue #91)
- Fixed the default User-Agent string sent in requests.
- Fixed a recursion issue in
ippReadIO.
- Added
cupsFormatStringandcupsFormatStringvAPIs to safely format UTF-8 strings. - Added support for per-user instances of
cups-locald(Issue #69) - Added
httpConnectURIAPI. - Added "end" argument to
cupsParseOptionsAPI. - Renamed
httpReconnecttohttpConnectAgain. - Updated
cupsDestInfoto accept acups_dest_flags_targument. - Updated
cupsCopyStringandcupsConcatStringAPIs to safely terminate UTF-8 strings. - Updated list of attributes included in the destination options.
- Updated
cupsAddIntegerOptionandcupsGetIntegerOptionto use thelongtype. - Updated
httpAddrConnect()to handlePOLLHUPtogether withPOLLINorPOLLOUT. - Updated the various tool man pages, usage output, and examples.
- Updated
ippCreateRequestedArrayfor the Get-Documents and Get-Output-Device-Attributes operations. - Updated
ipptoolto validate IPP, PDF, and .strings files using the "WITH-[ALL-]CONTENT" predicate (Issue #87) - Now use installed PDFio library, if available.
- Now use NotoSansMono font for
ipptransformtext conversions. - Brought back IPP/2.x and related conformance test files (Issue #85)
- The
ipptransformprogram now supports uncollated copies. - Fixed GNU TLS crash.
- Fixed PCL output from
ipptransform(Issue #72) - Fixed JSON output from
ipptool. - Fixed hang/crash in
cupsEnumDests/cupsGetDests(Issue #74) - Fixed encoding of IPv6 addresses in HTTP requests (Issue #78)
- Fixed encoding of
IPP_TAG_EXTENSIONvalues in IPP messages (Issue #80) - Fixed error handling when reading a mixed
1setOfattribute (Issue #83) - Fixed non-quick copy of collection values.
- Fixed error handling in
cupsConnectDest. - Fixed TLS negotiation using OpenSSL with servers that require the TLS SNI extension.
- Fixed a certificate loading issue with OpenSSL.
- Fixed cupsAreCredentialsValidForName with OpenSSL.
- Fixed how
ippeveprinterresponds to an unsupported request character set.
- Added the
ipptransformcommand to replace/upgrade theippevepclandippevepscommands (Issue #65) - Added
cupsFormDecodeandcupsFormEncodeAPIs (Issue #49) - Added
cupsJWTAPIs to support JSON Web Tokens (Issue #50, Issue #52) - Added
ippAddCredentialsStringandippCopyCredentialsStringAPIs (Issue #58) - Added
cupsCreateCredentialsRequestandcupsSignCredentialsRequestAPIs and updatedcupsCreateCredentialsAPI to better support X.509 certificates (Issue #59) - Updated the configure script to add
_FORTIFY_SOURCE=3(previous level was 2) when not using address sanitizer and when it hasn't already been added (Issue #51) - Updated the
httpAddrListenfunction to use the maximum backlog value. - Fixed ipptool limit on the size of an attribute value that would be printed (Issue #5)
- Fixed some configure script issues (Issue #48)
- Fixed JSON output bug in ipptool.
- Fixed
CUPS_DNSSD_IF_INDEX_LOCALwhen using Avahi.
- Documentation updates (Issue #32)
- Split out libcups and tools from CUPS 2.x.
- Simplified the configure script.
- Now require a C99-capable C compiler.
- Now require GNU TLS, LibreSSL, or OpenSSL.
- Now require ZLIB.
- Now require POSIX or Windows threading support.
- Now require the
pollfunction (WSAPollon Windows). - Now install with a prefix by default to allow coexistance with CUPS 2.x (Issue #21)
- Added new
GENERATE-FILEdirective foripptooltest files. - Added new
ATTR-IF-DEFINEDandATTR-IF-NOT-DEFINEDdirectives to IPP data files (Issue #3) - Added
ippFileAPI for working with IPP data files as used byipptool,ippexeprinter, and other tools (Issue #14) - Added a roll to the default color ippeveprinter printer.
- Added new DNS-SD API (Issue #19)
- Added new PWG media sizes.
- Added new
WITH-ALL-VALUES-FROMpredicate for ipptool files (Issue #20) - Added new
SAVE-ALL-CONTENT,WITH-ALL-CONTENT, andWITH-ALL-MIME-TYPESpredicates for ipptool files (Issue #22) - Added, modernized, and promoted the localization interfaces to public API (Issue #24)
- Added public JSON API (Issue #31)
- Added new
basenamevariable for use in ipptool files (Issue #44) - Updated the CUPS API for consistency.
- Fixed ipptool's handling of EXPECT for member attributes (Issue #4)
- Fixed ipptool's support for octetString values (Issue #23)
- Removed all obsolete/deprecated CUPS 2.x APIs.
- Removed (obsolete) Kerberos support.
- Removed support for SecureTransport (macOS) due to deprecation of the platform API.
- Removed support for SChannel (Windows) due to restrictions on its use in domain accounts.