Releases: facelessuser/soupsieve
Releases · facelessuser/soupsieve
2.6
2.6
- NEW: Add official support for Python 3.13.
- NEW: Add support for
&
as scoping root per the CSS Nesting Module, Level 1. When&
is used outside the
context of nesting, it is treated as the scoping root (equivalent to:scope
). - FIX: Improve error message when an unrecognized pseudo-class is used.
2.5
2.5
- NEW: Update to support Python 3.12.
- NEW: Drop support for Python 3.7.
2.4.1
2.4.1
- FIX: Attribute syntax for case insensitive flag optionally allows a space, it does not require one.
2.4
2.4
- NEW: Update to support changes related to
:lang()
in the official CSS spec.:lang("")
should match unspecified
languages, e.g.lang=""
, but notlang=und
. - NEW: Only
:is()
and:where()
should allow forgiving selector lists according to latest CSS (as far as Soup
Sieve supports "forgiving" which is limited to empty selectors). - NEW: Formally drop Python 3.6.
- NEW: Formally declare support for Python 3.11.
2.3.2.post1
2.3.2.post1
- FIX: Documentation for installation from source is outdated.
2.3.2
2.3.2
- FIX: Fix some typos in error messages.
2.3.1
2.3
2.3
- NEW: Officially support Python 3.10.
- NEW: Add static typing.
- NEW:
:has()
,:is()
, and:where()
now use use a forgiving selector list. While not as forgiving as CSS might
be, it will forgive such things as empty sets and empty slots due to multiple consecutive commas, leading commas, or
trailing commas. Essentially, these pseudo-classes will match all non-empty selectors and ignore empty ones. As the
scraping environment is different than a browser environment, it was chosen not to aggressively forgive bad syntax and
invalid features to ensure the user is alerted that their program may not perform as expected. - NEW: Add support to output a pretty print format of a compiled
SelectorList
for debug purposes. - FIX: Some small corner cases discovered with static typing.
2.2.1
2.2.1
- FIX: Fix an issue with namespaces when one of the keys is
self
.
2.2
2.2
- NEW:
:link
and:any-link
no longer include<link>
due to a change in the level 4 selector specification. This actually yields more sane results. - FIX: BeautifulSoup, when using
find
, is quite forgiving of odd types that a user may place in an element's attribute value. Soup Sieve will also now be more forgiving and attempt to match these unexpected values in a sane manner by normalizing them before compare. (#212)