commit 14191296ae72398638d2a4af67d783ee120a998c
Author: Albert Astals Cid <aacid@kde.org>
Date:   Wed May 1 19:42:56 2024 +0200

    poppler 24.05.0

 CMakeLists.txt         |  2 +-
 NEWS                   | 28 ++++++++++++++++++++++++++++
 cpp/CMakeLists.txt     |  2 +-
 cpp/Doxyfile           |  2 +-
 qt5/src/CMakeLists.txt |  2 +-
 qt5/src/Doxyfile       |  2 +-
 qt6/src/CMakeLists.txt |  2 +-
 qt6/src/Doxyfile       |  2 +-
 8 files changed, 35 insertions(+), 7 deletions(-)

commit 2f11d814e54d1329985c2f60b7b6fe2d1882a9a6
Author: Albert Astals Cid <aacid@kde.org>
Date:   Tue Apr 23 14:15:24 2024 +0200

    Update (C)

 poppler/Catalog.cc | 2 +-
 poppler/PDFDoc.cc  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit fe9fe140aee72a41a2add7db7f7b0dae7cb55700
Author: Albert Astals Cid <aacid@kde.org>
Date:   Mon Apr 22 14:22:08 2024 +0200

    signing: Fix modifying the AcroForm dict when it's embedded in
    the Catalog

 poppler/Catalog.cc | 1 +
 poppler/PDFDoc.cc  | 2 ++
 2 files changed, 3 insertions(+)

commit eac1adcbc2246fd1ad22e8336d050a71cbf03804
Author: Albert Astals Cid <aacid@kde.org>
Date:   Mon Apr 22 19:32:24 2024 +0200

    Update nss to the actual release version of Ubuntu 22.04

 CMakeLists.txt               | 2 +-
 cmake/modules/FindNSS3.cmake | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit ad67d43e7786eaf364c20f76c68810ad254a994d
Author: Albert Astals Cid <aacid@kde.org>
Date:   Mon Apr 22 15:56:54 2024 +0200

    Increase android-qt images

    Allows us increasing the min freetype

 .gitlab-ci.yml | 16 ++++++++--------
 CMakeLists.txt |  2 +-
 2 files changed, 9 insertions(+), 9 deletions(-)

commit b81b2851feb114c2896ee0a441fe492500f0b3ca
Author: Albert Astals Cid <aacid@kde.org>
Date:   Mon Apr 22 15:21:09 2024 +0200

    Increase Minimum supported base to that provided by Ubuntu 22.04

 .gitlab-ci.yml               | 10 +++-------
 CMakeLists.txt               | 14 +++++++-------
 cmake/modules/FindNSS3.cmake |  2 +-
 qt5/CMakeLists.txt           |  2 +-
 utils/CMakeLists.txt         |  7 +------
 5 files changed, 13 insertions(+), 22 deletions(-)

commit 06e0b89c2f64580eaac5e09a729b52668b09c106
Author: Albert Astals Cid <aacid@kde.org>
Date:   Mon Apr 22 10:17:03 2024 +0200

    Fix crash in broken files

    oss-fuzz/57874

 poppler/Object.h | 18 +++++++++++++++++-
 poppler/XRef.cc  | 12 +++++++++++-
 poppler/XRef.h   |  4 +++-
 3 files changed, 31 insertions(+), 3 deletions(-)

commit fd98a72b6a72bb6e395ef70ae2527477496db6f5
Author: Albert Astals Cid <aacid@kde.org>
Date:   Mon Apr 22 10:53:15 2024 +0200

    Fix crash in TextStringToUtf8

    utf16ToUtf8 expects a null ended string

 poppler/UTF.cc | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

commit 103fc977d30fa6b3df8d3a018e970230e9661933
Author: Ömer Fadıl USTA <omerusta@gmail.com>
Date:   Mon Apr 22 08:56:26 2024 +0000

    Add Missing headers to fix compile problems

 CMakeLists.txt | 2 ++
 1 file changed, 2 insertions(+)

commit 87fc0028b69acd8f5679a9fe213f94d081fa28e3
Author: Albert Astals Cid <aacid@kde.org>
Date:   Mon Apr 22 10:14:27 2024 +0200

    Update (C)

 glib/poppler-form-field.cc           | 2 +-
 poppler/CryptoSignBackend.h          | 2 +-
 poppler/Form.cc                      | 2 +-
 poppler/Form.h                       | 2 +-
 poppler/GPGMECryptoSignBackend.cc    | 3 ++-
 poppler/GPGMECryptoSignBackend.h     | 3 ++-
 poppler/NSSCryptoSignBackend.cc      | 2 +-
 poppler/NSSCryptoSignBackend.h       | 2 +-
 poppler/SignatureInfo.cc             | 2 +-
 poppler/SignatureInfo.h              | 2 +-
 qt5/src/poppler-form.cc              | 2 +-
 qt5/src/poppler-form.h               | 2 +-
 qt5/tests/check_signature_basics.cpp | 2 +-
 qt6/src/poppler-form.cc              | 2 +-
 qt6/src/poppler-form.h               | 2 +-
 qt6/tests/check_signature_basics.cpp | 2 +-
 16 files changed, 18 insertions(+), 16 deletions(-)

