Skip to content

Upgrading soupsieve 1 to 2

Breaking1.9.6 → 2.10Breaking1Security2Platform10New8Changed8Fixed26Other2

BreakingUpgrade verdict

1 breaking change and 10 platform requirement changes and 2 security fixes.

  • 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.
Top 5 of 13 that need code or config changes

Requires Python >=3.10 from 2.9 (none stated before).

Breaking1
Requires namespaces and custom objects to always be a Mapping; lists of tuples are no longer accepted.
namespacescustom
Security2
Soup Sieve has Memory Exhaustion via Large Comma-Separated Selector Lists
High · CVSS 7.5
Soup Sieve: Regular Expression Denial of Service (ReDoS) via Selector Parser
High · CVSS 7.5
Platform10
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.