Skip to content

Releases: xmlsec/python-xmlsec

1.3.17

Choose a tag to compare

@mxamin mxamin released this 11 Nov 16:22
8d98ff2

Release Date: 2025-11-11
Version: 1.3.17


Compatibility and Wheel Support

This release provides binary wheels that are fully compatible with lxml v6.0.2. 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.2. 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.2, 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.2:

  • libxml2 v2.14.6
  • libxslt v1.1.43
  • xmlsec1 v1.3.9
  • zlib v1.3.1
  • libiconv v1.18
  • openssl v3.6.0

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.2.


Noticeable changes

  • Supporting new wheels
    • Windows ARM
    • RISC-V 64
    • Python 3.14

Acknowledgements

Special thanks to

New Contributors

Full Changelog: 1.3.16...1.3.17

1.3.16

Choose a tag to compare

@mxamin mxamin released this 10 Jul 12:26
8f3d924

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

Choose a tag to compare

@jimjag jimjag released this 06 Mar 16:08
c9301a3

What's Changed

New Contributors

Full Changelog: 1.3.14...1.3.15

1.3.14

Choose a tag to compare

@mxamin mxamin released this 17 Apr 19:29
1b3b527
  • 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

1.3.14-rc1 Pre-release
Pre-release

Choose a tag to compare

@mxamin mxamin released this 04 Apr 09:02
749c7fa
  • 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

Choose a tag to compare

@hoefling hoefling released this 20 Aug 21:10
b483b64
  • 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

Choose a tag to compare

@hoefling hoefling released this 05 Sep 17:09
f18946b
  • 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

Choose a tag to compare

@hoefling hoefling released this 28 May 21:39
efced9f
  • 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

Choose a tag to compare

@hoefling hoefling released this 04 May 20:46
4a91bbc
  • Turned off building Python 2.7 wheels in CI pipelines
  • Fixed libxmlsec1 version checks

1.3.9

Choose a tag to compare

@hoefling hoefling released this 29 Oct 17:04
6ed9d42
  • 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