Skip to content

Update soupsieve to 2.8.2#183

Closed
pyup-bot wants to merge 1 commit intomasterfrom
pyup-update-soupsieve-2.2.1-to-2.8.2
Closed

Update soupsieve to 2.8.2#183
pyup-bot wants to merge 1 commit intomasterfrom
pyup-update-soupsieve-2.2.1-to-2.8.2

Conversation

@pyup-bot
Copy link
Collaborator

This PR updates soupsieve from 2.2.1 to 2.8.2.

Changelog

2.8.2

-   **FIX**: Ensure custom selectors or namespace dictionaries reject non-string keys (mundanevision20).
-   **FIX**: Fix handling of `:in-range` and `:out-of-range` with end of year weeks (mundanevision20).
-   **FIX**: Fix a potential infinite loop in the pretty printing debug function (mundanevision20).

2.8.1

-   **FIX**: Changes in tests to accommodate latest Python HTML parser changes.

2.8

-   **NEW**: Drop support for Python 3.8.
-   **NEW**: Add support for Python 3.14.
-   **NEW**: Deploy with PyPI's "Trusted Publisher".

2.7

-   **NEW**: Add `:open` pseudo selector.
-   **NEW**: Add `:muted` pseudo selector.
-   **NEW**: Recognize the following pseudo selectors: `:autofill`, `:buffering`, `:fullscreen`, `:picture-in-picture`,
 `:popover-open`, `:seeking`, `:stalled`, and `:volume-locked`. These selectors, while recognized, will not match any
 element as they require a live environment to check element states and browser states. This just prevents Soup Sieve
 from failing when any of these selectors are specified.
-   **NEW**: A number of existing pseudo-classes are no longer noted as experimental.
-   **FIX**: Typing fixes.

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

-   **NEW**: Update to support Python 3.12.
-   **NEW**: Drop support for Python 3.7.

2.4.1

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

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

- **FIX**: Documentation for installation from source is outdated.

2.3.2

- **FIX**: Fix some typos in error messages.

2.3.1

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

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.
Links

@pyup-bot
Copy link
Collaborator Author

Closing this in favor of #184

@pyup-bot pyup-bot closed this Jan 20, 2026
@khoivan88 khoivan88 deleted the pyup-update-soupsieve-2.2.1-to-2.8.2 branch January 20, 2026 05:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant