You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
BREAK: :has(), by default, now behaves according to CSS more strictly, disallowing complex selectors that use
combinators and prevents nesting :has() within :has(). This gives a safer, more performant default for Soup
Sieve. If in a safe environment, these restrictions can be lifted by passing the new NOSTRICT flag restoring
behavior to before 3.0.
BREAK: Custom selectors must be provided in order. If one custom selector depends on another custom selector,
the custom selector dependency must be defined first in the dictionary. This eliminates recursive processing of
custom selectors. Users are encouraged to pre-compile custom selectors via my_selectors = soupsive.CustomSelectors({custm: selector, ...}).
NEW: Drop Python 3.10.
NEW: Aggressively use possessive quantifiers and atomic groups in CSS pattern parsing to reduce backtracking.
NEW: Eliminate recursion within the parser and the matcher.
NEW: Expose new parameter max_selectors that can be used to control the maximum allowed selectors in a given
input.
FIX: A CSS escape that is a surrogate, or past the Unicode range, is U+FFFD. (#307)