Skip to content

Releases: facelessuser/soupsieve

2.1.0

10 Dec 23:42
Compare
Choose a tag to compare

2.1.0

  • NEW: Officially support Python 3.9.
  • NEW: Drop official support for Python 3.5.
  • NEW: In order to avoid conflicts with future CSS specification changes, non-standard pseudo classes will now start with the :-soup- prefix. As a consequence, :contains() will now be known as :-soup-contains(), though for a time the deprecated form of :contains() will still be allowed with a warning that users should migrate over to :-soup-contains().
  • NEW: Added new non-standard pseudo class :-soup-contains-own() which operates similar to :-soup-contains() except that it only looks at text nodes directly associated with the currently scoped element and not its descendants.
  • FIX: Import bs4 globally instead of in local functions as it appears there are no adverse affects due to
    circular imports as bs4 does not immediately reference soupsieve functions and soupsieve does not immediately reference bs4 functions. This should give a performance boost to functions that had previously included bs4 locally.

2.0.1

16 May 23:02
Compare
Choose a tag to compare

2.0.1

  • FIX: Remove unused code.

1.9.6

16 May 22:59
f9c96ec
Compare
Choose a tag to compare

1.9.6

Note: Last version for Python 2.7

  • FIX: Prune dead code.
  • FIX: Corner case with splitting namespace and tag name that that have an escaped |.

2.0.0

23 Feb 02:07
a12d2b9
Compare
Choose a tag to compare

2.0.0

  • NEW: SelectorSyntaxError is derived from Exception not SyntaxError.
  • NEW: Remove deprecated comments and icomments from the API.
  • NEW: Drop support for EOL Python versions (Python 2 and Python < 3.5).
  • FIX: Corner case with splitting namespace and tag name that have an escaped |.

1.9.5

02 Nov 14:47
Compare
Choose a tag to compare

1.9.5

  • FIX: :placeholder-shown should not match if the element has content that overrides the placeholder.

1.9.4

26 Sep 12:57
de2119a
Compare
Choose a tag to compare

1.9.4

  • FIX: :checked rule was too strict with option elements. The specification for :checked does not require an
    option element to be under a select element.
  • FIX: Fix level 4 :lang() wildcard match handling with singletons. Implicit wildcard matching should not
    match any singleton. Explicit wildcard matching (* in the language range: *-US) is allowed to match singletons.

1.9.3

18 Aug 01:02
b613074
Compare
Choose a tag to compare

1.9.3

  • FIX: [attr!=value] pattern was mistakenly using :not([attr|=value]) logic instead of :not([attr=value]).
  • FIX: Remove undocumented _QUIRKS mode flag. Beautiful Soup was meant to use it to help with transition to Soup Sieve, but never released with it. Help with transition at this point is no longer needed.

1.9.2

23 Jun 21:48
Compare
Choose a tag to compare

1.9.2

  • FIX: Shortcut last descendant calculation if possible for performance.
  • FIX: Fix issue where Doctype strings can be mistaken for a normal text node in some cases.
  • FIX: A top level tag is not a :root tag if it has sibling text nodes or tag nodes. This is an issue that mostly manifests when using html.parser as the parser will allow multiple root nodes.

1.9.1

13 Apr 21:10
ce5a65a
Compare
Choose a tag to compare

1.9.1

  • FIX: :root, :contains(), :default, :indeterminate, :lang(), and :dir() will properly account for HTML iframe elements in their logic when selecting or matching an element. Their logic will be restricted to the document for which the element under consideration applies.
  • FIX: HTML pseudo-classes will check that all key elements checked are in the XHTML namespace (HTML parsers that do not provide namespaces will assume the XHTML namespace).
  • FIX: Ensure that all pseudo-class names are case insensitive and allow CSS escapes.

1.9.0

26 Mar 01:34
Compare
Choose a tag to compare

1.9.0

  • NEW: Allow :contains() to accept a list of text to search for. (#115)
  • NEW: Add new escape function for escaping CSS identifiers. (#125)
  • NEW: Deprecate comments and icomments functions in the API to ensure Soup Sieve focuses only in CSS selectors. comments and icomments will most likely be removed in 2.0. (#130)
  • NEW: Add Python 3.8 support. (#133)
  • FIX: Don't install test files when installing the soupsieve package. (#111)
  • FIX: Improve efficiency of :contains() comparison.
  • FIX: Null characters should translate to the Unicode REPLACEMENT CHARACTER (U+FFFD) according to the specification. This applies to CSS escaped NULL characters as well. (#124)
  • FIX: Escaped EOF should translate to U+FFFD outside of CSS strings. In a string, they should just be ignored, but as there is no case where we could resolve such a string and still have a valid selector, string handling remains the same. (#128)