Releases: xmlsec/python-xmlsec
1.3.16
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
lxmlto v6.0.0, or - Build both
lxmlandpython-xmlsecmanually from source using the samelibxml2version
Wheel Build Configuration
Linux and macOS Wheels
These wheels are built against the following versions, which match those used in lxml v6.0.0:
libxml2v2.14.4libxsltv1.1.43xmlsec1v1.3.7
Windows Binary Wheels
The Windows binary wheels were compiled using Visual Studio 2022 and include the following libraries:
iconvv1.18-1libxml2v2.11.9-3libxsltv1.1.39opensslv3.0.16.pl1xmlsecv1.3.7zlibv1.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
What's Changed
- Explicitly cast the pointer type in PyXmlSec_ClearReplacedNodes by @hroncok in #325
- Fix sdist CI workflow by @jonathangreen in #330
- Build wheels for Python 3.13 by @jonathangreen in #329
- Fix linuxbrew workflow by @jonathangreen in #331
- Fix macosx CI workflow by @jonathangreen in #332
- Fix type mismatch in PyXmlSec_ClearReplacedNodes for Python 3.13 compatibility by @haya4ux in #340
New Contributors
Full Changelog: 1.3.14...1.3.15
1.3.14
- 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
- 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
- Add CI for Python 3.10,
manylinux2SOABI,musllinux1SOABI 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
1.3.11
1.3.10
1.3.9
- 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
Escape the XMLSEC_CRYPTO macro value, just as it was done in the original setup