5a919e103d- version update to 11.10.1 11.10.1: February 15, 2025 Build fixes . Fix incorrect detection of zopfli. . Recognize cygwin perl as Windows when running test suite. 11.10.0: February 8, 2025 Bug fixes . Detect and break loops in the outline (bookmark) tree. . Correctly handle outline (bookmark) items where the destination is given as a dictionary with ‘/D’ entry. . When loading object streams, ignore any objects not included in the xref table. . When writing real numbers as JSON ensure they do not end in a trailing decimal point. . When QPDF::getObject, getObjectByObjGen or getObjectByID are called with a QPDFObjGen that does not exists in the xref and object tables return a direct null. . Fix handling of certain deleted objects in hybrid reference files. . Default the stream decode level to generalized. . Reject CLI flags with parameters. CLI Enhancements . The fix-qdf command now allows an output file to be specified as an optional second argument. . New --remove-metadata and --remove-info options to exclude document metadata and information from the output PDF. Library Enhancements . qpdf can now be built with zopfli support. . Add QPDFObjectHandle operator bool. . New C API function qpdf_oh_free_buffer to free malloc allocated buffers. * for other changes seePetr Gajdos2025-06-13 07:02:25 +00:00
b8b69e6768Accepting request 1284933 from devel:libraries:c_c++Ana Guerrero2025-06-12 13:51:54 +00:00
8b23c7a062No functional changes, but fix source_validator failure for the first changelog entry:Jan Engelhardt2025-06-11 20:04:34 +00:00
7e7d7a1629Accepting request 1274146 from devel:libraries:c_c++Ana Guerrero2025-05-06 14:38:20 +00:00
77c86cce69add qpdf-11.9.1-gcc15.patch from upstream to fix gcc-15 compile time errorJan Engelhardt2025-05-03 17:05:40 +00:00
4ab38eadb7Accepting request 1180732 from devel:libraries:c_c++Ana Guerrero2024-06-14 16:57:51 +00:00
a50cbbefae- update to 11.9.1: * Rewrite a recursive function to be iterative in linearization to enable more complex files to be linearized, especially on Windows. * Avoid non-standard use of std::basic_string_view.Dirk Mueller2024-06-13 15:35:04 +00:00
11b9526da2Accepting request 1153437 from home:pmonrealgonzalez:branches:devel:libraries:c_c++Jan Engelhardt2024-02-29 15:57:21 +00:00
6629e60ce1Accepting request 1140140 from devel:libraries:c_c++Ana Guerrero2024-01-21 22:07:17 +00:00
3d9292de1fAccepting request 1139461 from home:ohollmann:branches:security:tlsJan Engelhardt2024-01-20 14:37:42 +00:00
0690889155Accepting request 1135299 from devel:libraries:c_c++Ana Guerrero2023-12-28 21:55:03 +00:00
f1f0475cb0- update to 11.7.0: * Add QPDFAcroFormDocumentHelper::disableDigitalSignatures, which disables any digital signature fields, leaving their visual representations intact. The --remove-restrictions command-line argument now calls this. * Generate a more complete qpdf "man page" from the same source as qpdf --help. Fixes#1064. * Allow the syntax "--encrypt --user-password=user-password --owner-password=owner-password --bits={40,128,256}" when encrypting PDF files. This is an alternative to the syntax "--encrypt user-password owner-password {40,128,256}", which will continue to be supported. The new syntax works better with shell completion and allows creation of passwords that start with "-". * When setting a check box value, allow any value other than /Off to mean checked. This is permitted by the spec. * Fix to QPDF JSON: a floating point number that appears in scientific notation will be converted to fixed-point notation, rounded to six digits after the decimal point. * Fix to QPDF JSON: the syntax "n:/pdf-syntax" is now accepted as an alternative way to represent names. This can be used for any name (e.g. "n:/text#2fplain"), but it is necessary when the name contains binary characters. * Update code and tests so that qpdf's test suite no longer depends on the output of any specific zlib implementation. This makes it possible to get a fully passing test suite with any API-compatible zlib library. CI tests with the default zlib as well as zlib-ng (including verifying that zlib-ng is not the default), but any zlib implementation should work. Fixes #774.Dirk Mueller2023-12-27 12:05:35 +00:00
9ee67e4944Accepting request 1133444 from devel:libraries:c_c++Ana Guerrero2023-12-17 20:28:47 +00:00
ab64ce1fd2- update to 11.6.4: * Install fix: include cmake files with the dev component. * Build AppImage with an older Linux distribution to support AWS Lambda. Fixes#1086.Dirk Mueller2023-12-15 14:00:29 +00:00
fd3b8f1b34Accepting request 1121012 from devel:libraries:c_c++Ana Guerrero2023-10-31 19:25:13 +00:00
fb31e7e038- update to 11.6.3: * Tweak linearization code to better handle files between 2 GB and 4 GB in size. Fixes#1023. * Fix data loss bug: qpdf could discard a the character after an escaped octal string consisting of less than three digits. For content, this would only happen with QDF or when normalizing content. Outside of content, it could have happened in any binary string, such as /ID, if the encoding software used octal escape strings with less than three digits. This bug was introduced between 10.6.3 and 11.0.0. used as a cross reference stream in an earlier stage of the file. * CLI: breaking changes: - add fix-signedness-warning.patch (build for aarch64) * Improve diagnostics around parsing --pages command-line options - Update to version 10.0.0 than the object level. New methods include QPDF::getXRefTable(), QPDFObjectHandle::getParsedOffset(), QPDFWriter::getRenumberedObjGen(QPDFObjGen), writing process it is. security handler but use 40 bit keys with --show-encryption-key option. See - pass --enable-show-failed-test-output to configure, to see * qpdf may falsely report premature EOF when reading files that have object streams that end with scalars not followed by them from another file. - fix build with pcre 8.30 confirms it works and saves a few dozens of entries in the - Remove unicode data to make sure its not redistributed - Add qpdf-nostrip.patch: don't strip libraries * Compatibility fixes with some PDF filesDirk Mueller2023-10-29 15:55:15 +00:00
c2cd5119c0Accepting request 1116662 from devel:libraries:c_c++Ana Guerrero2023-10-11 21:54:01 +00:00
e07fbd149fAccepting request 1116653 from home:polslinux:branches:devel:libraries:c_c++Adam Majer2023-10-10 12:13:30 +00:00
308636ee1cAccepting request 1114784 from devel:libraries:c_c++Ana Guerrero2023-10-03 18:15:17 +00:00
96df71459d- Update to version 10.0.0 * Several internal optimizations * OpenSSL support as alternative crypto provider * Bug fixes * See http://qpdf.sourceforge.net/files/qpdf-manual.html#ref.release-notes for the complete changelog. - Add BR on pkgconfig(openssl) to add support for OpenSSL crypto provider and enable with --enable-crypto-openssl. - Drop BR on pkgconfig(gnutls) now that we have OpenSSL support. - Pass --disable-implicit-crypto to configure to make sure weak crypto code is disabled.
Ismail Dönmez
2020-04-06 18:33:45 +00:00
f41a628cce- Update to version 9.1.1 * fix-qdf is rewritten in C++ * Added options --is-encrypted and --requires-password for testing whether a file is encrypted or requires a password other than the supplied (or empty) password. * Added encrypt key to JSON options. With the exception of the reconstructed user password for older encryption formats, this provides the same information as --show-encryption but in a consistent, parseable format. See output of qpdf --json-help for details. * In QDF mode, be sure not to write more than one XRef stream to a file, even when --preserve-unreferenced is used. fix-qdf assumes that there is only one XRef stream, and that it appears at the end of the file. * When externalizing inline images, properly handle images whose color space is a reference to an object in the page's resource dictionary.
Ismail Dönmez
2020-01-27 08:00:25 +00:00
070efbbf96- Update to version 9.1.0 * Incorporate contribution from Masamichi Hosoda to properly handle signature dictionaries by not including them in object streams, formatting the Contents key has a hexadecimal string, and excluding the /Contents key from encryption and decryption. * Incorporate contribution from Masamichi Hosoda to provide new API calls for getting file-level information about input and output files, enabling certain operations on the files at the file level rather than the object level. New methods include QPDF::getXRefTable(), QPDFObjectHandle::getParsedOffset(), QPDFWriter::getRenumberedObjGen(QPDFObjGen), and QPDFWriter::getWrittenXRefTable(). * Support build-time and runtime selectable crypto providers. This includes the addition of new classes QPDFCryptoProvider and QPDFCryptoImpl and the recognition of the QPDF_CRYPTO_PROVIDER environment variable. Crypto providers are described in depth in Section 2.3, “Crypto Providers”. * Addition of the --show-crypto option in support of selectable crypto providers, as described in Section 2.3, “Crypto Providers”. * Allow :even or :odd to be appended to numeric ranges for specification of the even or odd pages from among the pages specified in the range. * Add BR on pkgconfig(gnutls) to add support for GnuTLS for encryption operations.
Ismail Dönmez
2019-11-17 13:55:56 +00:00
a1868efec8- Update to version 9.0.2 * Fix the name of the temporary file used by --replace-input so that it doesn't require path splitting and works with paths include directories.
Ismail Dönmez
2019-10-14 12:01:27 +00:00
f485e2c0ea- Update to version 9.0.1 * Upstream fixed bsc#1150151, removed explicit -fsigned-chars from CXXFLAGS * See included ChangeLog file for the complete changelog
Ismail Dönmez
2019-09-20 14:53:20 +00:00
990e122f00Accepting request 730146 from devel:libraries:c_c++Yuchen Lin2019-09-18 11:05:44 +00:00
53bddfb8d1Accepting request 729970 from home:mgorse:branches:devel:libraries:c_c++
Ismail Dönmez
2019-09-11 13:20:23 +00:00
80bade739d- Update to version 8.2.1 Command-line Enchancements * Add --keep-files-open=[yn] to override default determination of whether to keep files open when merging. - Update to version 8.2.0 Command-line Enhancements * Add --no-warn option to suppress issuing warning messages. If there are any conditions that would have caused warnings to be issued, the exit status is still 3. Bug fixesd and Optimizations * Performance fix: optimize page merging operation to avoid unnecessary open/close calls on files being merged. This solves a dramatic slow-down that was observed when merging certain types of files. * Optimize how memory was used for the TIFF predictor, drastically improving performance and memory usage for files containing high-resolution images compressed with Flate using the TIFF predictor. * Bug fix: end of line characters were not properly handled inside strings in some cases. * Bug fix: using --progress on very small files could cause an infinite loop. API enhancements * Add new class QPDFSystemError, derived from std::runtime_error, which is now thrown by QUtil::throw_system_error. This enables the triggering errno value to be retrieved. * Add ClosedFileInputSource::stayOpen method, enabling a ClosedFileInputSource to stay open during manually indicated periods of high activity, thus reducing the overhead of frequent open/close operations.
Ismail Dönmez
2018-08-20 08:46:21 +00:00
2905b8ad8c- Update to version 8.1.0 Usability improvements: * When splitting files, qpdf detects fonts and images that the document metadata claims are referenced from a page but are not actually referenced and omits them from the output file. * When merging multiple PDF files, qpdf no longer leaves all the files open. * The --rotate option's syntax has been extended to make the page range optional. If you specify --rotate=angle without specifying a page range, the rotation will be applied to all pages. * When merging multiple files, the --verbose option now prints information about each file as it operates on that file. * When the --progress option is specified, qpdf will print a running indicator of its best guess at how far through the writing process it is. Bug fixes:
Ismail Dönmez
2018-06-26 10:38:08 +00:00
24f499013f- Update to version 8.0.2 * Proper handling of pages with no content * Better handling of files with loops following cross reference tables
Ismail Dönmez
2018-03-07 09:13:53 +00:00