commit d40bb7e308c9e3299e50d3e2880229cd6272587e
Author: Sune Vuorela <sune@vuorela.dk>
Date:   Sun Apr 21 17:31:19 2024 +0000

    Async api for certificate validation

 glib/poppler-form-field.cc           |  7 +--
 poppler/CryptoSignBackend.h          |  6 ++-
 poppler/Form.cc                      | 51 ++++++++++++++++---
 poppler/Form.h                       | 23 +++++++--
 poppler/GPGMECryptoSignBackend.cc    | 77 ++++++++++++++++++++++------
 poppler/GPGMECryptoSignBackend.h     |  6 ++-
 poppler/NSSCryptoSignBackend.cc      | 63 +++++++++++++++++------
 poppler/NSSCryptoSignBackend.h       |  7 ++-
 poppler/SignatureInfo.cc             | 10 ----
 poppler/SignatureInfo.h              |  3 --
 qt5/src/poppler-form.cc              | 98
 +++++++++++++++++++++++++-----------
 qt5/src/poppler-form.h               | 63 +++++++++++++++++++++--
 qt5/tests/check_signature_basics.cpp |  6 ++-
 qt5/tests/poppler-forms.cpp          |  7 ++-
 qt6/src/poppler-form.cc              | 98
 +++++++++++++++++++++++++-----------
 qt6/src/poppler-form.h               | 63 +++++++++++++++++++++--
 qt6/tests/check_signature_basics.cpp |  6 ++-
 qt6/tests/poppler-forms.cpp          |  2 +
 utils/pdfsig.cc                      | 15 +++++-
 19 files changed, 477 insertions(+), 134 deletions(-)

commit e6879d35f23e436b4fc1a55b957998a834cf1691
Author: Albert Astals Cid <aacid@kde.org>
Date:   Sun Apr 21 11:00:20 2024 +0200

    Increase version

    This way people building from master can adapt to the new API already

 CMakeLists.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 7bddce7e20ac14024ec84762668fca98a3e2c7c2
Author: Oliver Sander <oliver.sander@tu-dresden.de>
Date:   Sat Apr 20 06:46:11 2024 +0200

    Remove redundant conditional

    The condition u[i] < 0x7F was checked twice.

 utils/HtmlOutputDev.cc | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 5aa5d29c32b404cdc4c8d1a67b3b1bc8f068976d
Author: Albert Astals Cid <aacid@kde.org>
Date:   Sat Apr 20 16:46:55 2024 +0200

    Update (C)

 poppler/PageLabelInfo.cc | 1 +
 poppler/TextOutputDev.cc | 2 +-
 poppler/UTF.h            | 2 +-
 3 files changed, 3 insertions(+), 2 deletions(-)

commit 2ce8812b658e5710ad907bb5d372c64bd61b6d57
Author: Albert Astals Cid <aacid@kde.org>
Date:   Wed Apr 10 01:28:46 2024 +0200

    cpp: Fix crash extracting text and font in some files

    Issue reported and patch suggestion by Samad Koita and Aviral Agarwal

    Fixes issue #1477

 poppler/TextOutputDev.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 941666ce0c8e20087d6c006f7bc09ecd0ec84e8f
Author: Albert Astals Cid <aacid@kde.org>
Date:   Sat Apr 20 12:57:54 2024 +0200

    Fix build after rebase

 poppler/PSOutputDev.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 081352cf9fa600c68ee1bebc457cee88fed6f94d
Author: Sune Vuorela <sune@vuorela.dk>
Date:   Wed Apr 3 14:30:12 2024 +0200

    pdftops: Write compliant ps header

    According to the postscript spec, only DSC Comments are allowed in the
    header.

    %%Creator is the header for the software used to generate the
    postscript
    file, which is pdftops in this case, and not as such the generator for
    the pdf file. I've chosen to, if available, keep the pdf creator as a
    substring in the %%Creator field.

    Originates in
    https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1068307

 poppler/PSOutputDev.cc | 16 +++++++++++++---
 1 file changed, 13 insertions(+), 3 deletions(-)

commit c5684e7697a070d7ecdf4114788ae76d57ef18b2
Author: Stefan Brüns <stefan.bruens@rwth-aachen.de>
Date:   Tue Apr 9 21:02:39 2024 +0200

    Add tests for fakebold text

 qt5/tests/check_actualtext.cpp | 61
 ++++++++++++++++++++++++++++++++++++++++++
 qt6/tests/check_actualtext.cpp | 61
 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 122 insertions(+)

