Upgrading soupsieve 1 to 2
Breaking1.9.6 → 2.10Breaking1Security2Platform10New8Changed8Fixed26Other2
SecurityHigh · CVSS 7.5Soup Sieve has Memory Exhaustion via Large Comma-Separated Selector ListsGHSA-2wc2-fm75-p42x · CVE-2026-49476 ↗
BreakingUpgrade verdict
1 breaking change and 10 platform requirement changes and 2 security fixes.
In plain terms
- If you passed namespaces or custom data as a list of tuples, you must now pass a dictionary-like mapping instead.
- The library now works on Python 3.15.
- This version no longer works on Python 3.9, so users on that version must upgrade Python.
- This version no longer works on Python 3.8, so users on that version must upgrade Python.
Must act Top 5 of 13 that need code or config changes
Requires Python >=3.10 from 2.9 (none stated before).
What you must change
Breaking1
Requires
namespaces and custom objects to always be a Mapping; lists of tuples are no longer accepted.namespacescustomSecurity2
Soup Sieve has Memory Exhaustion via Large Comma-Separated Selector Lists
High · CVSS 7.5Soup Sieve: Regular Expression Denial of Service (ReDoS) via Selector Parser
High · CVSS 7.5Platform10
Adds support for Python 3.15.
Drops Python 3.9 support.
Drops support for Python 3.8.
Adds support for Python 3.14.
Adds official support for Python 3.13.
Adds support for Python 3.12.
Drops support for Python 3.7.
Formally drops support for Python 3.6.
Formally declares support for Python 3.11.
Officially supports Python 3.10.