Skip to content

fix(deps): update dependency xmlsec to <1.3.18#211

Open
renovate[bot] wants to merge 1 commit intomainfrom
renovate/xmlsec-1.x
Open

fix(deps): update dependency xmlsec to <1.3.18#211
renovate[bot] wants to merge 1 commit intomainfrom
renovate/xmlsec-1.x

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate Bot commented Mar 22, 2025

This PR contains the following updates:

Package Change Age Confidence
xmlsec (changelog) <1.3.15<1.3.18 age confidence

Release Notes

mehcode/python-xmlsec (xmlsec)

v1.3.17

Compare Source

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: xmlsec/python-xmlsec@1.3.16...1.3.17

v1.3.16

Compare Source

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.

v1.3.15

Compare Source

What's Changed

New Contributors

Full Changelog: xmlsec/python-xmlsec@1.3.14...1.3.15


Configuration

📅 Schedule: Branch creation - "every weekend" in timezone US/Eastern, Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot force-pushed the renovate/xmlsec-1.x branch 14 times, most recently from 6e07d1a to 355f277 Compare April 2, 2025 17:12
@renovate renovate Bot force-pushed the renovate/xmlsec-1.x branch 9 times, most recently from a49fb8a to d720587 Compare April 10, 2025 05:23
@renovate renovate Bot force-pushed the renovate/xmlsec-1.x branch 5 times, most recently from 724954f to 1070b52 Compare April 18, 2025 22:17
@renovate renovate Bot force-pushed the renovate/xmlsec-1.x branch 2 times, most recently from dd1fea8 to 68098e6 Compare April 23, 2025 12:55
@renovate renovate Bot force-pushed the renovate/xmlsec-1.x branch 2 times, most recently from 19f31e1 to 0e375f5 Compare May 10, 2025 12:39
@renovate renovate Bot force-pushed the renovate/xmlsec-1.x branch 12 times, most recently from b888aef to 59b62af Compare May 24, 2025 08:49
@renovate renovate Bot force-pushed the renovate/xmlsec-1.x branch 11 times, most recently from 43323a6 to 61fdcc8 Compare May 31, 2025 11:13
@renovate renovate Bot force-pushed the renovate/xmlsec-1.x branch 2 times, most recently from 0417a29 to f88cf8c Compare May 31, 2025 19:25
touchstone = [
'python3-saml>=1.10.1; python_version < "3.13"',
'xmlsec<1.3.15; python_version < "3.13"',
'xmlsec<1.3.18; python_version < "3.13"',
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: The xmlsec upgrade conflicts with the pinned lxml version, which will break SAML authentication for deployments using the optional touchstone dependency.
Severity: HIGH

Suggested Fix

Update the lxml constraint in the root pyproject.toml to allow a version compatible with the new xmlsec requirement, such as lxml>=6.0.2. Alternatively, revert the xmlsec upgrade.

Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent.
Verify if this is a real issue. If it is, propose a fix; if not, explain why it's not
valid.

Location: src/authentication/pyproject.toml#L23

Potential issue: The upgrade of `xmlsec` to version `1.3.17` introduces a requirement
for `lxml >= 6.0.2`. However, the root `pyproject.toml` file pins `lxml` to version
`<=5.3.2`. This creates a dependency conflict. While `xmlsec` is part of an optional
dependency group (`touchstone`), any deployment that installs this group to enable SAML
authentication will experience a runtime failure. The conflict will break SAML
functionality when the code attempts to use both libraries together.

Did we get this right? 👍 / 👎 to inform future reviews.

touchstone = [
'python3-saml>=1.10.1; python_version < "3.13"',
'xmlsec<1.3.15; python_version < "3.13"',
'xmlsec<1.3.18; python_version < "3.13"',
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: The updated xmlsec<1.3.18 constraint allows xmlsec==1.3.17, which is incompatible with lxml<6.0.2. The package doesn't enforce a compatible lxml version, risking runtime errors for consumers.
Severity: HIGH

Suggested Fix

Add a corresponding lxml>=6.0.2 constraint to the same optional dependency group (touchstone) where xmlsec<1.3.18 is specified. This ensures that any environment installing the touchstone extra will have compatible versions of both xmlsec and lxml.

Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent.
Verify if this is a real issue. If it is, propose a fix; if not, explain why it's not
valid.

Location: src/authentication/pyproject.toml#L23

Potential issue: The optional dependency `xmlsec` is updated to `<1.3.18`, which allows
version `1.3.17`. According to its release notes, `xmlsec==1.3.17` binary wheels are
incompatible with `lxml<6.0.2`. However, the `pyproject.toml` for
`mitol-django-authentication` does not enforce a minimum `lxml` version. Downstream
consumers installing the `touchstone` extra could resolve `xmlsec==1.3.17` alongside an
older, incompatible version of `lxml` (e.g., `5.x`), leading to a runtime crash with an
`lxml & xmlsec libxml2 library version mismatch` error when SAML authentication is used.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants