Skip to content

Update soupsieve to 4.0.1 in the file extractor - #1661

Merged
helpcodeai merged 3 commits into
mainfrom
fix/file-extractor-soupsieve
Nov 13, 2026
Merged

helpcodeai merged 3 commits into
mainfrom
fix/file-extractor-soupsieve

Conversation

@helpcodeai

Copy link
Copy Markdown
Contributor

Summary

Dependabot alerts #134 and #135 (high): soupsieve < 4.0.0 has a polynomial-time selector match. The file extractor gets it through extract-msg → beautifulsoup4; both lock files pinned 3.0.3. This PR pins 4.0.1.

The lock files only take versions published before a cutoff (supply-chain cool-down). 4.0.0 came out on 3 Nov, so the cutoff moves from 17 Oct to 4 Nov, and requirements.in gets a floor soupsieve>=4.0.0 so a later compile cannot go back. No other package version changes: the compile keeps the existing pins.

This touches deploy/ee/ (commercial licence); the maintainer approved the change. Cloud and self-hosted Enterprise get it when the extractor image is rebuilt.

Changes

  • deploy/ee/file-extractor/requirements.in: soupsieve>=4.0.0 with the reason.
  • compile-requirements.sh: default CUTOFF 2026-11-04.
  • requirements.txt, requirements-ocr.txt: soupsieve 3.0.3 → 4.0.1 (hashes), header cutoff. requirements-dev.txt: header cutoff only.

Type

  • Bug fix
  • New feature
  • Documentation
  • Refactoring
  • Performance improvement
  • Other (security dependency update)

Testing

  • Added/updated unit tests
  • Tested manually (describe steps below)
  • No tests needed (explain why)

deploy/ee/file-extractor:

  • sh compile-requirements.sh: the diff of the two runtime lock files is soupsieve only.
  • sh test.sh: pytest on the host 227 passed, 7 skipped; inside the image 229 passed, 5 skipped; HTTP checks on the hardened container OK (xlsx, pdf page numbers, pdf page as jpeg, 401 on a wrong token, health); no outbound network OK; "all file-extractor tests passed".

Checklist

  • My code follows the existing code style
  • I have tested my changes locally
  • I have updated documentation (if applicable)
  • All existing tests pass (npm test) (extractor suite locally, the rest in CI)
  • This PR has a descriptive title

Related Issues

Fixes Dependabot alerts #134 and #135.

@helpcodeai

Copy link
Copy Markdown
Contributor Author

Added: the image tag in both compose files goes from :2 to :3. The extractor image is built on the host and only when its tag does not exist yet, so without the new tag a deploy would keep the old image with soupsieve 3.0.3.

@helpcodeai
helpcodeai merged commit 2b31050 into main Nov 13, 2026
16 checks passed
@helpcodeai
helpcodeai deleted the fix/file-extractor-soupsieve branch November 13, 2026 14:31
@github-actions github-actions Bot locked and limited conversation to collaborators Nov 13, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant