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
lxml
to v6.0.0, or - Build both
lxml
andpython-xmlsec
manually from source using the samelibxml2
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.4libxslt
v1.1.43xmlsec1
v1.3.7
Windows Binary Wheels
The Windows binary wheels were compiled using Visual Studio 2022 and include the following libraries:
iconv
v1.18-1libxml2
v2.11.9-3libxslt
v1.1.39openssl
v3.0.16.pl1xmlsec
v1.3.7zlib
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
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,
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
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