Attribute object accessors: Added Element.attribute(String) and Attributes.attribute(String) to more simply
obtain an Attribute object. 2069
Attribute source tracking: If source tracking is on, and an Attribute's key is changed (
via Attribute.setKey(String)), the source range is now still tracked
in Attribute.sourceRange(). 2070
Wildcard attribute selector: Added support for the [*] element with any attribute selector. And also restored
support for selecting by an empty attribute name prefix ([^]). 2079
Bug Fixes
Mixed-cased source position: When tracking the source position of attributes, if the source attribute name was
mix-cased but the parser was lower-case normalizing attribute names, the source position for that attribute was not
tracked correctly. 2067
Source position NPE: When tracking the source position of a body fragment parse, a null pointer
exception was thrown. 2068
Multi-point emoji entity: A multi-point encoded emoji entity may be incorrectly decoded to the replacement
character. 2074
Selector sub-expressions: (Regression) in a selector like parent [attr=va], other, the , OR was binding
to [attr=va] instead of parent [attr=va], causing incorrect selections. The fix includes a EvaluatorDebug class
that generates a sexpr to represent the query, allowing simpler and more thorough query parse
tests. 2073
XML CData output: When generating XML-syntax output from parsed HTML, script nodes containing (pseudo) CData
sections would have an extraneous CData section added, causing script execution errors. Now, the data content is
emitted in a HTML/XML/XHTML polyglot format, if the data is not already within a CData
section. 2078
Thread safety: The :has evaluator held a non-thread-safe Iterator, and so if an Evaluator object was
shared across multiple concurrent threads, a NoSuchElement exception may be thrown, and the selected results may be
incorrect. Now, the iterator object is a thread-local. 2088
Attribute object accessors: Added Element.attribute(String) and Attributes.attribute(String) to more simply
obtain an Attribute object. 2069
Attribute source tracking: If source tracking is on, and an Attribute's key is changed (
via Attribute.setKey(String)), the source range is now still tracked
in Attribute.sourceRange(). 2070
Wildcard attribute selector: Added support for the [*] element with any attribute selector. And also restored
support for selecting by an empty attribute name prefix ([^]). 2079
Bug Fixes
Mixed-cased source position: When tracking the source position of attributes, if the source attribute name was
mix-cased but the parser was lower-case normalizing attribute names, the source position for that attribute was not
tracked correctly. 2067
Source position NPE: When tracking the source position of a body fragment parse, a null pointer
exception was thrown. 2068
Multi-point emoji entity: A multi-point encoded emoji entity may be incorrectly decoded to the replacement
character. 2074
Selector sub-expressions: (Regression) in a selector like parent [attr=va], other, the , OR was binding
to [attr=va] instead of parent [attr=va], causing incorrect selections. The fix includes a EvaluatorDebug class
that generates a sexpr to represent the query, allowing simpler and more thorough query parse
tests. 2073
XML CData output: When generating XML-syntax output from parsed HTML, script nodes containing (pseudo) CData
sections would have an extraneous CData section added, causing script execution errors. Now, the data content is
emitted in a HTML/XML/XHTML polyglot format, if the data is not already within a CData
section. 2078
Thread safety: The :has evaluator held a non-thread-safe Iterator, and so if an Evaluator object was
shared across multiple concurrent threads, a NoSuchElement exception may be thrown, and the selected results may be
incorrect. Now, the iterator object is a thread-local. 2088
Older changes for versions 0.1.1 (2010-Jan-31) through 1.17.1 (2023-Nov-27) may be found in
change-archive.txt.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
⚠️ Dependabot is rebasing this PR ⚠️
Rebasing might not happen immediately, so don't worry if this takes some time.
Note: if you make any changes to this PR yourself, they will take precedence over the rebase.
Bumps org.jsoup:jsoup from 1.15.4 to 1.17.2.
Release notes
Sourced from org.jsoup:jsoup's releases.
... (truncated)
Changelog
Sourced from org.jsoup:jsoup's changelog.
Commits
9dec1ba
[maven-release-plugin] prepare release jsoup-1.17.2d3a5724
Changelog for 1.17.21963a7c
Bump org.apache.maven.plugins:maven-compiler-plugin from 3.12.0 to 3.12.1 (#2...d4b2c36
Simplify node filtering operations using Streams API (#2080)78be89a
Move iter into Has class374ded2
Use a threadlocal to hold the NodeIterator4fb1036
Bump org.apache.maven.plugins:maven-surefire-plugin from 3.2.2 to 3.2.3 (#2086)c9ce65a
Bump org.apache.maven.plugins:maven-failsafe-plugin from 3.2.2 to 3.2.3 (#2085)20c9162
Bump org.apache.maven.plugins:maven-compiler-plugin from 3.11.0 to 3.12.0 (#2...d5bc100
Corrected namespace testsDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show