commit 05121ab78f8208aa3d35cf5ccf96e84092089acc
Author: Oliver Sander <oliver.sander@tu-dresden.de>
Date:   Wed Apr 17 10:23:11 2024 +0200

    Move move prependUnicodeMarker to UTF.h

    ... and rename it to prependUnicodeByteOrderMark.

    Now all unicode code has moved from GooString.h to UTF.h.

 glib/poppler-document.cc |  2 +-
 goo/GooString.cc         |  5 -----
 goo/GooString.h          |  2 --
 poppler/Annot.cc         | 12 ++++++------
 poppler/Form.cc          |  6 +++---
 poppler/UTF.h            |  6 ++++++
 6 files changed, 16 insertions(+), 17 deletions(-)

commit 1f06dca08c32ed18c3030530d98a0e30d41dd7a2
Author: Oliver Sander <oliver.sander@tu-dresden.de>
Date:   Wed Apr 17 09:23:46 2024 +0200

    Move method GooString::hasUnicodeMarkerLE to UTF.h

    ... and rename it to hasUnicodeByteOrderMarkLE.

    This allows to replace GooString by std::string in a few places.
    (In a future commit)

 cpp/poppler-private.cpp    |  2 +-
 glib/poppler-document.cc   |  2 +-
 goo/GooString.h            |  3 ---
 poppler/UTF.cc             |  2 +-
 poppler/UTF.h              | 11 ++++++++++-
 qt5/src/poppler-private.cc |  2 +-
 qt6/src/poppler-private.cc |  2 +-
 7 files changed, 15 insertions(+), 9 deletions(-)

commit 98fabb298b0e8eaef9193bbce68c99c85473a314
Author: Oliver Sander <oliver.sander@tu-dresden.de>
Date:   Mon Apr 8 07:50:40 2024 +0200

    Move method GooString::hasUnicodeMarker to UTF.h

    ... and rename it to hasUnicodeByteOrderMark.

    This allows to replace GooString by std::string in a few places.
    (In a future commit)

 cpp/poppler-private.cpp           |  4 +++-
 glib/poppler-document.cc          |  8 ++++----
 goo/GooString.h                   |  2 --
 poppler/Annot.cc                  | 23 ++++++++++++-----------
 poppler/Form.cc                   | 15 ++++++++-------
 poppler/PDFDoc.cc                 |  4 ++--
 poppler/PageLabelInfo.cc          |  4 ++--
 poppler/PageLabelInfo_p.h         |  5 +++--
 poppler/UTF.cc                    |  6 +++---
 poppler/UTF.h                     |  6 ++++++
 qt5/src/poppler-private.cc        |  5 +++--
 qt5/tests/check_pagelabelinfo.cpp |  2 +-
 qt5/tests/check_strings.cpp       |  4 +++-
 qt6/src/poppler-private.cc        |  5 +++--
 qt6/tests/check_pagelabelinfo.cpp |  2 +-
 qt6/tests/check_strings.cpp       |  3 ++-
 utils/pdfdetach.cc                |  9 +++++----
 utils/pdftohtml.cc                |  5 +++--
 18 files changed, 64 insertions(+), 48 deletions(-)

commit c60e2ce44ae1c0af902c5139a4570d36e1b602cc
Author: Albert Astals Cid <aacid@kde.org>
Date:   Wed Apr 10 01:07:52 2024 +0200

    Update (C)

 poppler/Annot.cc        | 2 +-
 poppler/Form.cc         | 2 +-
 poppler/GfxFont.cc      | 1 +
 qt5/src/poppler-page.cc | 1 +
 qt6/src/poppler-page.cc | 1 +
 5 files changed, 5 insertions(+), 2 deletions(-)

commit a4f034830da8045981523fdad9f54b545bfd529e
Author: Nicolas Fella <nicolas.fella@kdab.com>
Date:   Mon Apr 8 16:29:23 2024 +0200

    Fix text position in drawSignatureFieldText

    When centering vertically we calculate the y offset based on the
    height of the text and the annotation

    When doing that we must ignore the border width, otherwise the text
    is offset downwards

 poppler/Annot.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 750bb558f094c8f25e53f212049fa83ee8f705b9
Author: Nicolas Fella <nicolas.fella@kdab.com>
Date:   Mon Apr 8 17:10:48 2024 +0200

    Take border into account also for height when determining signature
    font size

    The border reduces the available height, so take it into account
    for the height too, not only the width

 poppler/Form.cc | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

commit 58f721067044baeee1ac56cdc679cc5e97dcbd69
Author: Stefan Brüns <stefan.bruens@rwth-aachen.de>
Date:   Sat Mar 30 19:24:12 2024 +0100

    Fix Qt text extraction for Landscape/Seascape pages

    TextOutputDev::getText expects rotated coordinates, e.g. the correct
    bounds for an A4 Landscape page are {0, 0, 842, 595}.

 qt5/src/poppler-page.cc        | 6 +++++-
 qt5/tests/check_actualtext.cpp | 1 -
 qt6/src/poppler-page.cc        | 6 +++++-
 qt6/tests/check_actualtext.cpp | 1 -
 4 files changed, 10 insertions(+), 4 deletions(-)

