Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package qpdf for openSUSE:Factory checked in 
at 2025-11-20 14:46:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/qpdf (Old)
 and      /work/SRC/openSUSE:Factory/.qpdf.new.2061 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "qpdf"

Thu Nov 20 14:46:06 2025 rev:82 rq:1318194 version:12.2.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/qpdf/qpdf.changes        2025-06-26 
14:06:08.839937188 +0200
+++ /work/SRC/openSUSE:Factory/.qpdf.new.2061/qpdf.changes      2025-11-20 
14:46:07.923605526 +0100
@@ -1,0 +2,151 @@
+Tue Sep  9 18:35:56 UTC 2025 - Enrico Belleri <[email protected]>
+
+- Enable Zopfli compression:
+  still needs the user to manually set QPDF_ZOPFLI
+- build: enable SHOW_FAILED_TEST_OUTPUT, WERROR
+- rename package htmldoc to doc and move in the PDF documentation
+- doc obsoletes htmldoc
+
+-------------------------------------------------------------------
+Wed Sep  3 10:59:55 UTC 2025 - [email protected]
+
+- version update to 12.2.0
+  12.2.0: May 4, 2025 
+  - Upcoming C++ Version Change
+    - This is expected to be the last minor release of qpdf to work
+      with C++-17. We will be switching to C++-20 for 12.3.0.
+  - Bug fixes
+    - In ``QPDF::getAllPages`` detect shared ``/Kids`` arrays to avoid stack
+      overflows in (specially constructed) damaged input files.
+    - Fix severe performance issues in ``QPDFFormFieldObjectHelper`` with some
+      (specially constructed) damaged input files.
+    - Add missing ``QPDFFormFieldObjectHelper::isChecked`` implementation.
+    - Fix bug in ``QPDFNameTreeObjectHelper`` / ``QPDFNumberTreeObjectHelper``.
+      Under certain conditions tree insertions resulted in a ``/Range`` entry
+      being written to the tree root node, which is not permitted. One of the
+      possible consequences is that some readers would not recognize
+      embedded / attached files.
+    - In ``QPDFFormFieldObjectHelper::getChoices`` return the display string
+      if an ``/Opt`` entry is a pair of export value and display string rather
+      than a single string representing both values. Previously no value was
+      returned if the entry was not a single string.
+  - Other enhancements
+    - More sanity checks have been added when files with damaged xref tables
+      are recovered in order to avoid long runtimes and large memory use.
+      Objects with with very large arrays or dictionaries (more than 5000
+      elements) and duplicate pages are ignored as they are almost certainly
+      invalid.
+12.1.0: April 6, 2025
+  - Bug fixes
+    - In ``QPDF::isLinearized`` return false if the first object in the file is
+      not a linearization parameter dictionary or its ``/L`` entry is not an
+      integer object. Previously the method returned false if the first
+      dictionary object was not a linearization parameter dictionary.
+    - Fix parsing of object streams containing objects not separated by
+      white-space. Pre-2020 editions of the PDF specification incorrectly
+      stated that white-space was required between objects. qpdf relied on this
+      when parsing object streams.
+    - Fix two object stream error/warning messages that reported the wrong
+      object id.
+    - Accept an array for ``rotate`` in qpdf job JSON since it is a
+      repeatable option.
+    - When reading an encrypted PDF with cleartext metadata, only
+      expect top-level /Metadata to be clear-text. When writing an
+      encrypted PDF with cleartext metadata, only leave top-level
+      unencrypted. qpdf has always incorrectly handled all
+      ``/Metadata`` streams as special with cleartext metadata.
+  - Library Enhancements
+   - Add function ``Pl_DCT::make_compress_config`` to return a
+      ``Pl_DCT::CompressConfig`` unique pointer to a
+      ``CompressConfig`` from a ``std::function`` for a more modern
+      configuration option.
+  - CLI Enhancements
+    - New :qpdf:ref:`--remove-structure` option to exclude the document
+      structure tree from the output PDF.
+    - New :qpdf:ref:`--jpeg-quality` option to set jpeg quality used
+      with :qpdf:ref:`--optimize-images`.
+  - Other enhancements
+    - There have been further enhancements to how files with damaged xref
+      tables are recovered.
+  - Other changes
+    - The ``QPDF::optimize`` method is believed to be not in use and has been
+      deprecated. If you are relying on it please open a ticket_.
+    - The parsing of object streams including the creation of error/warning
+      messages and object descriptions has been refactored with some
+      improvement both in runtime and memory usage.
+    - There has been some refactoring of QPDFWriter including how object
+      streams are written with some performance improvement.
+  12.0.0: March 9, 2025
+  - API breaking changes
+    - The header file ``qpdf/QPDFObject.hh`` now generates an error if
+      included. This is to prevent code that includes it from
+      accidentally working because an old version is installed
+      somewhere on the system. Instead of including that header,
+      include ``<qpdf/Constants.h>``, and replace ``QPDFObject::ot_``
+      with ``::ot_`` in your code.
+    - The deprecated ``QPDFObjectHandle::replaceOrRemoveKey`` method has been
+      removed since it was identical to ``QPDFObjectHandle::replaceKey``.
+    - The deprecated ``JSON::checkDictionaryKeySeen`` function has been 
removed.
+      If ``JSON::parse`` encounters duplicate keys the last value is silently
+      accepted instead of throwing a runtime error. This is consistent with the
+      JSON specification.
+    - The deprecated versionless overload of ``QPDFObjectHandle::getJSON`` has
+      been removed.
+    - The deprecated ``Buffer`` copy constructor and assignment operator have
+      been removed. ``Buffer`` copy operations are expensive as they always
+      involve copying the buffer content. Use ``buffer2 = buffer1.copy();`` or
+      ``Buffer buffer2{buffer1.copy()};`` to make it explicit that copying is
+      intended.
+    - ``QIntC.hh`` contained the typo ``substract`` in function names,
+      which has been fixed to ``subtract``.
+    - The protected ``QPDFObjectHelper::oh`` data member has been replaced with
+      the new accessor method ``QPDFObjectHelper::oh()``.
+    - Except for abstract classes and the exceptions listed below, 
sub-classing of
+      qpdf classes is not supported. These classes were never designed to be 
used as a
+      base class and will be made final in version 13. If you have a use case 
for
+      extending one of these classes, please open a ticket_.
+      Exceptions:
+      - ``QPDFDocumentHelper``
+      - ``QPDFObjectHelper``
+    - Upcasting to ``QPDFObjectHelper`` and ``QPDFDocumentHelper`` is not 
supported. Their
+      destructors will be made protected in version 13.
+    - Catching of logic errors thrown as the result of using an uninitialized
+      ``QPDFObjectHandle`` is not supported. In version 13 uninitialized 
object handles
+      will be treated as immutable `shared null`_ objects. Using them will no 
longer throw
+      any logic errors, but may where appropriate generate type warnings or 
exceptions.
+  - CLI breaking Changes
+    - To support the future introduction of sub-commands, the use of filenames 
without
+      extension and path element as the first argument is no longer supported, 
and the
+      result may change in the future. For example, ``qpdf check out.pdf`` 
currently
+      copies the file ``check`` to ``out.pdf`` but may in future check 
``out.pdf``.
+      Use ``qpdf ./check out.pdf`` or ``qpdf -- check out.pdf`` instead.
+  - Bug fixes
+    - In object streams, ignore objects with invalid offset. Report objects 
with invalid
+      id or offset.
+  - Library Enhancements
+    - ``QPDFObjectHandle`` supports move construction/assignment.
+      This change is invisible to most developers but may break
+      your code if you rely on specific behavior around how many
+      references to a QPDFObjectHandle's underlying object exist. You
+      would have to write code specifically to do that, so if you're not
+      sure, then you shouldn't have to worry.
+    - Most ``QPDFObjectHandle`` accessor methods are now ``const`` qualified.
+    - ``QPDFObjectHandle`` and all object helper classes are now explicitly 
convertible
+      to ``QPDFObjGen``, and therefore can be passed as parameter where a 
``QPDFObjGen``
+      is required. Redundant overloaded methods have been removed.
+    - All object helper classes are now explicitly convertible to 
``QPDFObjectHandle``.
+  - Other Changes
+    - The internal implementation of objects has been extensively refactored, 
using
+      ``std::variant`` to eliminate one level of indirection. This has saved 
one shared pointer
+      per object with some improvement both in runtime and memory usage. A new 
class
+      ``BaseHandle`` has been added as common base class of both 
``QPDFObjectHandle``
+      and ``QPDFObjectHelper`` to provide common functionality appropriate for 
all
+      object-handle-like classes such as the operator to convert to 
``QPDFObjGen``.
+      ``BaseHandle`` is an implementation detail and not directly usable by 
library users.
+    - There has been significant refactoring of how qpdf internally iterates 
over
+      arrays and dictionaries.
+    - The internal mechanism used to check object sizes for binary
+      compatibility between releases has been changed. As such, the
+      ``CHECK_SIZES`` maintainer-only build option has been removed.
+
+-------------------------------------------------------------------

