- **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.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 `|`.
1.9.5
- **FIX**: `:placeholder-shown` should not match if the element has content that overrides the placeholder.
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
- **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
- **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.