commit 7ecb49e8cf696e836663afa159c4ae809b3861a7
Author: Stefan Brüns <stefan.bruens@rwth-aachen.de>
Date:   Sat Mar 30 19:20:38 2024 +0100

    Cover Landscape etc in Qt Page::text tests

    Currently, the "Lanscape" with default page rectangle test fails,
    as the
    page orientation is not taken into account.

    (Seascape is also incorrect, but as the text lies inside the unrotated
    A4 cropbox rectangle (bottom left), the text is extracted.)

 qt5/tests/check_actualtext.cpp | 50
 ++++++++++++++++++++++++++++++++++++++++++
 qt6/tests/check_actualtext.cpp | 50
 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 100 insertions(+)

commit 0f1ad3e4c1e4baacaec1771af23e4706a2d25cff
Author: Stefan Brüns <stefan.bruens@rwth-aachen.de>
Date:   Sat Mar 30 14:21:24 2024 +0100

    Extend unit tests for Qt Page::text functionality

    The unit tests only covered extraction from the whole page, make sure
    the various cases for smaller selections are also covered.

 qt5/tests/check_actualtext.cpp | 35 ++++++++++++++++++++++++++++++-----
 qt6/tests/check_actualtext.cpp | 35 ++++++++++++++++++++++++++++++-----
 2 files changed, 60 insertions(+), 10 deletions(-)

commit a741a6ef9062ba3733f0cab7a6b1d55bec2b53df
Author: Nelson Benítez León <nbenitezl@gmail.com>
Date:   Sat Apr 6 21:52:05 2024 +0100

    Assume "Adobe-Identity" for character collection

    When 'CIDSystemInfo' dictionary is absent or
    has invalid content, instead of aborting the font
    because we cannot read the character collection,
    let's assume in that case character collection
    to be "Adobe-Identity".

    Fixes #1465 - Does not show text of Apple-edited PDFs

 poppler/GfxFont.cc | 22 +++++++++++++---------
 1 file changed, 13 insertions(+), 9 deletions(-)

commit bc3f42f45a15848aba686e7b493747c1a62b7c41
Author: Albert Astals Cid <aacid@kde.org>
Date:   Fri Apr 5 13:58:52 2024 +0200

    Update (C)

 goo/GooString.cc        | 2 +-
 goo/GooString.h         | 2 +-
 poppler/Form.cc         | 2 +-
 poppler/GfxFont.cc      | 2 +-
 poppler/GlobalParams.cc | 2 +-
 5 files changed, 5 insertions(+), 5 deletions(-)

commit 088d83e45c53afeb7124f741e9539a28c7240686
Author: Oliver Sander <oliver.sander@tu-dresden.de>
Date:   Thu Apr 4 11:54:22 2024 +0200

    Remove method GooString::clear

    Use std::string::clear instead.  The only difference between the two
    is that GooString::clear returns the empty string, whereas
    std::string::clear does not. But apparently this feature of
    GooString::clear was not used anywhere.

 goo/GooString.h | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

commit fbb64544e5ea25ac9b1bd25b48043d074efe9cd9
Author: Oliver Sander <oliver.sander@tu-dresden.de>
Date:   Thu Apr 4 10:06:56 2024 +0200

    Remove GooString::startsWith and GooString::endsWith

    Starting with C++20, the std::string class has methods
    starts_with and ends_with, which do the same thing.
    Use those instead.

 goo/GooString.cc        | 10 ----------
 goo/GooString.h         |  8 +++-----
 poppler/Form.cc         |  4 ++--
 poppler/GfxFont.cc      |  2 +-
 poppler/GlobalParams.cc |  6 +++---
 5 files changed, 9 insertions(+), 21 deletions(-)

commit 508affb41a197895ce6af32d2404b8c7b812a70f
Author: Albert Astals Cid <aacid@kde.org>
Date:   Wed Apr 3 22:28:36 2024 +0200

    Update (C)

 cpp/poppler-global.h | 1 +
 1 file changed, 1 insertion(+)

commit 7f62fdb0c120f5e9d4add5b8a985e145f2b7371d
Author: Albert Astals Cid <aacid@kde.org>
Date:   Sun Mar 31 17:52:28 2024 +0200

    pdfdetach: find -> starts_with

 utils/pdfdetach.cc | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit b4ac7d9af7cb5edfcfcbda035ed8b8c218ba8564
Author: LinuxUserGD <hugegameartgd@gmail.com>
Date:   Wed Apr 3 15:21:15 2024 +0200

    Change type to `std::basic_string<char16_t>`
    Deprecated `char_traits` template has been removed in LLVM 19

 cpp/poppler-global.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit ff055f872aa31a548e1d73f4ea0d9394ba39d62c
Author: Stefan Brüns <stefan.bruens@rwth-aachen.de>
Date:   Mon Apr 1 16:56:26 2024 +0200

    Regenerate pot/po files only if input has changed

    A custom target with ALL is always generated, even if the
    files/outputs
    specified with DPENDS are not changed.

    This can be solved by generating the POT files with a custom_command.
    The target triggers evaluation of the custom_command, but the
    latter will
    only be run if the dependencies have changed.

    Fixes #1479

 utils/po/CMakeLists.txt | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

