Skip to content

Releases: facelessuser/soupsieve

2.5

02 Sep 12:47
Compare
Choose a tag to compare

2.5

  • NEW: Update to support Python 3.12.
  • NEW: Drop support for Python 3.7.

2.4.1

16 Apr 23:55
Compare
Choose a tag to compare

2.4.1

  • FIX: Attribute syntax for case insensitive flag optionally allows a space, it does not require one.

2.4

14 Feb 16:31
Compare
Choose a tag to compare
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 not lang=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

14 Apr 12:57
Compare
Choose a tag to compare

2.3.2.post1

  • FIX: Documentation for installation from source is outdated.

2.3.2

06 Apr 14:42
e79f532
Compare
Choose a tag to compare

2.3.2

  • FIX: Fix some typos in error messages.

2.3.1

11 Nov 13:52
Compare
Choose a tag to compare

2.3.1

  • FIX: Ensure attribute selectors match tags that have new lines characters in attributes. (#233)

2.3

03 Nov 16:08
dad06a5
Compare
Choose a tag to compare
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

19 Mar 04:58
Compare
Choose a tag to compare

2.2.1

  • FIX: Fix an issue with namespaces when one of the keys is self.

2.2

09 Feb 19:56
Compare
Choose a tag to compare
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)

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.