Improvement: in the Elements list, added direct support for #set(index, element), #remove(index),
#remove(object), #clear(), #removeAll(collection), #retainAll(collection), #removeIf(filter),
#replaceAll(operator). These methods update the original DOM, as well as the Elements list.
jhy/jsoup#2017
Improvement: when changing the OutputSettings syntax to XML, the xhtml EscapeMode is automatically set by default.
Bugfix: when outputting with XML syntax, HTML elements that were parsed as data nodes ( and ) should
be emitted as CDATA nodes, so that they can be parsed correctly by an XML parser.
jhy/jsoup#1720
Bugfix: the Immediate Parent selector > could match elements above the root context element, causing incorrect
elements to be returned when used on elements other than the root document.
jhy/jsoup#2018
Release 1.16.2 [20-Oct-2023]
Improvement: optimized the performance of complex CSS selectors, by adding a cost-based query planner. Evaluators
are sorted by their relative execution cost, and executed in order of lower to higher cost. This speeds the
matching process by ensuring that simpler evaluations (such as a tag name match) are conducted prior to more
complex evaluations (such as an attribute regex, or a deep child scan with a :has).
Improvement: added support for and tags (and their children). This includes tag namespaces and case
preservation on applicable tags and attributes.
jhy/jsoup#2008
Improvement: when converting jsoup Documents to W3C Documents in W3CDom, HTML documents will be placed in the
http://www.w3.org/1999/xhtml namespace by default, per the HTML5 spec. This can be controlled by setting
W3CDom#namespaceAware(false).
jhy/jsoup#1848
Improvement: speed optimized the Structural Evaluators by memoizing previous evaluations. Particularly the ~
(any preceding sibling) and :nth-of-type selectors are improved.
jhy/jsoup#1956
Improvement: tweaked the performance of the Element nextElementSibling, previousElementSibling, firstElementSibling,
lastElementSibling, firstElementChild, and lastElementChild. They now inplace filter/skip in the child-node list, vs
having to allocate and scan a complete Element filtered list.
Improvement: optimized internal methods that previously called Element.children() to use filter/skip child-node list
accessors instead, reducing new Element List allocations.
Improvement: tweaked the performance of parsing :pseudo selectors.
Improvement: when using the :empty pseudo-selector, blank textnodes are now considered empty. Previously,
an element containing any whitespace was not considered empty.
jhy/jsoup#1976
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)
Bumps org.jsoup:jsoup from 1.16.1 to 1.16.2.
Release notes
Sourced from org.jsoup:jsoup's releases.
... (truncated)
Changelog
Sourced from org.jsoup:jsoup's changelog.
... (truncated)
Commits
db6dc74
[maven-release-plugin] prepare release jsoup-1.16.2da4e275
Update some URL tests6ccd158
Escape supplemental characters correctlyf0eb6bd
Don't recode ascii only strings9de27fa
Only attempt to correct 8559 -> UTF on response headerseff1521
Clear child nodes' parent on parent.empty()545145a
Update testcase7a83ffe
Made getEnforcedAttributes public8a59792
Make isSafe* public5f20fcc
Prevent noscript tags in SafelistDependabot 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