commit 0aa1fe5c30a6c467c91bad8d81bd6c2f57fcb726
Author: Albert Astals Cid <aacid@kde.org>
Date:   Mon Apr 1 09:49:15 2024 +0200

    poppler 24.04.0

 CMakeLists.txt   |  4 ++--
 NEWS             | 16 ++++++++++++++++
 cpp/Doxyfile     |  2 +-
 qt5/src/Doxyfile |  2 +-
 qt6/src/Doxyfile |  2 +-
 5 files changed, 21 insertions(+), 5 deletions(-)

commit 199ccde44be1879bf5caa8bcbc050c1ef0327849
Author: Nelson Benítez León <nbenitezl@gmail.com>
Date:   Sat Mar 9 00:48:59 2024 +0000

    reset clipping path when the state is restored

    According to the specification, see NOTE 2 in
    https://opensource.adobe.com/dc-acrobat-sdk-docs/pdfstandards/PDF32000_2008.pdf#G7.3882161

    it appears that the clipping path should be reset
    when the restore (Q) operator is encountered.

    Fixes #739

 poppler/Gfx.cc | 1 +
 1 file changed, 1 insertion(+)

commit 0d5431dba10c531b6e6897e088c1c6ccec84ef55
Author: Albert Astals Cid <aacid@kde.org>
Date:   Sun Mar 31 17:50:50 2024 +0200

    CI: Update the hack to change c++ standard to 23 in the clang build

 .gitlab-ci.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit d8ae3ba659c71b4f5913ecf74d525461bb831366
Author: Albert Astals Cid <aacid@kde.org>
Date:   Sun Feb 4 14:06:00 2024 +0100

    Require C++20

    I want to use std::string::starts_with

 CMakeLists.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 1446d1fd2186e6573e737406c02a54c36fe1ad71
Author: Albert Astals Cid <aacid@kde.org>
Date:   Sun Mar 31 17:12:43 2024 +0200

    CI: Use Fedora for clazy, it's newer and built against a newer clang

 .gitlab-ci.yml             | 10 +++++++---
 poppler/FlateEncoder.cc    |  2 +-
 qt6/tests/check_search.cpp |  4 ++--
 3 files changed, 10 insertions(+), 6 deletions(-)

commit 80e0519077f74e2591d45e70801f6c3f2fe2c362
Author: Albert Astals Cid <aacid@kde.org>
Date:   Sun Mar 31 17:02:34 2024 +0200

    qt: Include less files

 qt5/tests/check_actualtext.cpp                | 2 +-
 qt5/tests/check_annotations.cpp               | 2 +-
 qt5/tests/check_attachments.cpp               | 2 +-
 qt5/tests/check_cidfontswidthsbuilder.cpp     | 2 +-
 qt5/tests/check_dateConversion.cpp            | 2 +-
 qt5/tests/check_distinguished_name_parser.cpp | 2 +-
 qt5/tests/check_fonts.cpp                     | 2 +-
 qt5/tests/check_forms.cpp                     | 2 +-
 qt5/tests/check_goostring.cpp                 | 2 +-
 qt5/tests/check_internal_outline.cpp          | 3 ++-
 qt5/tests/check_lexer.cpp                     | 2 +-
 qt5/tests/check_links.cpp                     | 2 +-
 qt5/tests/check_metadata.cpp                  | 2 +-
 qt5/tests/check_object.cpp                    | 2 +-
 qt5/tests/check_optcontent.cpp                | 2 +-
 qt5/tests/check_outline.cpp                   | 2 +-
 qt5/tests/check_overprint.cpp                 | 2 +-
 qt5/tests/check_pagelabelinfo.cpp             | 2 +-
 qt5/tests/check_pagelayout.cpp                | 2 +-
 qt5/tests/check_pagemode.cpp                  | 2 +-
 qt5/tests/check_password.cpp                  | 2 +-
 qt5/tests/check_permissions.cpp               | 2 +-
 qt5/tests/check_search.cpp                    | 2 +-
 qt5/tests/check_signature_basics.cpp          | 2 +-
 qt5/tests/check_strings.cpp                   | 2 +-
 qt5/tests/check_stroke_opacity.cpp            | 2 +-
 qt5/tests/check_utf8document.cpp              | 2 +-
 qt5/tests/check_utf_conversion.cpp            | 2 +-
 qt6/tests/check_actualtext.cpp                | 2 +-
 qt6/tests/check_annotations.cpp               | 2 +-
 qt6/tests/check_attachments.cpp               | 2 +-
 qt6/tests/check_cidfontswidthsbuilder.cpp     | 2 +-
 qt6/tests/check_dateConversion.cpp            | 2 +-
 qt6/tests/check_distinguished_name_parser.cpp | 2 +-
 qt6/tests/check_fonts.cpp                     | 2 +-
 qt6/tests/check_forms.cpp                     | 2 +-
 qt6/tests/check_goostring.cpp                 | 2 +-
 qt6/tests/check_internal_outline.cpp          | 3 ++-
 qt6/tests/check_lexer.cpp                     | 2 +-
 qt6/tests/check_links.cpp                     | 2 +-
 qt6/tests/check_metadata.cpp                  | 2 +-
 qt6/tests/check_object.cpp                    | 2 +-
 qt6/tests/check_optcontent.cpp                | 2 +-
 qt6/tests/check_outline.cpp                   | 2 +-
 qt6/tests/check_overprint.cpp                 | 2 +-
 qt6/tests/check_pagelabelinfo.cpp             | 2 +-
 qt6/tests/check_pagelayout.cpp                | 2 +-
 qt6/tests/check_pagemode.cpp                  | 2 +-
 qt6/tests/check_password.cpp                  | 2 +-
 qt6/tests/check_permissions.cpp               | 2 +-
 qt6/tests/check_search.cpp                    | 2 +-
 qt6/tests/check_signature_basics.cpp          | 2 +-
 qt6/tests/check_strings.cpp                   | 2 +-
 qt6/tests/check_stroke_opacity.cpp            | 2 +-
 qt6/tests/check_utf8document.cpp              | 2 +-
 qt6/tests/check_utf_conversion.cpp            | 2 +-
 56 files changed, 58 insertions(+), 56 deletions(-)