Old:
----
  qpdf-11.10.1.tar.gz
  qpdf-11.10.1.tar.gz.asc

New:
----
  qpdf-12.2.0.tar.gz
  qpdf-12.2.0.tar.gz.asc

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ qpdf.spec ++++++
--- /var/tmp/diff_new_pack.exPfIN/_old  2025-11-20 14:46:09.279663052 +0100
+++ /var/tmp/diff_new_pack.exPfIN/_new  2025-11-20 14:46:09.279663052 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package qpdf
 #
-# Copyright (c) 2025 SUSE LLC
+# Copyright (c) 2025 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -16,18 +16,19 @@
 #
 
 
-%define so_version 29
+%define so_version 30
+%bcond_without zopfli
 Name:           qpdf
-Version:        11.10.1
+Version:        12.2.0
 Release:        0
 Summary:        Command-line tools and library for transforming PDF files
 License:        Apache-2.0
 Group:          Development/Libraries/C and C++
-URL:            https://qpdf.sourceforge.io/
+URL:            https://qpdf.sourceforge.io
 Source:         
https://github.com/qpdf/qpdf/releases/download/v%{version}/qpdf-%{version}.tar.gz
 Source1:        
https://github.com/qpdf/qpdf/releases/download/v%{version}/qpdf-%{version}.tar.gz.asc
 Source2:        qpdf.keyring
