mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-11-13 03:37:15 +00:00
python3-soupsieve: Upgrade 3.0.4 -> 4.0
Upgrade to release 4.0:
- BREAK: The contents of an HTML template are no longer treated as
part of the document. Selectors do not descend into a template,
and elements inside one can't see beyond it, which also applies
to pseudo-classes such as :lang(), :disabled, and :default.
select and filter will still reach the contents of a template
when they are called on the template itself, for example
soup.template.select('p'). See the FAQ for more information.
- BREAK: The contents of an iframe are no longer treated as a
separate document, as they are not one in a browser. Elements in
an iframe are normal children, so :root does not match them, and
:default, :indeterminate, :checked, :dir(), :lang(), and
:read-write treat them like any other element. Recent versions of
html.parser, lxml, and html5lib all escape the contents of an
iframe like a browser does, so this mostly affects XHTML, Python
versions that still don't escape such content in their specific
html.parser, and elements added to an iframe by hand.
:-soup-contains() now also includes the escaped text in an
iframe. See the FAQ for more information.
- NEW: Update :disabled and :enabled to treat option and optgroup
elements inside a disabled select as disabled, following a recent
HTML specification update.
- FIX: Fix the subsequent-sibling combinator and :has(~ ...) never
matching top level elements of a fragment that has no root
element, unless caching was disabled.
- FIX: :indeterminate now treats a radio button group without a
form as extending across the whole document instead of the top
level element that contains it, and it no longer ignores radio
buttons at the top level.
- FIX: Fix :default to treat a button with a missing or invalid
type, and an input with type="image", as submit buttons.
- FIX: Fix :in-range and :out-of-range raising TypeError when the
document contains an input without a type attribute.
- FIX: :read-write (and :read-only) now treat
contenteditable="plaintext-only" elements as editing hosts and
match the editable elements inside an editing host, following the
nearest contenteditable state.
- FIX: :read-write (and :read-only) now ignore contenteditable on
non-HTML elements, such as an SVG foreignObject, as the attribute
only applies to HTML elements. Such elements inherit the state of
their parent.
- FIX: :checked now only matches the last radio button with a
checked attribute in a radio button group, as in a browser, where
a group is the radio buttons with the same name and form,
including the form attribute. :default still matches all of them,
and the contents of a template are unaffected as they are not
connected.
- FIX: :dir() and :defined no longer affect the rest of the
selector list they are in. Previously, a selector list that used
either of them could not have its combinators cross an iframe,
ignored the specified namespaces, and matched nothing in XML, not
even the parts that didn't use them. They still do not match in
XML, but :not(:dir(ltr)) and :not(:defined) now do.
- FIX: :default and :indeterminate now honor the form attribute,
which can associate a submit button or radio button with a form
it is not in, or leave it without a form. It is ignored in a
template, as in the HTML specification. Submit buttons outside of
a form can now be its default button.
- FIX: :default, :checked, and :indeterminate now handle a form
inside a form like a browser. In HTML, a browser ignores the
nested form and takes its end tag for that of the parent, which
matters for parsers that keep the nested form, such as
html.parser. In XHTML and in a template, nested forms are real
forms.
- FIX: :checked now matches the option that a browser would select.
Without multiple, that is only the last option with a selected
attribute in a select, and if there are none and the select shows
a single option, the first option that is not disabled. :default
still only considers the selected attribute.
- FIX: Fix [attribute!=value] excluding values that only start with
the specified value, and in XML documents, type values that
contain a newline.
- FIX: Match the values of every attribute that the HTML
specification lists as ASCII case insensitive (rel, method, lang,
dir, ...) without ASCII case sensitivity on HTML elements in HTML
documents, not just type. Non-HTML elements are matched case
sensitively.
- FIX: :dir() now matches non-HTML elements, such as SVG and
MathML, by the direction they inherit from their parent (the dir
attribute only applies to HTML elements), and HTML elements
inside them, such as in an SVG foreignObject, by the direction of
their ancestors.
- FIX: Fix :dir() ignoring the value of an input with dir="auto"
and a missing or empty type.
- FIX: :dir() now uses a table generated from Unicode 18 instead of
unicodedata, so results no longer depend on the Unicode version
of the Python in use, and unassigned code points use their
default direction.
- FIX: :dir() now uses the value of an input with dir="auto" when
type is hidden, password, submit, reset, or button, as the HTML
specification does.
- FIX: dir="auto" and bdi now analyze the text of non-HTML
elements, such as SVG and MathML, and only ignore HTML elements
such as script, style, and bdi. The text directly in an iframe is
analyzed as well, and the contents of a template, which are not
part of the document, are not.
- FIX: :dir() no longer lets the contents of a template inherit
direction from the template or its ancestors, as they are not
part of the document. They are left to right unless they specify
otherwise.
- FIX: :dir() now matches a bdi element that is the root by its
text instead of assuming left to right.
- FIX: :dir() now treats any element without a parent element as
left to right, not just the root. Before, all but the first top
level element of a fragment parsed with html.parser never
matched.
- FIX: :dir() now accepts any identifier, as CSS requires,
including escaped ones. Values other than ltr and rtl do not
match anything.
- FIX: Respect namespaces provided by the parser when the root is
not an HTML element, such as an svg element extracted from an
html5lib document. Previously every element in such a tree was
treated as an HTML element, which affected namespace selectors,
namespaced attributes, and HTML specific pseudo-classes.
- FIX: Fix :lang() treating an element with an empty lang or
xml:lang attribute as having the language of a tagged ancestor.
- FIX: Cache forms without a default button when matching :default
to avoid quadratic time on forms with many non-default submit
candidates.
- FIX: Fix :in-range and :out-of-range matching elements whose
value, min, or max has a trailing newline; per HTML, such values
are not valid, so they are treated like a missing value and
cannot be out of range.
- FIX: Fix :in-range and :out-of-range raising ValueError when a
date, month, week, or local date and time input has a year with
more digits than Python will convert; such a year is now treated
as invalid.
- FIX: Fix :in-range and :out-of-range not recognizing a
datetime-local value, min, or max that uses a single space
instead of T to separate the date and time.
- FIX: Search a form only once for checked radio buttons when
matching :indeterminate to avoid quadratic time on forms with
many radio button groups.
- FIX: :lang() now uses the lang attribute of SVG elements, as the
HTML specification does (with xml:lang taking precedence).
Previously only xml:lang was considered for elements outside the
HTML namespace.
- FIX: :defined no longer matches HTML elements with an is
attribute (customized built-in elements), which, like custom
elements, are undefined until they are registered.
- FIX: Cache the index of each child when matching the general
sibling combinator (a ~ b and :has(~ b)) to avoid quadratic time
when the first matching sibling is far into a long list of
siblings.
- FIX: Match attribute values with the i modifier using ASCII case
insensitivity.
- FIX: Treat an input with an unknown type, such as type="foo", as
a text input in :placeholder-shown, :read-write, :read-only and
:dir(), as an invalid type is in the Text state in the HTML
specification.
- FIX: Fix :enabled and :disabled never matching input elements
with type="hidden".
- FIX: :required no longer matches input elements of types the
required attribute does not apply to (hidden, range, color,
submit, image, reset and button). Like in browsers, they match
:optional.
- FIX: Cache whether an element is or has a matching ancestor when
matching the descendant combinator (a b) to avoid time that grows
with the depth of the document to the power of the number of
combinators.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
This commit is contained in:
1 parent
166ce30d4c
commit
6178510d46
1 file changed
+1
-1
+1
-1
@@ -4,7 +4,7 @@ HOMEPAGE = "https://github.com/facelessuser/soupsieve"
|
||||
LICENSE = "MIT"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE.md;md5=74851a2f1e5c07496dcb452af6a6bf54"
|
||||
|
||||
SRC_URI[sha256sum] = "924fab84ae21604c19e175e1f39815eb6fa83ba23836e09e9de180925e5bc4c0"
|
||||
SRC_URI[sha256sum] = "ccd6470b256394ac44b08b86fd94b30a17d335a5335c8a3d15565f7b03d3c8cf"
|
||||
|
||||
inherit pypi python_hatchling ptest-python-pytest
|
||||
|
||||
Reference in new issue
Block a user