commit ec2427b7cb92cda6cd7bc9b1d3117552a65d518e
Author: Albert Astals Cid <aacid@kde.org>
Date:   Sun Mar 31 16:32:36 2024 +0200

    CI: Use fedora 40

 .gitlab-ci.yml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit d7e54f88c981f26b9477b2330070dccbdbbbdb55
Author: Albert Astals Cid <aacid@kde.org>
Date:   Sun Mar 31 11:42:11 2024 +0200

    Update (C)

 poppler/TextOutputDev.cc | 3 ++-
 poppler/TextOutputDev.h  | 1 +
 2 files changed, 3 insertions(+), 1 deletion(-)

commit f26b292412a9266aab46deb2ce1ffc4d016cc573
Author: Stefan Brüns <stefan.bruens@rwth-aachen.de>
Date:   Thu Mar 28 02:37:09 2024 +0100

    Reduce worst case algorithmic complexity of TextBlock::coalesce

    The old algorithm restarts the inner loop for the RHS word from the
    beginning on each match, i.e. the worst case complexity approaches
    O(N^3), while O(N^2) is obviously sufficient for a pairwise compare of
    all words. Fortunately, O(N^2) is hardly ever happening, as the
    inner N
    is limited by a) the maxBaseIdx, b) removing duplicates from the set.

    For some pathological cases this changes the runtime from minutes to
    seconds.

    See poppler#1173.

 poppler/TextOutputDev.cc | 109
 ++++++++++++++++++++++++++---------------------
 1 file changed, 60 insertions(+), 49 deletions(-)

commit 835987362d9873cf98cc3f86959910ff2107a509
Author: Stefan Brüns <stefan.bruens@rwth-aachen.de>
Date:   Sun Mar 24 00:31:52 2024 +0100

    Reduce TextWord space and allocation overhead

    Currently, the word characters are allocated as a struct of arrays,
    e.g. text and charcode are allocated separately.

    This causes some space (6 pointers, 6 malloc chunk management
    words (size_t/flags), alignment, ...) and runtime overhead (6 allocs/
    frees per word).

    Changing this to an array of struct reduces this overhead. It
    also allows
    to be more conservative with allocations, as resizing is less
    costly, i.e.
    starting with a single character allocation instead of 16. It is
    also more
    efficient, as most accesses affect multiple or all attributes, i.e.
    values in the same or neighboring CPU cache lines.

    Using a std::vector instead of separate raw arrays also reduces code
    and manual data management.

    The "charPos end index" and trailing "edge" attributes are no
    longer stored as an additional entry entry in the array, but as
    dedicated
    data members, `charPosEnd` and `edgeEnd`.

    The memory saving is most notably for short words, but even for words
    with 16 characters there are small savings, and still less allocations
    (1 + 4 allocations instead of 6. Growing is fairly cheap, as the
    CharInfo
    struct is trivially copyable.)

    See poppler#1173.

 poppler/TextOutputDev.cc | 378
 ++++++++++++++++++++++-------------------------
 poppler/TextOutputDev.h  |  42 +++---
 2 files changed, 197 insertions(+), 223 deletions(-)

commit e803b3714a44001ac1e001d948ae505b24086b66
Author: Albert Astals Cid <aacid@kde.org>
Date:   Thu Feb 8 00:36:51 2024 +0100

    Fix clang-tidy-17 "unnecessary temporary object created while calling
    emplace_back"

    Says modernize-use-emplace

    No need to pass the c, we will set it later so we can just use the
    default constructed CharCodeToUnicodeString

 poppler/CharCodeToUnicode.cc | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 9ace4f33e38fe24add87dc4e7c2a43e1441f2bec
