PackageTrack
Sign in Get early access

robrichards/xmlseclibs

A PHP library for XML Security

4.0.0 88M downloads/mo #466 most downloaded on Packagist robrichards/xmlseclibs

What this package is like to depend on

Last release today

22 Aug 2026

Ships unpredictably

gaps range from 2 weeks to 4.2 years

Some releases are documented

notes for 6 of 23 stable releases

Nothing withdrawn

no release was ever pulled

11 years old

25 releases · first in 2015

5 releases in the last 12 months

see the full history below

Release timeline

25 releases · May 2015 to Aug 2026
2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 25
  1. 4.0.0 22 Aug 2026
    Release notes

    xmlseclibs 4.0.0

    PHP 8.0+ and phpseclib/phpseclib ~3.0 required; OpenSSL is optional.

    Highlights

    • Crypto moved to phpseclib (symmetric, RSA, RSA-OAEP, X.509); RSA-PSS (RSA_SHA256_MGF1) supported
    • Safe-by-default verifyDocument() — pinned key, algorithm allowlists, validated node set
    • enableLegacyMode() for temporary pre-4.0 interop while migrating peers
    • Compact templates via stripWhitespace; omit_uri for references without a URI; extensibility via protected members (#152)

    Security (breaking defaults)

    • DOCTYPE rejected on signature verify (entity-ref / Id bypass; same class of issue as CVE-2025-23369); also rejected in decrypted XML
    • XPath Filtering Transforms rejected on verify by default (pre-auth DoS); capped when enabled
    • RSA-1.5 key transport denied on decrypt by default; uniform decrypt errors (no padding oracle)
    • verify() always binds SignatureMethod to the supplied key; HMAC cannot be loaded from certs/PEM
    • References fail closed (unknown transforms, external/duplicate-Id URIs, unknown C14N)
    • SSRF hardening on add509Cert() URL fetch; EncryptedKey/RetrievalMethod depth caps; hash_equals for digests/HMAC

    Other

    • Configurable transforms element; setSignatureId(); clearer throws when signature context is missing
    • Interop: whitespace-stripped signature/EncryptedData templates for C# SignedXml / Python signxml-style peers
    • PHP 8 / static-analysis hardening; PHP 8.5 deprecation fix in makeAsnSegment()

    Migration

    Prefer verifyDocument() with a pinned key. Use enableLegacyMode() only while updating peers — it restores DOCTYPE-on-verify, XPath transforms, and RSA-1.5; it does not undo algorithm/key binding, uniform decrypt errors, or decrypted-XML DOCTYPE rejection. Prefer RSA-OAEP and AES-GCM for new deployments.

    Full detail: CHANGELOG.txt (4.0.0) and the “Breaking changes (3.1 → 4.0)” section in README.md.

    Full Changelog: 3.1.5...4.0.0

    Open source →
  2. 4.0.0-beta2 08 Aug 2026 pre-release

    Nothing published for this version

  3. 4.0.0-beta1 24 Jul 2026 pre-release

    Nothing published for this version

  4. 3.1.5 13 Mar 2026
    Release notes

    Validate AES-GCM Authentication Tag

    Open source →
  5. 3.1.4 08 Dec 2025
    Release notes

    fix canonicalization error

    Open source →
  6. 3.1.3 20 Nov 2024
    Release notes

    Removes BC breaking change

    Open source →
  7. 3.1.2 20 Nov 2024
    Release notes

    Add tab to list of whitespace values to remove from cert
    loadKey should check return value for openssl_get_privatekey
    Switch to GitHub actions
    Support OAEP (from unreleased 3.1.1)

    Open source →
  8. 3.1.1 05 Sep 2020

    Nothing published for this version

  9. 3.1.0 22 Apr 2020
    Release notes

    Add support for AES-GCM encryption
    Minor improvements and bug fixes

    Open source →
  10. 3.0.4 05 Nov 2019

    Nothing published for this version

  11. 3.0.3 15 Nov 2018

    Nothing published for this version

  12. 3.0.2 27 Sep 2018

    Nothing published for this version

  13. 3.0.1 31 Aug 2017

    Nothing published for this version

  14. 3.0.0 25 May 2017

    Nothing published for this version

  15. 2.1.1 05 Nov 2019

    Nothing published for this version

  16. 2.1.0 15 Nov 2018

    Nothing published for this version

  17. 2.0.1 08 Sep 2016

    Nothing published for this version

  18. 2.0.0 31 Jul 2015

    Nothing published for this version

  19. 1.4.3 12 Nov 2019

    Nothing published for this version

  20. 1.4.2 08 Sep 2016

    Nothing published for this version

  21. 1.4.1 31 Jul 2015

    Nothing published for this version

  22. 1.4.0 23 Jun 2015

    Nothing published for this version

  23. 1.3.4 24 Jun 2015

    Nothing published for this version

  24. 1.3.3 02 Jun 2015

    Nothing published for this version

  25. 1.3.2 21 May 2015

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive