|
|
|
|
Changelog for libqpdf29-11.9.0-1.1.i586.rpm :
* Thu Feb 29 2024 Pedro Monreal - 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 Hollmann - 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 Dirk Müller - 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 Dirk Müller - 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 Dirk Müller - 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 Paolo Stivanin - 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 ecsos - Don\'t build doc for Leap. Will break building of packages. Only build doc for Tumbleweed. * Thu Jul 13 2023 Paolo Stivanin - 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 Martin Liška - 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 Paolo Stivanin - 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 Dirk Müller - 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 J - 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 Stieger - fix build with GNU grep 3.8 (boo#1203231) add qpdf-10.6.3-grep-3.8.patch * Tue Jul 19 2022 Dirk Müller - add disable-newpdf-renderer.patch (bsc#1201642) * Sun Mar 20 2022 Dirk Müller - 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 Bjørn Lie - 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 Dirk Müller - 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 Dirk Müller - drop build-without-pdf.patch, fix-signedness-warning.patch (upstream) * Mon Jan 10 2022 Dirk Müller - add fix-signedness-warning.patch (build for aarch64) * Tue Jan 04 2022 Dirk Müller - 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 Dirk Müller - 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 Ismail Dönmez - 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 Ismail Dönmez - 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 Ismail Dönmez - 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 Ismail Dönmez - 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 Ismail Dönmez - Update to version 10.1.0 * See http://qpdf.sourceforge.net/files/qpdf-manual.html#ref.release-notes for the complete changelog.
|
|
|