Author: Nelson Benítez León <nbenitezl@gmail.com>
Date:   Tue Mar 12 21:37:46 2024 +0000

    Fix text search across lines between paragraphs

    This commit fixes the "across lines" text
    search feature of TextPage::findText() when
    the match happens from the last line of a
    paragraph to the first line of next paragraph.

    Includes tests for this bug.

    Fixes #1475
    Fixes https://gitlab.gnome.org/GNOME/evince/-/issues/2001

 poppler/TextOutputDev.cc   | 60
 +++++++++++++++++++++++++++-------------------
 qt5/tests/check_search.cpp |  7 ++++++
 qt6/tests/check_search.cpp |  7 ++++++
 3 files changed, 50 insertions(+), 24 deletions(-)

commit 7a435135a1bfb8c3f9f5984d88bbe5dd8977335a
Author: Nelson Benítez León <nbenitezl@gmail.com>
Date:   Sat Mar 23 12:40:07 2024 +0000

    Fix regression on issue #157

    Redo the fix for issue #157 which is about doing
    transparent selection for glyphless documents (eg.
    tesseract scanned documents) because it stopped
    working after commit 29f32a47

 poppler/TextOutputDev.cc | 26 ++++++++++++++------------
 1 file changed, 14 insertions(+), 12 deletions(-)

commit a10901554010bc5bbc0f24a8d14fdcdecc1b8367
Author: Albert Astals Cid <aacid@kde.org>
Date:   Thu Mar 28 00:05:28 2024 +0100

    Update (C)

 qt5/src/poppler-sound.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 10377f9df110aaeb8d68df4d01f049d9cc9f9c21
Author: Albert Astals Cid <aacid@kde.org>
Date:   Wed Mar 27 00:43:01 2024 +0100

    qt6: Fix crash in SoundObject::data

 qt6/src/poppler-sound.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 6a7f14bd867bc7215e1c94d27fb00c84c88a1db9
Author: Albert Astals Cid <aacid@kde.org>
Date:   Tue Mar 5 00:41:43 2024 +0100

    Revert "CI: Switch debian to testing"

    This reverts commit 9c2cf5608a21b6fb9be4e0c7918d13cd2b652c23.

 .gitlab-ci.yml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 99f5416d9bfb6a34bbc5cbcb368e258b98fd3f08
Author: Josep M. Ferrer <txemaq@gmail.com>
Date:   Fri Mar 1 15:09:08 2024 +0100

    pdfsig: Catalan translation

 utils/po/ca/CMakeLists.txt |  4 ++++
 utils/po/ca/pdfsig.po      | 26 ++++++++++++++++++++++++++
 2 files changed, 30 insertions(+)

commit 9c2cf5608a21b6fb9be4e0c7918d13cd2b652c23
Author: Albert Astals Cid <aacid@kde.org>
Date:   Sun Mar 3 18:39:00 2024 +0100

    CI: Switch debian to testing

    unstable is broken at the moment

 .gitlab-ci.yml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 481ee336d15bdf6b2b6084dddcd1617b032d2cd5
Author: Albert Astals Cid <aacid@kde.org>
Date:   Sun Mar 3 12:16:11 2024 +0100

    poppler 24.03.0

 CMakeLists.txt   |  4 ++--
 NEWS             | 12 ++++++++++++
 cpp/Doxyfile     |  2 +-
 qt5/src/Doxyfile |  2 +-
 qt6/src/Doxyfile |  2 +-
 5 files changed, 17 insertions(+), 5 deletions(-)

commit 23a3e5144e9fe5329b99b26879856e9ca3db769d
Author: Albert Astals Cid <aacid@kde.org>
Date:   Sun Mar 3 15:36:15 2024 +0100

    Fix srcdir=builddir build

    cmake will create folders which so we need to ignore those

 utils/po/CMakeLists.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 840fc7637d93d40e09c7792086c96ba94811fb1f
Author: Albert Astals Cid <aacid@kde.org>
Date:   Fri Mar 1 10:27:55 2024 +0100

    Fix translations on non glibc platforms

 utils/CMakeLists.txt | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

commit 0ad01ca51e6b6e061ba85db5b906dfc299dba8e1
Author: Albert Astals Cid <aacid@kde.org>
Date:   Thu Feb 22 09:19:57 2024 +0100

    Update (C)

 poppler/XRef.cc | 1 +
 1 file changed, 1 insertion(+)

commit a9266633d203432234ab2dab621f61374eed2d66
Author: Nelson Benítez León <nbenitezl@gmail.com>
Date:   Wed Feb 21 19:56:46 2024 +0000

    Fix regression on encrypted files being repaired

    Some encrypted files which need repairing (see
    links below) failed to open due to a regression
    introduced in commit b3e86dbdba where an 'if
    condition' was added that's hit by encrypted files
    which need repairing.

    The removal of this 'if condition' does not affect
    the original buggy file that commit b3e86dbdba
    targeted[1].

    This commit also adds Qt5 and Qt6 tests for opening
    an encrypted pdf file affected by this issue.

    Fixes #1447
    Fixes https://gitlab.gnome.org/GNOME/evince/-/issues/1889

    Regression issue:
    https://bugs.freedesktop.org/show_bug.cgi?id=14303

    [1] which can be found in this duplicate:
    https://bugs.freedesktop.org/show_bug.cgi?id=14399

 poppler/XRef.cc              |  2 +-
 qt5/tests/check_password.cpp | 13 +++++++++++++
 qt6/tests/check_password.cpp | 10 ++++++++++
 3 files changed, 24 insertions(+), 1 deletion(-)

