Skip to content

Releases: xmlsec/python-xmlsec

1.3.16

10 Jul 12:26
8f3d924
Compare
Choose a tag to compare

Release Date: 2025-07-10
Version: 1.3.16


Compatibility and Wheel Support

This release provides binary wheels that are fully compatible with lxml v6.0.0. The compatibility is ensured by using the same underlying libxml2 version in both python-xmlsec and lxml.

Because of this strict requirement, the wheels cannot be used with versions of lxml lower than 6.0.0. Mixing versions will lead to runtime errors.

Common Error

If you see the following message:

lxml & xmlsec libxml2 library version mismatch

it indicates that the version of libxml2 used to build lxml does not match the version used to build python-xmlsec.

Recommended Solutions

  • Upgrade lxml to v6.0.0, or
  • Build both lxml and python-xmlsec manually from source using the same libxml2 version

Wheel Build Configuration

Linux and macOS Wheels

These wheels are built against the following versions, which match those used in lxml v6.0.0:

  • libxml2 v2.14.4
  • libxslt v1.1.43
  • xmlsec1 v1.3.7

Windows Binary Wheels

The Windows binary wheels were compiled using Visual Studio 2022 and include the following libraries:

  • iconv v1.18-1
  • libxml2 v2.11.9-3
  • libxslt v1.1.39
  • openssl v3.0.16.pl1
  • xmlsec v1.3.7
  • zlib v1.3.1

These versions are compatible with those used in lxml v6.0.0.


Acknowledgements

Special thanks to @TomiBelan for helping with the creation of binary wheels for this release.

1.3.15

06 Mar 16:08
c9301a3
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 1.3.14...1.3.15

1.3.14

17 Apr 19:29
1b3b527
Compare
Choose a tag to compare
  • XMLSec 1.3.x compliance
  • Make DES/3DES/KW-3DES support conditional on DES availability in XMLSec
  • PKCS11 support
  • Improved libxml2 version check
  • Several test improvements

Full Changelog: 1.3.13...1.3.14

1.3.14-rc1

04 Apr 09:02
749c7fa
Compare
Choose a tag to compare
1.3.14-rc1 Pre-release
Pre-release
  • XMLSec 1.3.* compliance
  • Make DES/3DES/KW-3DES support conditional on DES availability in XMLSec
  • PKCS11 support
  • Improved libxml2 version check
  • Several test improvements

Note: Not compatible with XMLSec 1.3.3, use https://github.com/lsh123/xmlsec/releases/tag/1.3.4-rc1
Full Changelog: 1.3.13...1.3.14-rc1

1.3.13

20 Aug 21:10
b483b64
Compare
Choose a tag to compare
  • Add CI for Python 3.10, manylinux2 SOABI, musllinux1 SOABI and OpenSUSE Tumbleweed
  • Introduce linting with pre-commit
  • Rewrite PEP 484 stubs
  • xmlsec workaround for gh##84 - Stanislav Levin (@mcepl)
  • Resolve key loading issue on big-endian systems. - Chris MacNaughton (@ChrisMacNaughton)
  • Fix building wheel when using PYXMLSEC_STATIC_DEPS=true
  • setup.py: Fix typo in PYXMLSEC_LIBXSLT_VERSION - AbdealiJK (@AbdealiJK)
  • Switch on modern headers lxml - Alexander Shadchin (@shadchin)
  • use build to build wheels - Thomas Grainger (@graingert)
  • remove pkgconfig as it's only a build-system requirement - Thomas Grainger (@graingert)
  • exclude lxml 4.7 because the wheels are missing the lxml includes - Thomas Grainger (@graingert)

1.3.12

05 Sep 17:09
f18946b
Compare
Choose a tag to compare
  • Added support for registering custom xmlsec IO callbacks
  • Added support for building without MD5 transforms
  • Added support for PEP 539 for Python 3.7 and newer
  • Using lxml-stubs package instead of custom LXML stubs

1.3.11

28 May 21:39
efced9f
Compare
Choose a tag to compare
  • Removed Python 2 compatibility code.
  • Fixed bug with unused custom error callback.
  • Added support for building with XMLSEC_NO_XSLT macro.
  • Reactivated documentation builds on RTD.
  • Switched docs theme to furo.

1.3.10

04 May 20:46
4a91bbc
Compare
Choose a tag to compare
  • Turned off building Python 2.7 wheels in CI pipelines
  • Fixed libxmlsec1 version checks

1.3.9

29 Oct 17:04
6ed9d42
Compare
Choose a tag to compare
  • More tests added to increase test coverage
  • Various small fixes for segfaults found
  • Added xmlsec.base64_default_line_size() function to set the default maximum columns size for base64 encoding
  • Added AES-GCM transform constants
  • Added Python 3.9 support
  • Recording code coverage also in MacOS jobs

Version 1.3.8

21 May 22:40
1.3.8
2c216aa
Compare
Choose a tag to compare

Escape the XMLSEC_CRYPTO macro value, just as it was done in the original setup