Changelog for
qpdf-devel-11.9.1-150700.157.1.x86_64.rpm :
* Thu Jun 13 2024 dmuellerAATTsuse.com- 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`.
* Thu Feb 29 2024 pmonrealAATTsuse.com- Update to 11.9.0:
* CLI Enhancements - Add new command-line arguments --file and --range which can be used within --pages in place of positional arguments. Allow - -file to be used inside of --overlay and --underlay as well. These new options can be freely intermixed with positional arguments. - Allow --overlay and --underlay to be repeated. They may appear multiple times on the command-line and will be stacked in the order in which they appear. In QPDFJob JSON (see QPDFJob: a Job-Based Interface), the overlay and underlay keys may contain arrays. For compatibility, they may also contain a single dictionary.
* Library Enhancements - Add file(), range(), and password() to QPDFJob::PagesConfig as an alternative to pageSpec. - Add QPDFObjectHandle::writeJSON to write the JSON representation of the object directly to a pipeline. This is much faster than calling QPDFObjectHandle::getJSON.
* Other Enhancements - There have been non-user-visible improvements to the reliability of the JSON parser. The JSON parser has been added to fuzz testing with OSS-Fuzz.
* Remove openssl3_2-fuzz-16214.patch fixed upstream
* Wed Jan 17 2024 otto.hollmannAATTsuse.com- Temporary workaround for test fuzz-16214 (bsc#1218902)
* Add openssl3_2-fuzz-16214.patch- Update to 11.8.0:
* Bug fixes: - When flattening annotations, preserve hyperlinks and other annotations that inherently have no appearance information.
* CLI Enhancements - Introduce x in the numeric range syntax to allow exclusion of pages within a page range. See Page Ranges for details. - Support comma-separated numeric values with --collate to select different numbers of pages from different groups. - Add --set-page-labels option to completely override page labels in the output.
* Library Enhancements - Add API to support --set-page-labels: - QPDFJob::Config::setPageLabels - pdf_page_label_e enumerated type - QPDFPageLabelDocumentHelper::pageLabelDict - Improve file recovery logic to better handle files with cross-reference streams. This should enable qpdf to recover some files that it would previously have reported “unable to find trailer dictionary.”
* Wed Dec 27 2023 dmuellerAATTsuse.com- 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].
* Bug fix: with --compress-streams=n, don\'t compress object, XRef, or linearization hint streams.
* Add new C++ functions \"qpdf_c_get_qpdf\" and \"qpdf_c_wrap\" to qpdf-c.h that make it possible to write your own extern \"C\" functions in C++ that interoperate with the C API. See examples/extend-c-api for more information.
* Fri Dec 15 2023 dmuellerAATTsuse.com- 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.
* Sun Oct 29 2023 dmuellerAATTsuse.com- 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.
* Tue Oct 10 2023 infoAATTpaolostivanin.com- version update to 11.6.2:
* Bug fix: when piping stream data, don\'t call finish on failure if the failure was caused by a previous call to finish.
* Mon Oct 02 2023 pgajdosAATTsuse.com- version update to 11.6.1
* Bug fixes: - Fix a logic error introduced in 11.6.0 in the fix to copyForeignObject. The bug could result in some pages not being copied.
* Mon Sep 04 2023 pgajdosAATTsuse.com- version update to 11.6.0 - Bug fixes: - Fix corner case in the ASCII85 decoder. - Properly report warnings when ``--pages`` is used and the warnings appear in other than the primary file. - Improve ``--bash-completion`` and ``--zsh-completion`` to better support paths with spaces in them. - Move detection of random number device from compile-time to runtime to improve cross compilation. - Fix bugs around attempting to copy ``/Pages`` objects with ``copyForeignObject`` (which explicitly doesn\'t allow this).
* Tue Jul 25 2023 ecsosAATTopensuse.org- Don\'t build doc for Leap. Will break building of packages. Only build doc for Tumbleweed.
* Thu Jul 13 2023 infoAATTpaolostivanin.com- Update to 11.5.0:
* When copying the same page more than once, ensure that annotations are copied and not shared among multiple pages.
* Add new method Buffer::copy and deprecate Buffer copy constructor and assignment operator. Buffer copies are expensive and should be done explicitly.
* The source code was reformatted to 100 columns instead of 80. Numerous cosmetic changes and changes suggested by clang-tidy were made.
* Wed Jun 07 2023 pgajdosAATTsuse.com- version update to 11.4.0 CLI Enhancements
* The --optimize-images option now optimizes images inside of form XObjects. Library Enhancements
* Allow QPDFJob’s workflow to be split into a reading phase and a writing phase to allow the caller to operate on the QPDF object before it is written. This adds methods QPDFJob::createQPDF and QPDFJob::writeQPDF and corresponding C API functions qpdfjob_create_qpdf and qpdfjob_write_qpdf.
* Add QPDF::newReserved as a better alternative to QPDFObjectHandle::newReserved.
* If you add an uninitialized QPDFObjectHandle to an array, qpdf will throw a logic_error. It has always been invalid to do this, but before, it wouldn’t have been caught until later. Bug fixes
* Ignore an annotation’s appearance state when the annotation only has one appearance. This prevents qpdf’s annotation flattening logic from throwing away appearances of annotations whose annotation state is set incorrectly, as has been seen in some PDF files.
* Thu Mar 02 2023 mliskaAATTsuse.cz- Use -fexcess-precision=fast as GCC 13 changes the default for C++ compiler and without the change some tests fail on i586.
* Wed Mar 01 2023 infoAATTpaolostivanin.com- update to 11.3.0:
* When performing overlay or underlay operations, convert the original page to a form XObject instead of simply isolating its contents with q/Q operators. This prevents unbalanced q/Q operators in any of the original pages from messing up the graphics state of anything that is overlaid on top of it.
* Sat Dec 03 2022 dmuellerAATTsuse.com- update to 11.2.0:
* Move stream creation functions in the QPDF object where they belong. The ones in QPDFObjectHandle are not deprecated and will stick around.
* Add some convenience methods to QPDFTokenizer::Token for testing token types. This is part of qpdf’s lexical layer and will not be needed by most developers.
* Fix issue with missing symbols in the mingw build.
* Fix major performance bug with the OpenSSL crypto provider. This bug was causing a 6x to 12x slowdown for encrypted files when OpenSSL 3 was in use. This includes the default Windows builds distributed with the qpdf release.
* Fix obscure bug involving appended files that reuse an object number that was used as a cross reference stream in an earlier stage of the file.
* Wed Oct 12 2022 c.jAATTtuta.io- update to 11.1.1:
* Bug fixes for #778 & #789
* Code tidying and performance improvements- version 11.1.0: Build fixes- version 11.0.0:
* Replacement of PointerHolder with std::shared_ptr
* JSON output mode is now at version 2
* Performance improvements, cleanup and refactoring.
* CLI: breaking changes: The --show-encryption flag now provides encryption information even if a correct password is not supplied. Default json output version with --json has changed from 1 to 2. The --allow-weak-crypto flag is now mandatory when explicitly creating files with weak cryptographic algorithms.
* API: breaking changes: Deprecate QPDFObject.hh for removal in qpdf 12. Pipeline::write use unsigned char const
* instead of unsigned char
*. Deprecated QPDFAcroFormDocumentHelper::copyFieldsFromForeignPage. The function passed to and called by QPDFJob::doIfVerbose now takes a Pipeline& argument instead of a std::ostream& argument. Remove pre qpdf-8.4.0 encryption API methods from QPDFWriter and their corresponding C API functions. QPDFObjectHandle::warnIfPossible no longer takes an optional argument to throw an exception if there is no description. QPDF objects can no longer be copied or assigned to.
* CLI Enhancements
* Library Enhancements: A new object QPDFLogger has been added. In QPDFObjectHandle, new methods insertItemAndGetNew, appendItemAndGetNew, and replaceKeyAndGetNew. New methods eraseItemAndGetOld, replaceKeyAndGetOld, and removeKeyAndGetOld. QPDFObjectHandle::isDestroyed method. QPDFObjectHandle::getOwningQPDF method now returns a null pointer when the owning QPDF object has been destroyed. QPDFObjectHandle::getQPDF is an alternative to QPDFObjectHandle::getOwningQPDF. Add method QPDFObjectHandle::isSameObjectAs. New factory method QPDF::create() returns a std::shared_ptr
. New Pipeline methods have been added to reduce the amount of casting that is needed (write, writeCstr, writeString, operator <<) New Pipeline type Pl_OStream writes to a std::ostream. New Pipeline type Pl_String appends to a std::string. New Pipeline type Pl_Function. Methods have been added to QUtil for converting PDF timestamps and QPDFTime objects to ISO-8601 timestamps. Enhancement to JSON class. Add new functions to the C API for qpdfjob that use a qpdfjob_handle. QPDFJob::registerProgressReporter & qpdfjob_register_progress_reporter as a custom progress reporter with QPDFJob. New overloads: QPDFObjectHandle::StreamDataProvider::provideStreamData with QPDFObjGen const& instead of object ID and generation parameters. In QPDFPageObjectHelper, add a copy_if_fallback parameter to most of the page bounding box methods. Add a move constructor to the Buffer class.
* Other changes: In JSON v1 mode: \"objects\" key now reflects the repaired pages tree if \"pages\" is specified. Chapter \"Contributing to qpdf\" was added to the documentation. The qpdf source code is now formatted automatically with clang-format.- drop obsolete patches: disable-newpdf-renderer.patch qpdf-10.6.3-grep-3.8.patch
* Thu Sep 08 2022 andreas.stiegerAATTgmx.de- fix build with GNU grep 3.8 (boo#1203231) add qpdf-10.6.3-grep-3.8.patch
* Tue Jul 19 2022 dmuellerAATTsuse.com- add disable-newpdf-renderer.patch (bsc#1201642)
* Sun Mar 20 2022 dmuellerAATTsuse.com- update to 10.6.3:
* Minor internal changes to assist with building in other environments: rename internal bits.icc to qpdf/bits_functions.hh (not part of public API), enforce reordering of header files to prevent jpeglib.h from interfering with other headers, remove an unused header that was accidentally added in 10.6.0 but never referenced by any code.
* Make build work and tests work when NDEBUG is defined. This involved a few changes to some test files but no changes to any library code.
* Bug fix in JSON parser: accept \\/ in a string as valid input per JSON spec even though we don\'t translate / to \\/ on output.
* Recognize PDF strings explicitly marked as UTF-8 as allowed by the PDF 2.0 spec. Fixes #654.
* Bug fix: when generating appearance streams, the font size was substituted incorrectly from /DA if Tf was absent or the number preceding Tf was out of range. Fixes #655.
* Wed Feb 23 2022 bjorn.lieAATTgmail.com- Update to version 10.6.2:
* Recognize strings encoded as UTF-16LE as Unicode. The PDF spec only allows UTF-16BE, but most readers accept UTF16-LE as well.
* Fix a regression in command-line argument parsing to restore a previously undocumented behavior that some people were relying on.
* Fix one more problem with mapping Unicode to PDF doc encoding.- Drop fix-signedness-warning.patch for real, the patch was still present in obs.
* Mon Feb 14 2022 dmuellerAATTsuse.com- update to 10.6.1:
* All functionality previously available only from the qpdf CLI has been exposed to the library using a new QPDFJob API, which includes fluent interfaces as well as a JSON format that\'s equivalent to qpdf\'s command-line arguments.
* Many new interfaces have been added to QPDFObjectHandle and the C API to allow more convient ways querying types and accessing object values in a more type-safe fashion.
* qpdf --help has been revamped so that help is divided into categories, and help is available for each option
* The Running qpdf section of the manual has been rewritten. The manual now includes an index of command-line arguments.
* see https://qpdf.readthedocs.io/en/stable/release-notes.html
* Mon Feb 14 2022 dmuellerAATTsuse.com- drop build-without-pdf.patch, fix-signedness-warning.patch (upstream)
* Mon Jan 10 2022 dmuellerAATTsuse.com- add fix-signedness-warning.patch (build for aarch64)
* Tue Jan 04 2022 dmuellerAATTsuse.com- update to 10.5.0:
* Since qpdf version 8, using object accessor methods on an instance of ``QPDFObjectHandle`` may create warnings if the object is not of the expected type. These warnings now have an error code of ``qpdf_e_object`` instead of ``qpdf_e_damaged_pdf``. Also, comments have been added to :file:`QPDFObjectHandle.hh` to explain in more detail what the behavior is. See :ref:`object-accessors` for a more in-depth discussion.
* Add ``Pl_Buffer::getMallocBuffer()`` to initialize a buffer allocated with ``malloc()`` for better cross-language interoperability.
* Overhaul error handling for the object handle functions C API. Some rare error conditions that would previously have caused a crash are now trapped and reported, and the functions that generate them return fallback values. See comments in the ``ERROR HANDLING`` section of :file:`include/qpdf/qpdf-c.h` for details. In particular, exceptions thrown by the underlying C++ code when calling object accessors are caught and converted into errors. The errors can be checked by calling ``qpdf_has_error``. Use ``qpdf_silence_errors`` to prevent the error from being written to stderr.
* Add ``qpdf_get_last_string_length`` to the C API to get the length of the last string that was returned. This is needed to handle strings that contain embedded null characters.
* Add ``qpdf_oh_is_initialized`` and ``qpdf_oh_new_uninitialized`` to the C API to make it possible to work with uninitialized objects.
* Add ``qpdf_oh_new_object`` to the C API. This allows you to clone an object handle.
* Add ``qpdf_get_object_by_id``, ``qpdf_make_indirect_object``, and ``qpdf_replace_object``, exposing the corresponding methods in ``QPDF`` and ``QPDFObjectHandle``.- add build-without-pdf.patch to fix documentation installation- enable documentation build, enable tests, enable werror
* Fri Nov 26 2021 dmuellerAATTsuse.com- update to 10.4.0:
* From the qpdf CLI, the --allow-weak-crypto is now required to suppress a warning when explicitly creating PDF files using RC4 encryption. While qpdf will always retain the ability to read and write such files, doing so will require explicit acknowledgment moving forward. For qpdf 10.4, this change only affects the command-line tool. Starting in qpdf 11, there will be small API changes to require explicit acknowledgment in those cases as well. For additional information, see Chapter 6, Weak Cryptography.
* Fix potential bounds error when handling shell completion that could occur when given bogus input.
* Properly handle overlay/underlay on completely empty pages
* Fix crash that could occur under certain conditions when using --pages with files that had form fields.
* Make QPDF::findPage functions public.
* Add methods to Pl_Flate to be able to receive warnings on certain recoverable conditions.
* Add an extra check to the library to detect when foreign objects are inserted directly (instead of using QPDF::copyForeignObject) at the time of insertion rather than when the file is written. Catching the error sooner makes it much easier to locate the incorrect code.
* Improve diagnostics around parsing --pages command-line options
* Mon May 10 2021 ismailAATTi10z.com- Update to version 10.3.2
* See http://qpdf.sourceforge.net/files/qpdf-manual.html#ref.release-notes for the complete changelog.
* Fri Mar 12 2021 idonmezAATTsuse.com- Update to version 10.3.1
* See http://qpdf.sourceforge.net/files/qpdf-manual.html#ref.release-notes for the complete changelog.
* Fri Mar 05 2021 idonmezAATTsuse.com- Update to version 10.3.0
* See http://qpdf.sourceforge.net/files/qpdf-manual.html#ref.release-notes for the complete changelog.
* Thu Feb 25 2021 idonmezAATTsuse.com- Update to version 10.2.0
* See http://qpdf.sourceforge.net/files/qpdf-manual.html#ref.release-notes for the complete changelog.
* Tue Jan 05 2021 idonmezAATTsuse.com- Update to version 10.1.0
* See http://qpdf.sourceforge.net/files/qpdf-manual.html#ref.release-notes for the complete changelog.
* Sun Nov 22 2020 idonmezAATTsuse.com- Update to version 10.0.4
* Fix a handful of integer overflows.
* Fri Oct 30 2020 idonmezAATTsuse.com- Update to version 10.0.3
* Fixes a regression introduced in 10.0.2
* Wed Oct 28 2020 idonmezAATTsuse.com- Update to version 10.0.2
* Bug fixes and performance improvements
* See http://qpdf.sourceforge.net/files/qpdf-manual.html#ref.release-notes for a complete changelog.
* Fri Apr 10 2020 idonmezAATTsuse.com- Update to version 10.0.1
* Fixes a regression in QPDFObjectHandle::getStreamData
* Mon Apr 06 2020 idonmezAATTsuse.com- 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.
* Mon Jan 27 2020 idonmezAATTsuse.com- 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.
* Sun Nov 17 2019 idonmezAATTsuse.com- 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.
* Mon Oct 14 2019 idonmezAATTsuse.com- 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.
* Fri Sep 20 2019 idonmezAATTsuse.com- Update to version 9.0.1
* Upstream fixed bsc#1150151, removed explicit -fsigned-chars from CXXFLAGS
* See included ChangeLog file for the complete changelog
* Tue Sep 10 2019 mgorseAATTsuse.com- Add -fsigned-char to CXXFLAGS. Otherwise, tests fail on ppc64le, s390x, and aarch64 (bsc#1150151).
* Sun Sep 01 2019 idonmezAATTsuse.com- Update to version 9.0.0
* See included ChangeLog file for the complete changelog
* Mon Apr 29 2019 idonmezAATTsuse.com- Update to version 8.4.1
* See included ChangeLog file for the complete changelog
* Mon Feb 04 2019 idonmezAATTsuse.com- Update to version 8.4.0 See included ChangeLog file for the complete changelog- Drop qpdf-data-loss-fix.patch, fixed upstream.
* Mon Jan 21 2019 idonmezAATTsuse.com- Update to version 8.3.0 See included ChangeLog file for the complete changelog- Add qpdf-data-loss-fix.patch to fix https://github.com/qpdf/qpdf/issues/276
* Mon Aug 20 2018 idonmezAATTsuse.com- 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.
* Tue Jun 26 2018 idonmezAATTsuse.com- 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:
* Properly decrypt files that use revision 3 of the standard security handler but use 40 bit keys (even though revision 3 supports 128-bit keys).
* Limit depth of nested data structures to prevent crashes from certain types of malformed (malicious) PDFs.
* In “newline before endstream” mode, insert the required extra newline before the endstream at the end of object streams. Please see included ChangeLog for complete changelog including API changes.
* Wed Mar 07 2018 idonmezAATTsuse.com- Update to version 8.0.2
* Proper handling of pages with no content
* Better handling of files with loops following cross reference tables
* Mon Mar 05 2018 idonmezAATTsuse.com- Update to version 8.0.1
* Handle zlib streams with data checksum errors
* In the command line tool, allow specification of page numbers counting from the end in page ranges.
* Tue Feb 27 2018 idonmezAATTsuse.com- Update to version 8.0.0
* QPDFObjectHandle::getUTF8Val now properly treats non-Unicode strings as encoded with PDF Doc Encoding.
* Add the option --coalesce-contents can be used to combine content streams of a page whose contents are an array of streams into a single stream.
* Add function qpdf_check_pdf to the C API. This function does basic checking that is a subset of what qpdf --check performs.
* Major enhancements to the lexical layer of qpdf. For a complete list of enhancements, please refer to the ChangeLog file.
* New API for working with PDF content streams at a lexical level. The new class QPDFObjectHandle::TokenFilter allows the developer to provide token handlers.
* Mon Feb 05 2018 idonmezAATTsuse.com- Update to version 7.1.1
* Fix one linearization bug affecting files whose first /ID component is not 16 bytes long
* Fix some build issues- Add signature and keyring
* Wed Jan 24 2018 avindraAATTopensuse.org- Update to version 7.1.0
* Allow raw encryption key to be specified in libary and command line with the QPDF::setPasswordIsHexKey method and - -password-is-hex-key option. Allow encryption key to be displayed with --show-encryption-key option. See https://blog.didierstevens.com/2017/12/28/cracking-encrypted-pdfs-part-3/ for a discussion of using this for cracking encrypted PDFs. I hope that a future release of qpdf will include some additional recovery options that may also make use of this capability.
* Fix lexical error: the PDF specification allows floating point numbers to end with \".\"
* Fix link order in the build to avoid conflicts when building from source while an older version of qpdf is installed
* Add support for TIFF predictor for LZW and Flate streams. Now
* Clarify documentation around options that control parsing but not output creation. Two options: --suppress-recovery and - -ignore-xref-streams, were documented in the \"Advanced Transformation Options\" section of the manual and --help output even though they are not related to output. These are now described in a separate section called \"Advanced Parsing Options.\"
* Implement remaining PNG filters for decode. Prior versions could decode only the \"up\" filter. Now all PNG filters (sub, up, average, Paeth, optimal) are supported for decoding. The implementation of the remaining PNG filters changed the interface to the private Pl_PNGFilter class, but this class\'s header file is not in the installation, and there is no public interface to the class. Within the library, the class is never allocated on the stack; it is only ever dynamically allocated. As such, this does not actually break binary compatibility of the library. all predictor functions are supported- cleanup with spec-cleaner
* Wed Sep 20 2017 idonmezAATTsuse.com- Update to version 7.0.0
* License is now Apache-2.0
* Add new libjpeg8-devel dependency
* Improve the error message that is issued when QPDFWriter encounters a stream that can\'t be decoded. In particular, mention that the stream will be copied without filtering to avoid data loss.
* Add new methods to the C API to correspond to new additions to QPDFWriter: - qpdf_set_compress_streams - qpdf_set_decode_level - qpdf_set_preserve_unreferenced_objects - qpdf_set_newline_before_endstream
* Add support for writing PCLm files
* QPDF now supports reading and writing streams encoded with JPEG or RunLength encoding. Library API enhancements and command-line options have been added to control this behavior. See command-line options --compress-streams and --decode-level and methods QPDFWriter::setCompressStreams and QPDFWriter::setDecodeLevel.
* Page rotation is now supported and accessible from both the library and the command line.
* Fixes CVE-2017-12595 bsc#1055960, CVE-2017-9208 bsc#1040311 CVE-2017-9209 bsc#1040312, CVE-2017-9210 bsc#1040313, CVE-2017-11627 bsc#1050577, CVE-2017-11626 bsc#1050578, CVE-2017-11625 bsc#1050579, CVE-2017-11624 bsc#1050581
* Tue Nov 10 2015 idonmezAATTsuse.com- Update to version 6.0.0
* Bump shared library version since 5.2.0 broke ABI.
* Sun Nov 08 2015 idonmezAATTsuse.com- Update to version 5.2.0
* Support for deterministic /IDs for non-encrypted files. This is off by default.
* Handle more invalid xref tables
* Mon May 25 2015 idonmezAATTsuse.com- Update to version 5.1.3
* Handle object streams with more than 255 objects
* Security fixes courtesy of Google Security Team
* Properly handle pages that have no content
* Robustness fixes for invalid PDF files