-BuildRequires:  cmake
+BuildRequires:  cmake >= 3.16
 BuildRequires:  fdupes
 BuildRequires:  gcc-c++
 BuildRequires:  pkgconfig
@@ -39,6 +40,9 @@
 BuildRequires:  pkgconfig(gnutls)
 BuildRequires:  pkgconfig(libjpeg)
 BuildRequires:  pkgconfig(zlib)
+%if %{with zopfli}
+BuildRequires:  cmake(Zopfli)
+%endif
 
 %description
 QPDF is a program that does structural, content-preserving
@@ -54,12 +58,13 @@
 from other PDF files or to inspect or extract information from
 existing PDF files.
 
-%package htmldoc
+%package doc
 Summary:        Documentation files for qpdf
 Group:          Documentation/HTML
 BuildArch:      noarch
+Obsoletes:      %{name}-htmldoc
 
-%description htmldoc
+%description doc
 This package contains the documentation for qpdf
 
 %package devel
@@ -87,11 +92,16 @@
 %build
 %global optflags %{optflags} -fexcess-precision=fast
 %cmake \
+  -DSHOW_FAILED_TEST_OUTPUT=ON \
+  -DWERROR=ON \
   -DBUILD_DOC=ON \
   -DBUILD_DOC_DIST=ON \
   -DBUILD_DOC_HTML=ON \
   -DBUILD_DOC_PDF=ON \
-  -DCMAKE_INSTALL_DOCDIR='${datarootdir}'share/doc/packages/%{name}
+%if %{with zopfli}
+  -DZOPFLI=ON \
+%endif
+  %{?nil}
 %cmake_build
 
 %check
@@ -99,7 +109,7 @@
 rm qpdf/qtest/specific-bugs.test
 rm qpdf/qtest/inline-images.test
 %endif
-%make_build -C build test
+%ctest
 
 %install
 %cmake_install
@@ -118,21 +128,23 @@
 
 %files
 %doc ChangeLog README-doc.txt
-%doc qpdf-manual.pdf
 %license Artistic-2.0 LICENSE.txt
-%{_bindir}/*
-%{_mandir}/man1/*
+%{_bindir}/{fix-qdf,qpdf,zlib-flate}
+%{_mandir}/man1/{fix-qdf,qpdf,zlib-flate}.1%{?ext_man}
 
-%files htmldoc
+%files doc
 %doc %{_docdir}/%{name}/html
 %doc %{_docdir}/%{name}/singlehtml
+%doc %{_docdir}/%{name}/qpdf-manual.pdf
 
 %files -n libqpdf%{so_version}
+%license Artistic-2.0 LICENSE.txt
 %{_libdir}/libqpdf.so.%{so_version}*
 
 %files devel
 %doc %{_docdir}/%{name}/examples
-%{_includedir}/*
+%license Artistic-2.0 LICENSE.txt
+%{_includedir}/%{name}/
 %{_libdir}/pkgconfig/libqpdf.pc
 %{_libdir}/libqpdf.so
 %{_libdir}/cmake/qpdf

++++++ qpdf-11.10.1.tar.gz -> qpdf-12.2.0.tar.gz ++++++
/work/SRC/openSUSE:Factory/qpdf/qpdf-11.10.1.tar.gz 
/work/SRC/openSUSE:Factory/.qpdf.new.2061/qpdf-12.2.0.tar.gz differ: char 12, 
line 1

Reply via email to