commit 6dd9782d8391f112ef9743ba13614f1d858ce9f2
Author: Albert Astals Cid <aacid@kde.org>
Date:   Sun May 4 19:14:49 2025 +0200

    poppler 25.05.0

 CMakeLists.txt   |  6 +++---
 NEWS             | 13 +++++++++++++
 cpp/Doxyfile     |  2 +-
 qt5/src/Doxyfile |  2 +-
 qt6/src/Doxyfile |  2 +-
 5 files changed, 19 insertions(+), 6 deletions(-)

commit d589f1b08405db28cd7f2902ee74c71f7d80d9b6
Author: Albert Astals Cid <aacid@kde.org>
Date:   Fri May 2 23:57:09 2025 +0200

    Update (C)

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

commit 4c6acf846c615c73144816308ce43a56d577ef9e
Author: Albert Astals Cid <aacid@kde.org>
Date:   Thu May 1 00:56:15 2025 +0200

    Update (C)

 glib/demo/signature.c | 1 +
 1 file changed, 1 insertion(+)

commit ee3d4f0cdc2a75abfcc91b3aa3614b84d533b380
Author: Marco Trevisan <mail@3v1n0.net>
Date:   Wed Apr 30 22:50:48 2025 +0000

    glib/poppler-document: Copy the signing data during verification

    Signature verification data is passed to a thread and not stolen from
    the caller (as it's transfer-none and const), so we're supposed to
    copy it when passed to the thread and free'd at thread return time.

 glib/demo/signature.c    | 1 +
 glib/poppler-document.cc | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

commit d70fc94f7003bf3c3c08091f9c978def6732fdcd
Author: Albert Astals Cid <aacid@kde.org>
Date:   Thu May 1 00:29:50 2025 +0200

    Update (C)

 glib/poppler-document.cc                    | 1 +
 glib/poppler-input-stream.cc                | 1 +
 glib/poppler-input-stream.h                 | 1 +
 poppler/Lexer.h                             | 1 +
 poppler/Page.cc                             | 2 +-
 poppler/Parser.h                            | 1 +
 qt5/src/poppler-qiodeviceinstream-private.h | 1 +
 qt5/src/poppler-qiodeviceinstream.cc        | 1 +
 qt6/src/poppler-qiodeviceinstream-private.h | 1 +
 qt6/src/poppler-qiodeviceinstream.cc        | 1 +
 10 files changed, 10 insertions(+), 1 deletion(-)

commit c3b2c097ac0a38db0671bd4d78a917d5b9892da4
Author: Marco Trevisan <mail@3v1n0.net>
Date:   Wed Apr 30 22:36:27 2025 +0000

    glib/poppler-document: Do not crash if required signature data
    parameters are unset and support text-less signatures

    It's perfectly legal to sign without a visible text signature as
    `pdfsig` does, but the GLib bindings didn't allow it or they crashed
    when some optional parameter were provided.

    So:

    * Do not crash if signature text left data is unset
    * Do not require a signature text at all
    * Throw an error if the partial name is unset (instead of crashing)
    * Throw an error if the destination filename is unset (instead
    of crashing)

 glib/poppler-document.cc | 41 ++++++++++++++++++++++++++++++-----------
 1 file changed, 30 insertions(+), 11 deletions(-)

commit ec2e01af4524fefe7e86fba32c2f39714fd32bf9
Author: Sune Vuorela <sune@vuorela.dk>
Date:   Wed Apr 30 07:17:57 2025 +0000

    Object takes ownership of stream. Document it in code

 glib/poppler-input-stream.cc                |  4 ++--
 glib/poppler-input-stream.h                 |  2 +-
 poppler/Annot.cc                            | 14 +++++++-------
 poppler/AnnotStampImageHelper.cc            |  4 ++--
 poppler/FileSpec.cc                         |  5 ++---
 poppler/GlobalParamsWin.cc                  |  2 +-
 poppler/Hints.cc                            |  4 ++--
 poppler/Lexer.cc                            |  4 ++--
 poppler/Lexer.h                             |  2 +-
 poppler/Object.h                            |  6 ++++--
 poppler/PDFDoc.cc                           |  4 ++--
 poppler/Parser.cc                           |  6 +++---
 poppler/Parser.h                            |  2 +-
 poppler/Stream.cc                           | 10 +++++-----
 poppler/Stream.h                            | 12 ++++++------
 poppler/XRef.cc                             | 26
 +++++++++++++++-----------
 qt5/src/poppler-qiodeviceinstream-private.h |  2 +-
 qt5/src/poppler-qiodeviceinstream.cc        |  4 ++--
 qt5/tests/check_lexer.cpp                   |  4 ++--
 qt6/src/poppler-qiodeviceinstream-private.h |  2 +-
 qt6/src/poppler-qiodeviceinstream.cc        |  4 ++--
 qt6/tests/check_lexer.cpp                   |  4 ++--
 22 files changed, 66 insertions(+), 61 deletions(-)

commit 27ad1af7fae4909e270d7ae59bcdcb3789b7b3e0
Author: Nelson Benítez León <nbenitezl@gmail.com>
Date:   Tue Jan 14 02:46:09 2025 +0000

    Fix drawing checkbox fields without a DA entry

    Spec says DA entry is required "to all fields
    containing variable text" but it seems checkbox
    fields are de-facto not considered as such.

    Handle that in AnnotAppearanceBuilder::drawText()

    Fixes #1055 (when used together with the fix in #642)

 poppler/Annot.cc | 9 +++++++++
 1 file changed, 9 insertions(+)

commit b6474b3f748138b8edcdc3f48ad9121ea709019f
Author: Nelson Benítez León <nbenitezl@gmail.com>
Date:   Sun Jan 12 00:22:44 2025 +0000

    Handle when /AP /N is a Ref to Dict of named streams

    When the Normal Appearance Stream (/AP -> /N) is a Ref,
    we previously assumed it could only be a Ref to Stream,
    but it can also be a Ref to Dict of named streams, so we
    need to add that logic in AnnotAppearance::getAppearanceStream()

    Fixes checkbox field in below referenced issue.

    Fixes #1558

 poppler/Annot.cc | 5 +++++
 1 file changed, 5 insertions(+)

commit 70fc778a38a93d7b45d59b027e5928a33c19e3fd
Author: Nelson Benítez León <nbenitezl@gmail.com>
Date:   Sun Jan 12 00:19:55 2025 +0000

    Fix setting the AnnotWidget of standalone fields

    When loading standalone Formfields, we were wrongly
    creating new AnnotWidgets to fill its FormWidget member,
    whereas we just needed to set it to the own AnnotWidget
    that contains the standalone field.

    That meant that when clicking on standalone checkbox
    fields we were really clicking on AnnotWidgets that
    were not the ones used for drawing the page.

    With this fix those checkboxes now work ok.

    Fixes #642
    Improves #1055

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

commit 3cfd340a751ff02f505b18b2b0b52202b46830e9
Author: Nelson Benítez León <nbenitezl@gmail.com>
Date:   Fri Apr 25 15:28:20 2025 +0100

    CairoFontEngine: remove unused code

    Spotted by Anton Thomasson

 poppler/CairoFontEngine.cc | 2 --
 1 file changed, 2 deletions(-)

commit 5149590a58f325e71d811bdecc4b8cc26a3189fd
Author: Nelson Benítez León <nbenitezl@gmail.com>
Date:   Fri Apr 25 15:23:01 2025 +0100

    CairoFontEngine: invalidate broken embedded fonts

    When unable to create a font face from data read
    from gfxFont->readEmbFontFile() it means such
    data is broken (errors are also printed to console)
    so mark such gfxFont as containing INVALID embedded
    data, otherwise it will end up being use to draw
    text and failed at that, like shown in issue #1453

    SplashOutputDev (which does not exhibit this bug)
    does a similar thing in SplashOutputDev::doUpdateFont()

    Fixes #1453

 poppler/CairoFontEngine.cc | 3 +++
 1 file changed, 3 insertions(+)

commit 5e54d95c6d569bfa048544fbc05be99399c66430
Author: Albert Astals Cid <aacid@kde.org>
Date:   Sat Apr 26 13:09:05 2025 +0200

    Update (C)

 poppler/Array.cc | 1 +
 poppler/Dict.cc  | 1 +
 2 files changed, 2 insertions(+)

commit 5c79deb3dcc6c11f438a43957ce2f551b73728f3
Author: Sune Vuorela <sune@vuorela.dk>
Date:   Fri Apr 25 15:18:11 2025 +0200

    Use named constructors for empty objects

    null, eof and error objects are the only ones where we actually
    need to
    create them completely empty. Do them with named constructors and move
    the empty-object-with-type to private section to avoid creating
    them by
    accident

 cpp/poppler-document.cpp     |  4 ++--
 glib/poppler-document.cc     | 12 ++++++------
 poppler/Annot.cc             | 18 +++++++++---------
 poppler/Array.cc             |  6 +++---
 poppler/Catalog.cc           |  2 +-
 poppler/CurlPDFDocBuilder.cc |  2 +-
 poppler/Dict.cc              | 10 +++++-----
 poppler/FDPDFDocBuilder.cc   |  2 +-
 poppler/Form.cc              |  4 ++--
 poppler/Gfx.cc               | 12 ++++++------
 poppler/GfxFont.cc           |  4 ++--
 poppler/GlobalParamsWin.cc   |  2 +-
 poppler/Hints.cc             |  6 +++---
 poppler/Lexer.cc             | 14 +++++++-------
 poppler/Linearization.cc     |  2 +-
 poppler/Object.h             | 31 +++++++++++++++++--------------
 poppler/PDFDoc.cc            |  8 ++++----
 poppler/PSOutputDev.cc       |  2 +-
 poppler/Parser.cc            |  8 ++++----
 poppler/XRef.cc              | 33 ++++++++++++++++++---------------
 qt5/src/poppler-private.h    |  4 ++--
 qt5/tests/check_lexer.cpp    |  2 +-
 qt6/src/poppler-private.h    |  4 ++--
 qt6/tests/check_lexer.cpp    |  2 +-
 24 files changed, 100 insertions(+), 94 deletions(-)

commit 2228a610c149f696afa8bfdd9e18a81cecfba0c4
Author: Albert Astals Cid <aacid@kde.org>
Date:   Fri Apr 25 16:03:39 2025 +0200

    CI: Debian has gnupg 2.4 now

 .gitlab-ci.yml            |  3 +--
 do-the-gnupg-2.4-dance.sh | 51
 -----------------------------------------------
 2 files changed, 1 insertion(+), 53 deletions(-)

commit 080adb815e8cdecccdf574d84816788e50218f50
Author: Albert Astals Cid <aacid@kde.org>
Date:   Fri Mar 7 23:32:44 2025 +0100

    CI: Fedora 42

 .gitlab-ci.yml | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

commit 95b077dbd2458e5eae95752072f0991979175721
Author: Albert Astals Cid <aacid@kde.org>
Date:   Sun Apr 13 01:13:14 2025 +0200

    Update (C)

 splash/Splash.cc             | 2 +-
 splash/SplashXPath.cc        | 1 +
 splash/SplashXPath.h         | 1 +
 splash/SplashXPathScanner.cc | 2 +-
 splash/SplashXPathScanner.h  | 2 +-
 5 files changed, 5 insertions(+), 3 deletions(-)

commit b98c5b15851ccaef35b14ad344ad0e3bdc6ce627
Author: Stefan Brüns <stefan.bruens@rwth-aachen.de>
Date:   Wed Feb 5 22:59:32 2025 +0100

    [SplashXPath] Reuse auxiliary curve point arrays

    Allocate the data on first use, reuse it for all curved segments of
    a path, and discard it afterwards.

    CCBUG: #1555

 splash/SplashXPath.cc | 15 ++++++++-------
 splash/SplashXPath.h  | 10 ++++++++++
 2 files changed, 18 insertions(+), 7 deletions(-)

commit 4a3b26dbec940ed0418b513d874fdcaeb2aab6ad
Author: Stefan Brüns <stefan.bruens@rwth-aachen.de>
Date:   Wed Feb 5 22:55:58 2025 +0100

    [SplashXPath] Reserve space for segments

 splash/SplashXPath.cc | 3 +++
 1 file changed, 3 insertions(+)

commit 795984a2bf472722ec8034d7c17e3503c83ea740
Author: Stefan Brüns <stefan.bruens@rwth-aachen.de>
Date:   Wed Feb 5 17:35:43 2025 +0100

    [SplashPath] Reserve segments before flattening/stroking

    For longer paths, reallocation can take up a significant amount
    of time.
    A fairly good estimate can be made from the input path length.

    For flattening, twice the input length is used to accomodate for added
    curve segments.

    For stroking, each segment create two new segments, (at least) two
    segments for the path caps, and some segments for each rounded
    line joins.

    CCBUG: #1555

 splash/Splash.cc | 6 ++++++
 1 file changed, 6 insertions(+)

commit e66ea9310a4aae0d39a4acdf01b05b9f6278b6ba
Author: Stefan Brüns <stefan.bruens@rwth-aachen.de>
Date:   Tue Feb 4 22:54:21 2025 +0100

    [SplashXPathScanner] Some more variable scope cleanup

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

commit 5e96deb799df8bc852841683b688969f26271ed6
Author: Stefan Brüns <stefan.bruens@rwth-aachen.de>
Date:   Mon Feb 3 21:58:57 2025 +0100

    [SplashXPathScanner] Remove unused return value in addIntersection

    CCBUG: #1555

 splash/SplashXPathScanner.cc | 16 ++++------------
 splash/SplashXPathScanner.h  |  2 +-
 2 files changed, 5 insertions(+), 13 deletions(-)

commit 71f5f49ff35e80fcd6e6a355076153ddc438871b
Author: Stefan Brüns <stefan.bruens@rwth-aachen.de>
Date:   Wed Feb 5 21:39:34 2025 +0100

    [Splash] Reduce required work for path pruning

    For long path, quite some amount of work is spent if the bounding box
    of all points intersects with the clipping rectangle, and if there
    is some intersection the path is processed further.

    For this check, it is often sufficient to only check one, or two
    points.
    Only if both points are outside (which is often false) the remaining
    points should be checked.

    CCBUG: #1555

 splash/Splash.cc | 103
 ++++++++++++++++++++++++++++++++++---------------------
 1 file changed, 63 insertions(+), 40 deletions(-)

commit 92e228a54641d11a5b69e593d4d34ccc14827d0f
Author: Albert Astals Cid <aacid@kde.org>
Date:   Wed Apr 9 23:03:29 2025 +0200

    CI: Also build with non default options

 .gitlab-ci.yml | 3 +++
 1 file changed, 3 insertions(+)

commit fef9e7134334d2f666c3be15f2783f3a70fd305b
Author: Albert Astals Cid <aacid@kde.org>
Date:   Wed Apr 9 22:56:23 2025 +0200

    Fix signature of FlateStream::getPSFilter

 poppler/FlateStream.cc | 17 +++++++++--------
 poppler/FlateStream.h  |  2 +-
 2 files changed, 10 insertions(+), 9 deletions(-)

commit aa5519d2e1e2cb00640e109e59db220e927a6836
Author: Albert Astals Cid <aacid@kde.org>
Date:   Tue Apr 8 01:29:38 2025 +0200

    Fix re-fetching after xref reconstruction

    Fixes #1584

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

commit 2a3135888b6079f0a9fd6410ff65351482087b50
Author: Albert Astals Cid <aacid@kde.org>
Date:   Wed Apr 2 00:33:13 2025 +0200

    Increase version so people that track master can add ifdefs on version

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

commit a0f064e8393d0f9dc62d630f08d2c961b37c5a27
Author: Albert Astals Cid <aacid@kde.org>
Date:   Wed Apr 2 00:26:27 2025 +0200

    poppler 25.04.0

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

commit f1b9c830f145a0042e853d6462b2f9ca4016c669
Author: Juraj Šarinay <juraj@sarinay.com>
Date:   Thu Mar 6 02:02:56 2025 +0100

    Properly verify adbe.pkcs7.sha1 signatures.

    For signatures with non-empty encapsulated content
    (typically adbe.pkcs7.sha1), we only compared hash values and
    never actually checked SignatureValue within SignerInfo.
    The bug introduced by c7c0207b1cfe49a4353d6cda93dbebef4508138f
    made trivial signature forgeries possible. Fix this by calling
    NSS_CMSSignerInfo_Verify() after the hash values compare equal.

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

commit 6756ae00544e7370e2f5c4d153c28450d768fd41
Author: Albert Astals Cid <aacid@kde.org>
Date:   Mon Mar 31 20:22:35 2025 +0200

    Update (C)

 cpp/poppler-document.cpp | 1 +
 cpp/poppler-document.h   | 1 +
 poppler/Stream.cc        | 1 +
 3 files changed, 3 insertions(+)

commit 1f151565bbca5be7449ba8eea6833051cc1baa41
Author: Albert Astals Cid <aacid@kde.org>
Date:   Mon Mar 31 14:35:49 2025 +0200

    Move isOk check to inside JBIG2Bitmap::combine

 poppler/JBIG2Stream.cc | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

commit 4d5d87ba29fd68cf171b017e46f988dc9ed173a5
Author: Albert Astals Cid <aacid@kde.org>
Date:   Sat Mar 29 17:58:53 2025 +0100

    Fix comment

 poppler/Outline.cc | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

commit cc45f023e87b71835d61014fd20f87089b409205
Author: Sune Vuorela <sune@vuorela.dk>
Date:   Sat Mar 29 16:50:45 2025 +0000

    Allow empty outline titles

    All downstream users treats titleLen == 0 as this item
    (and children) doesn't exist but it is kind of valid
    to have a outline title to be empty string.
    In order to don't break downstreams use a zero
    width space.

 poppler/Outline.cc | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

commit 24f81b90c5cf92f0bd9893736f7048f06fb8aaef
Author: Albert Astals Cid <aacid@kde.org>
Date:   Sat Mar 29 16:08:22 2025 +0100

    Add const to the span<> that are just for reading from them

 poppler/Stream.cc                            | 4 ++--
 poppler/Stream.h                             | 6 +++---
 poppler/UTF.cc                               | 6 +++---
 poppler/UTF.h                                | 6 +++---
 qt5/src/poppler-qiodeviceoutstream-private.h | 4 ++--
 qt5/src/poppler-qiodeviceoutstream.cc        | 4 ++--
 qt6/src/poppler-qiodeviceoutstream-private.h | 4 ++--
 qt6/src/poppler-qiodeviceoutstream.cc        | 4 ++--
 8 files changed, 19 insertions(+), 19 deletions(-)

commit 982d0f37213ac44d40483695ddf26a2d59f8fd7a
Author: Nathanael d. Noblet <nathanael@noblet.ca>
Date:   Mon Dec 16 15:52:16 2019 -0700

    Add additional info functions to poppler-document object in CPP

    Allow querying if the document has Javascript and which type of
    forms it contains

 cpp/poppler-document.cpp | 26 ++++++++++++++++++++++++++
 cpp/poppler-document.h   | 10 ++++++++++
 2 files changed, 36 insertions(+)

commit 86c146f15db3b4034a36eda6c08f2411a9fa3a93
Author: Martin Emrich <dev@martinemrich.me>
Date:   Fri Mar 28 00:06:24 2025 +0000

    Cap CachedFileStream to file length

 poppler/Stream.cc | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

commit 8534441c563677a2272c307af2cb70fc7c8f42bb
Author: Albert Astals Cid <aacid@kde.org>
Date:   Thu Mar 27 23:18:30 2025 +0100

    Update (C)

 fofi/FoFiIdentifier.cc           | 1 +
 fofi/FoFiIdentifier.h            | 1 +
 poppler/AnnotStampImageHelper.cc | 1 +
 poppler/ImageEmbeddingUtils.cc   | 2 +-
 poppler/XRef.h                   | 2 +-
 5 files changed, 5 insertions(+), 2 deletions(-)

commit 03014f667cf63fccee1318a0a333232c37222643
Author: Sune Vuorela <sune@vuorela.dk>
Date:   Thu Feb 20 12:51:09 2025 +0100

    AutoFreeMemStream: Store data in vector

    Let the data owning actually happen in AutoFreeMemStream and let
    everyone create in proper data structures and then just move
    everything
    in place.

 poppler/Annot.cc                 |  9 +++--
 poppler/AnnotStampImageHelper.cc |  5 +--
 poppler/Form.cc                  | 20 +++++-----
 poppler/ImageEmbeddingUtils.cc   | 81
 ++++++++++++++++++++++------------------
 poppler/SplashOutputDev.cc       |  7 ++--
 poppler/Stream.cc                |  5 +--
 poppler/Stream.h                 |  5 ++-
 poppler/XRef.cc                  | 11 ++----
 poppler/XRef.h                   |  3 +-
 9 files changed, 74 insertions(+), 72 deletions(-)

commit 2162be2a6e3c486cc8f685abab453ed08353cbeb
Author: Sune Vuorela <sune@vuorela.dk>
Date:   Wed Mar 26 23:33:36 2025 +0000

    Memcleanup in fofi fontidentifier

 fofi/FoFiIdentifier.cc | 153
 ++++++++-----------------------------------------
 fofi/FoFiIdentifier.h  |   1 -
 2 files changed, 25 insertions(+), 129 deletions(-)

commit ee57c2a4ef950eed5eb841d7f89ee385ec818321
Author: Albert Astals Cid <aacid@kde.org>
Date:   Wed Mar 26 18:42:29 2025 +0100

    pdfConformanceFromString: Fix typo pq -> pg

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

commit c992ce618a95cba59076cf7a4a8711a854bf99c8
Author: Sune Vuorela <sune@vuorela.dk>
Date:   Wed Mar 26 16:55:16 2025 +0000

    Dont leak gpgme headers into frontends

    In a future gpgme release, one can do weird stuff during
    installations.
    In order to avoid the side effects of that, don't include gpgme
    headers
    in the headers that the frontends might need

 poppler/GPGMECryptoSignBackend.cc             | 10 ++++++----
 poppler/GPGMECryptoSignBackend.h              | 15 +++------------
 poppler/GPGMECryptoSignBackendConfiguration.h | 25
 +++++++++++++++++++++++++
 qt5/src/poppler-form.cc                       |  2 +-
 qt6/src/poppler-form.cc                       |  2 +-
 qt6/tests/check_signature_basics.cpp          |  4 +++-
 6 files changed, 39 insertions(+), 19 deletions(-)

commit f54b815672117c250420787c8c006de98e8c7408
Author: Albert Astals Cid <aacid@kde.org>
Date:   Wed Mar 26 11:26:32 2025 +0100

    Make sure regex doesn't stack overflow by limiting it

    Happens with very long pdfsubver strings when compiled with
    -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -flto=auto

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

commit 1f44ba147b7283047f67cfa5f23cb2aedc3ae917
Author: Albert Astals Cid <aacid@kde.org>
Date:   Tue Mar 25 23:28:52 2025 +0100

    Update (C)

 poppler/DistinguishedNameParser.h             | 2 +-
 poppler/GlobalParams.cc                       | 1 +
 qt5/tests/check_distinguished_name_parser.cpp | 2 +-
 qt6/tests/check_distinguished_name_parser.cpp | 2 +-
 utils/HtmlFonts.cc                            | 2 +-
 utils/HtmlFonts.h                             | 2 +-
 utils/HtmlLinks.cc                            | 1 +
 utils/HtmlOutputDev.h                         | 2 +-
 utils/pdftohtml.cc                            | 2 +-
 9 files changed, 9 insertions(+), 7 deletions(-)

commit 31479a61efdfaa900e3f4b435108184a2b8cedb1
Author: Sune Vuorela <sune@vuorela.dk>
Date:   Mon Mar 10 16:30:22 2025 +0100

    htmlout: Clean up GooString ownership

    Document ownership with unique_ptr's, especially for GooStrings, but
    also for a few other bits

 utils/HtmlFonts.cc     |  62 +++++++++++--------------
 utils/HtmlFonts.h      |  12 ++---
 utils/HtmlLinks.cc     |  18 ++++----
 utils/HtmlOutputDev.cc | 120
 +++++++++++++++++--------------------------------
 utils/HtmlOutputDev.h  |  22 ++++-----
 utils/pdftohtml.cc     |   5 +--
 6 files changed, 94 insertions(+), 145 deletions(-)

commit eea6845f2232c16751568963319258b58da59b1f
Author: Volker Krause <vkrause@kde.org>
Date:   Mon Mar 24 17:41:32 2025 +0100

    Fix build with Android API < 29

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

commit 574db8871c85620348df4e58a549003fdf41b8f8
Author: Sune Vuorela <sune@vuorela.dk>
Date:   Mon Mar 24 13:40:05 2025 +0100

    Fix typo in DN-parser

    Also update test suite

 poppler/DistinguishedNameParser.h             | 2 +-
 qt5/tests/check_distinguished_name_parser.cpp | 2 ++
 qt6/tests/check_distinguished_name_parser.cpp | 2 ++
 3 files changed, 5 insertions(+), 1 deletion(-)

commit d87bc726c7cc98f8c26b60ece5f20236e9de1bc3
Author: Albert Astals Cid <aacid@kde.org>
Date:   Mon Mar 24 00:44:54 2025 +0100

    PSStack::roll: Protect against doing int = -INT_MIN

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

commit 54dd103599923abcec983c782450ec6a1b1aa7d4
Author: Albert Astals Cid <aacid@kde.org>
Date:   Mon Mar 24 00:31:55 2025 +0100

    Update (C)

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

commit 803dfed395f267dcddfedba2d34613629f0204a4
Author: Sune Vuorela <sune@vuorela.dk>
Date:   Tue Mar 11 15:00:04 2025 +0100

    pdftocairo: cleanup a bit in goostring ownership

    Also be a bit more explicit in copying

 utils/pdftocairo.cc | 35 +++++++++++++++--------------------
 1 file changed, 15 insertions(+), 20 deletions(-)

commit 7bbdb8b42d6c0c653d147ee07701b862735e50f3
Author: Sune Vuorela <sune@vuorela.dk>
Date:   Tue Mar 11 14:48:23 2025 +0100

    Use GooString::copy to copy a GooString

 cpp/poppler-document.cpp | 2 +-
 poppler/Annot.cc         | 8 ++++----
 poppler/PSOutputDev.cc   | 3 +--
 poppler/TextOutputDev.cc | 7 ++-----
 poppler/TextOutputDev.h  | 2 +-
 5 files changed, 9 insertions(+), 13 deletions(-)

commit 9c4d80f2379ca2fac6da1db050b647d503fe6a1d
Author: Sune Vuorela <sune@vuorela.dk>
Date:   Wed Mar 12 13:43:20 2025 +0100

    Improve errors on signing failure

 poppler/Form.cc                   | 14 +++++++-------
 poppler/GPGMECryptoSignBackend.cc | 11 +++++++++++
 2 files changed, 18 insertions(+), 7 deletions(-)

commit 1a4be9bf43e154d3d71ffcb062e99838fee2c5a0
Author: Sune Vuorela <sune@vuorela.dk>
Date:   Tue Mar 11 14:58:55 2025 +0100

    pdfinfo: avoid a string copy

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

commit 0c20b0f84b40a4c388e9091f3220f359464229ba
Author: Sune Vuorela <sune@vuorela.dk>
Date:   Mon Mar 10 16:21:44 2025 +0100

    GooString: Remove unused concatenate constructor

 goo/GooString.h | 8 --------
 1 file changed, 8 deletions(-)

commit d82eb45e8b9d26d214708236c735b5ce25b7a859
Author: Albert Astals Cid <aacid@kde.org>
Date:   Sun Mar 9 23:45:21 2025 +0100

    Update (C)

 goo/GooString.h     | 1 +
 utils/pdftocairo.cc | 1 +
 2 files changed, 2 insertions(+)

commit 6d975d2f45471124dcba155c8242154d6100ade9
Author: Masamichi Hosoda <trueroad@trueroad.jp>
Date:   Thu Mar 6 23:41:37 2025 +0900

    Fix pdfcairo's document unit for SVG output

    Using cairo 1.17.6 and later,
    pdftocairo outputted SVGs with the wrong width and height.

    Starting with cairo 1.17.6,
    the default SVG units have been changed from pt to user units.
    https://gitlab.freedesktop.org/cairo/cairo/-/issues/545

    pdftocairo did not set the SVG unit,
    and the change in cairo's default
    caused pdfcairo's SVG output to be incorrect.

    This commit makes pdftocairo set the SVG unit to pt.
    So, pdftocairo outputs SVGs that have the correct width and height.

 utils/pdftocairo.cc | 1 +
 1 file changed, 1 insertion(+)

commit 8b1b53cfe3f23e6880143ee2cae8477e6ab0c103
Author: Albert Astals Cid <aacid@kde.org>
Date:   Sun Mar 9 00:58:21 2025 +0100

    Use Python3 instead of PythonInterp since we already require newer
    cmake

    Thanks Funda Wang for the suggestion

 CMakeLists.txt | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

commit d37f721b82306280403b1b75b9c2d337cb1e8a1b
Author: Sune Vuorela <sune@vuorela.dk>
Date:   Thu Mar 6 15:18:41 2025 +0100

    Forbid GooString from explicit nullptr creation

    c++23 will do that for us for std::string, so just ensure nothing like
    that sneaks into the codebase.

 goo/GooString.h | 6 ++++++
 1 file changed, 6 insertions(+)

commit 1cc81b7bb2b1ac05c7eebcfd6e489533345de0e8
Author: Albert Astals Cid <aacid@kde.org>
Date:   Tue Mar 4 00:04:59 2025 +0100

    Increase version so people that track master can add ifdefs on version

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

commit 7b620e866b6729ceffb5ecb0298e9acc968e1c1f
Author: Albert Astals Cid <aacid@kde.org>
Date:   Mon Mar 3 23:03:20 2025 +0100

    poppler 25.03.0

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

commit 828d139b4830eaa97447fefb40a943f0b761c045
Author: Albert Astals Cid <aacid@kde.org>
Date:   Mon Mar 3 00:26:26 2025 +0100

    Update (C)

 poppler/Page.cc         | 2 +-
 utils/ImageOutputDev.cc | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit b91ce32ba7d3afbfc1ead01baabb21260829c358
Author: Albert Astals Cid <aacid@kde.org>
Date:   Sun Mar 2 11:58:59 2025 +0100

    Set aOidData.oid.type

    Otherwise later
    aAttribute.type = aOidData.oid;
    ends up being a copy of unused memory

    siBuffer is what the old code removed in
    84f5268256b40d40f12fa2290845b607d7895529 used

    Also remove an
       aOidData.oid.data = nullptr;
    that does nothing since it gets overwritten 2 lines later

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

commit e78f4c937e1e94912b8b175a8e8e8ff2ef52ace3
Author: Albert Astals Cid <aacid@kde.org>
Date:   Sun Mar 2 11:41:27 2025 +0100

    Fix memory leaks introduced in the str->reset commit

 poppler/PSOutputDev.cc  |  9 ++++-----
 poppler/Page.cc         |  4 ++--
 utils/ImageOutputDev.cc | 16 ++++++++--------
 3 files changed, 14 insertions(+), 15 deletions(-)

commit 70b80793218e0ce0c029ea245832f1843accb7a6
Author: Albert Astals Cid <aacid@kde.org>
Date:   Thu Feb 27 19:32:40 2025 +0100

    Update (C)

 qt6/tests/check_signature_basics.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit a45449bedbc74e4f0f0998fd23e636ce331f858c
Author: Sune Vuorela <sune@vuorela.dk>
Date:   Thu Feb 27 14:21:04 2025 +0100

    fix pgp test with no signature backends

 qt6/tests/check_signature_basics.cpp | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

commit bb58c2ee2bc560d7e5bf65a2d840192278cb354f
Author: Sune Vuorela <sune@vuorela.dk>
Date:   Thu Feb 27 12:36:58 2025 +0100

    Fix windows; include array

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

commit d3b96a62acd388ffe45dff65e517cd5726c147ba
Author: Sune Vuorela <sune@vuorela.dk>
Date:   Thu Feb 13 20:06:27 2025 +0100

    Add unit test

 qt6/tests/CMakeLists.txt             |   3 +
 qt6/tests/check_signature_basics.cpp | 144
 +++++++++++++++++++++++++++++++++++
 2 files changed, 147 insertions(+)

commit f0316ba62df9ce6d8e17a9349934b4a06df87e69
Author: Sune Vuorela <sune@vuorela.dk>
Date:   Mon Dec 2 16:36:20 2024 +0100

    Put a pgp signature in a pdf file

    Allow putting a pgp signature in a pdf file.
    This is not fully documented inside the specification, but basically
    it
    is replacing the CMS bundle as described with a pgp bundle.

    These signatures are tagged in the g10c namespace
    (https://github.com/adobe/pdf-names-list/issues/45) and is only
    implemented in the GPGME backend as a 'whatever gpg understands'.

    A special difference is that the signature is not padded with zeroes,
    but with a gpg comment packet with the exact size to fill the void.

 CMakeLists.txt                    |   2 +
 config.h.cmake                    |   3 +
 poppler/CertificateInfo.cc        |  10 +++
 poppler/CertificateInfo.h         |  11 ++-
 poppler/CryptoSignBackend.cc      |   4 +
 poppler/CryptoSignBackend.h       |   1 +
 poppler/Form.cc                   | 106 ++++++++++++++-----------
 poppler/GPGMECryptoSignBackend.cc | 159
 +++++++++++++++++++++++++++++---------
 poppler/GPGMECryptoSignBackend.h  |  17 +++-
 poppler/NSSCryptoSignBackend.cc   |   1 +
 qt5/src/poppler-form.cc           |  43 +++++++++++
 qt5/src/poppler-form.h            |  38 ++++++++-
 qt6/src/poppler-form.cc           |  44 +++++++++++
 qt6/src/poppler-form.h            |  38 ++++++++-
 utils/pdfsig.cc                   |   3 +
 15 files changed, 391 insertions(+), 89 deletions(-)

commit 287cd3aa9423ba2a038462f309d10093a8fbccbd
Author: Sune Vuorela <sune@vuorela.dk>
Date:   Thu Feb 27 11:21:29 2025 +0100

    Fix windows run

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

commit 9ce35a2cd89489d91c2d754c2c67d837f44875c7
Author: Albert Astals Cid <aacid@kde.org>
Date:   Wed Feb 26 22:07:39 2025 +0100

    Update (C)

 glib/poppler-annot.cc             | 1 +
 glib/poppler-annot.h              | 1 +
 glib/poppler-structure-element.cc | 1 +
 poppler/CharCodeToUnicode.cc      | 2 +-
 poppler/CryptoSignBackend.h       | 2 +-
 poppler/DCTStream.h               | 2 +-
 poppler/GPGMECryptoSignBackend.cc | 2 +-
 poppler/JPEG2000Stream.cc         | 1 +
 poppler/JSInfo.cc                 | 2 +-
 poppler/JSInfo.h                  | 1 +
 poppler/MarkedContentOutputDev.cc | 1 +
 poppler/MarkedContentOutputDev.h  | 1 +
 poppler/PDFDoc.cc                 | 2 +-
 poppler/StructElement.cc          | 1 +
 poppler/StructElement.h           | 1 +
 qt6/src/poppler-annotation.h      | 2 +-
 qt6/src/poppler-form.h            | 2 +-
 17 files changed, 17 insertions(+), 8 deletions(-)

commit 84f5268256b40d40f12fa2290845b607d7895529
Author: Juraj Šarinay <juraj@sarinay.com>
Date:   Tue Jan 21 08:58:22 2025 +0100

    Remove my_SEC_StringToOID(), replace the string by an OID.

    The function was only ever called on string representation
    of id-aa-signingCertificateV2. Simplify the code by using
    the corresponding OID directly and remove the function.

 poppler/NSSCryptoSignBackend.cc | 131
 +++++++++-------------------------------
 1 file changed, 28 insertions(+), 103 deletions(-)

commit 08c2f603c2f5758a929862b7da8a1105ee5d591b
Author: Markus Göllnitz <camelcasenick@bewares.it>
Date:   Mon Feb 24 06:24:30 2025 +0100

    glib: check file attachment annotation for this class before casting