commit 87fab6144828cf52fbefb484ef7024c06ceaf6b1
Author: Albert Astals Cid <aacid@kde.org>
Date:   Thu Feb 22 00:23:16 2024 +0100

    Update (C)

 poppler/Gfx.cc             | 2 +-
 poppler/SplashOutputDev.cc | 2 +-
 poppler/Stream.cc          | 2 +-
 splash/Splash.cc           | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

commit 3d8dac5ec9f1cdedada07c4c2fc02e43d5e14f9e
Author: Even Rouault <even.rouault@spatialys.com>
Date:   Tue Feb 20 20:44:04 2024 +0100

    Gfx::doImage(): avoid integer overflow if width * height > INT_MAX

    Related to https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=66523

 poppler/Gfx.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 8d66d756dad4fbde0cd1b8b0f1ce8b08caa7a19d
Author: Even Rouault <even.rouault@spatialys.com>
Date:   Tue Feb 20 20:43:11 2024 +0100

    SplashOutputDev::drawImageMask(): early break if getLine() fails

    Related to https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=66523

 poppler/SplashOutputDev.cc | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit 6a4d5323efd9651ab2ee5a0f921bdeb55fa61b0b
Author: Even Rouault <even.rouault@spatialys.com>
Date:   Tue Feb 20 20:42:28 2024 +0100

    ImageStream::getLine(): check that imgLine is not null

    Related to https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=66523

 poppler/Stream.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 30acc0bbd2c773b2709aa9138e94729439fb3025
Author: Even Rouault <even.rouault@spatialys.com>
Date:   Tue Feb 20 20:41:51 2024 +0100

    Splash.cpp scaleXXXX() functions: use gmalloc[n]_checkoverflow to
    avoid abort() on large memory allocations

    Related to https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=66523

 splash/Splash.cc | 151
 ++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 file changed, 132 insertions(+), 19 deletions(-)

commit 1c7c2bae76d684bc4c8cd27f203b76009f49a848
Author: Even Rouault <even.rouault@spatialys.com>
Date:   Tue Feb 20 21:14:50 2024 +0100

    Fix read-heap-buffer-overflow in Splash::blitTransparent() in
    splashModeMono8 case

    Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=64471

    ```
    $ utils/pdftoppm
    clusterfuzz-testcase-minimized-gdal_fuzzer-6127122829410304
    [...]
    =================================================================
    ==1758602==ERROR: AddressSanitizer: heap-buffer-overflow on
    address 0x602000024cd5 at pc 0x7fd5850e977d bp 0x7ffe0e007430 sp
    0x7ffe0e007428
    READ of size 1 at 0x602000024cd5 thread T0
        #0 0x7fd5850e977c in Splash::blitTransparent(SplashBitmap*,
        int, int, int, int, int, int)
        /home/even/poppler/splash/Splash.cc:5778:24
        #1 0x7fd58505e19d in
        SplashOutputDev::beginTransparencyGroup(GfxState*,
        double const*, GfxColorSpace*, bool, bool, bool)
        /home/even/poppler/poppler/SplashOutputDev.cc:3998:17
        #2 0x7fd5850451c3 in
        SplashOutputDev::setSoftMaskFromImageMask(GfxState*,
        Object*, Stream*, int, int, bool, bool, double*)
        /home/even/poppler/poppler/SplashOutputDev.cc:2692:5
        #3 0x7fd584c3f6a7 in Gfx::doPatternImageMask(Object*, Stream*,
        int, int, bool, bool) /home/even/poppler/poppler/Gfx.cc:1964:10
        #4 0x7fd584c5cc26 in Gfx::doImage(Object*, Stream*, bool)
        /home/even/poppler/poppler/Gfx.cc:4304:17
        #5 0x7fd584c1827a in Gfx::opBeginImage(Object*, int)
        /home/even/poppler/poppler/Gfx.cc:4900:9
        #6 0x7fd584c32abe in Gfx::execOp(Object*, Object*, int)
        /home/even/poppler/poppler/Gfx.cc:811:5
        #7 0x7fd584c316ef in Gfx::go(bool)
        /home/even/poppler/poppler/Gfx.cc:686:13
        #8 0x7fd584c30f76 in Gfx::display(Object*, bool)
        /home/even/poppler/poppler/Gfx.cc:647:5
        #9 0x7fd58506713d in SplashOutputDev::tilingPatternFill(GfxState*,
        Gfx*, Catalog*, GfxTilingPattern*, double
        const*, int, int, int, int, double, double)
        /home/even/poppler/poppler/SplashOutputDev.cc:4424:10
