build(deps): bump lxml from 6.0.2 to 6.0.4#20825
build(deps): bump lxml from 6.0.2 to 6.0.4#20825dependabot[bot] wants to merge 1 commit intomainfrom
Conversation
Bumps [lxml](https://github.com/lxml/lxml) from 6.0.2 to 6.0.4. - [Release notes](https://github.com/lxml/lxml/releases) - [Changelog](https://github.com/lxml/lxml/blob/master/CHANGES.txt) - [Commits](lxml/lxml@lxml-6.0.2...lxml-6.0.4) --- updated-dependencies: - dependency-name: lxml dependency-version: 6.0.4 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit a0622cb. Configure here.
| types-pyyaml = { version = ">=6.0.12.20240917", optional = true } | ||
| types-setuptools = { version = ">=75.5.0.20241122", optional = true } | ||
| lxml = { version = ">=5.2.2", optional = true } | ||
| lxml = { version = ">=6.0.4", optional = true } |
There was a problem hiding this comment.
Minimum lxml version raised too aggressively from 5.2.2
Medium Severity
The minimum version constraint for lxml was changed from >=5.2.2 to >=6.0.4. For a patch-level dependency bump (6.0.2 → 6.0.4), this unnecessarily raises the floor by an entire major version. Anyone installing the dev optional dependency who previously relied on lxml 5.x compatibility will now be forced to upgrade to 6.0.4+, which is a breaking change in the dependency specification that likely wasn't intended.
Reviewed by Cursor Bugbot for commit a0622cb. Configure here.
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
🤖 Cursor Dependency AnalysisSupply-Chain Malware ReviewVerifying how Verdict: benign Why this looks safe
Actionable note: If anything in the PR diff is not lockfile + version constraint lines (e.g. random scripts or unrelated packages), re-check that specific diff — but for a standard Dependabot lxml patch bump with empty IOC/unicode findings, approve from a supply-chain perspective. Compatibility AnalysisSearching the codebase for 1) Where
|
| Location | Role |
|---|---|
pyproject.toml |
Optional dependency lxml = { version = ">=6.0.4", optional = true } and listed under [project.optional-dependencies] dev. |
chia/_tests/process_junit.py |
Only application usage found: lxml.etree.parse(...), getroot(), findall / find on JUnit XML, attribute access. |
Everything else under .upstream-dependency/ is the vendored upstream lxml tree for review tooling, not Chia runtime code.
2) Overlap with 6.0.3 / 6.0.4 changes
Upstream notes are bug fixes and memory-safety: spurious MemoryError on namespace cleanup, leak fixes on error paths (DTD public_id / system_url, subtree copy, XPath→Python mapping, XSLT param prep), slicing with extreme step, clearer MemoryError on real OOM, PyPy test fixes, wheel build (Cython/zlib/libiconv).
Chia’s usage is plain etree parse + tree walk on JUnit XML. It does not use XSLT, custom XPath-to-Python mapping, DTD mutation, or exotic slicing. So there is no meaningful intersection with the areas called out in the changelog/commits.
3) Risks / unknowns
- OOM behavior: 6.0.3 may raise
MemoryErrormore often when allocation actually fails; for normal JUnit sizes this is negligible. - Install surface: Still optional
dev; production installs that omitdevnever pulllxml. Dev/CI that installdevget wheels on common platforms; source builds remain platform/toolchain-dependent (generic risk for anylxmlbump, not specific to this patch). - Malware-scan heuristics (
ghost_version_or_missing_tag, etc.) on a fresh 6.0.4 are noise for judging this bump; rely on PyPI hashes inpoetry.lockand CI.
4) Recommendation
Merge — patch-level release, fixes align with safer behavior; the only in-repo consumer uses a small, stable subset of lxml.etree unrelated to the changed internals. No need to hold unless CI fails on an unusual platform (then treat as environment/build, not API).
Malware Scan Summary
- Status: warn
- Warn only mode:
true - Changed upstream files scanned:
9 - Resolution strategy:
commit_list - Changed node/vendor paths:
0 - Changed lockfiles:
0 - Resolved refs: from=
n/ato=n/a - Unicode findings (post-allowlist):
0 - Confusable findings (post-allowlist):
0 - IOC findings (post-allowlist):
0 - Heuristic findings (post-allowlist):
6
Top findings
buildlibxml.py:518shell_process_spawn ::import subprocessbuildlibxml.py:522shell_process_spawn ::returncode = subprocess.call(cmd, **kw).github/workflows/ci.yml:0workflow_path_touch ::path-touch.github/workflows/wheels.yml:0workflow_path_touch ::path-touchlxml:0ghost_version_or_missing_tag ::6.0.4lxml:0maintainer_drift ::6.0.2->6.0.4
Coverage Report for CI Build 24744816552Coverage decreased (-0.02%) to 91.154%Details
Uncovered ChangesNo uncovered changes found. Coverage Regressions30 previously-covered lines in 7 files lost coverage.
Coverage Stats💛 - Coveralls |


Bumps lxml from 6.0.2 to 6.0.4.
Changelog
Sourced from lxml's changelog.
Commits
1fd1d6bFix release date.5154859CI: Include all library versions in libs cache key to asssure updated on vers...6a606f3Add "doesn't crash" tests for LP#2148019.f488f16Prepare release of 6.0.4.1255d98LP#2148019: Prevent spurious MemoryError during namespace cleanup.03b0c4aRemove dead type check.a6f833cFix release date.973d059Update changelog.9044a52Build: Downgrade libiconv to 1.18 since 1.19 does not build reliably.a34dfddBuild: Upgrade libiconv to 1.19.Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)Note
Low Risk
Low risk dependency refresh limited to the optional
devextra; primary impact is potential CI/dev-environment breakage from new wheels/behavior changes inlxml.Overview
Updates the optional
devdependency onlxmlfrom6.0.2to6.0.4by tightening the constraint inpyproject.toml.Regenerates
poetry.lockto pull inlxml6.0.4artifacts (new wheel hashes and updated lockcontent-hash).Reviewed by Cursor Bugbot for commit a0622cb. Bugbot is set up for automated code reviews on this repo. Configure here.