Bumpsorg.jsoup:jsoup from 1.15.4 to 1.18.3.
Release notes
Sourced fromorg.jsoup:jsoup's releases.
jsoup-1.18.3
1.18.3 is a quick release to fix#2235 in1.18.2.
Please see also the full release notes forjsoup 1.18.2 if you are coming from an earlier release.
Bug Fixes
- When serializing to XML, attribute names containing
-,., or digits were incorrectly considered invalid and removed.#2235
jsoup 1.18.2
Improvements
- Optimized the throughput and memory use throughout the input read and parse flows, with heap allocations and GC down between -6% and -89%, and throughput improved up to +143% for small inputs. Most inputs sizes will see throughput increases of ~ 20%. These performance improvements come through recycling the backing
byte[] andchar[] arrays used to read and parse the input.2186 - Speed optimized
html() andEntities.escape() when the input contains UTF characters in a supplementary plane, by around 49%.2183 - The form associated elements returned by
FormElement.elements() now reflect changes made to the DOM, subsequently to the original parse.2140 - In the
TreeBuilder, theonNodeInserted() andonNodeClosed() events are now also fired for the outermost / rootDocument node. This enables source position tracking on the Document node (which was previously unset). And it also enables the node traversor to see the outer Document node.2182 - Selected Elements can now be position swapped inline using
Elements#set().2212
Bug Fixes
Element.cssSelector() would fail if the element's class contained a* character.2169- When tracking source ranges, a text node following an invalid self-closing element may be left untracked.2175
- When a document has no doctype, or a doctype not named
html, it should be parsed in Quirks Mode.2197 - With a selector like
div:has(span + a), thehas() component was not working correctly, as the inner combining query caused the evaluator to match those against the outer's siblings, not children.2187 - A selector query that included multiple
:has() components in a nested:has() might incorrectly execute.2131 - When cookie names in a response are duplicated, the simple view of cookies available via
Connection.Response#cookies() will provide the last one set. Generally it is better to use theJsoup.newSession method to maintain a cookie jar, as that applies appropriate path selection on cookies when making requests.1831 - When parsing named HTML entities, base entities should resolve if they are a prefix of the input token (and not in an attribute).2207
- Fixed incorrect tracking of source ranges for attributes merged from late-occurring elements that were implicitly created (
html orbody).2204 - Follow the current HTML specification in the tokenizer to allow
< as part of a tag name, instead of emitting it as a character node.2230 - Similarly, allow a
< as the start of an attribute name, vs creating a new element. The previous behavior was intended to parse closer to what we anticipated the author's intent to be, but that does not align to the spec or to how browsers behave.1483
jsoup-1.18.1
https://jsoup.org/news/release-1.18.1
Improvements
- Stream Parser: A
StreamParser provides a progressive parse of its input. As eachElement is completed, it isemitted via aStream orIterator interface. Elements returned will be complete with all their children, and an(empty) next sibling, if applicable. Elements (or their children) may be removed from the DOM during the parse,for e.g. to conserve memory, providing a mechanism to parse an input document that would otherwise be too large to fitinto memory, yet still providing a DOM interface to the document and its elements. Additionally, the parser providesaselectFirst(String query) /selectNext(String query), which will run the parser until a hit is found, at whichpoint the parse is suspended. It can be resumed via anotherselect() call, or via thestream() oriterator()methods.2096 - Download Progress: added a Response Progress event interface, which reports progress and URLs are downloaded (andparsed). Supported on both a session and a single connectionlevel.2164,656
- Added
Path accepting parse methods:Jsoup.parse(Path),Jsoup.parse(path, charsetName, baseUri, parser),etc.2055 - Updated the
button tag configuration to include a space between multiple button elements in theElement.text()
... (truncated)
Changelog
Sourced fromorg.jsoup:jsoup's changelog.
1.18.3 (PENDING)
Bug Fixes
- When serializing to XML, attribute names containing
-,., or digits were incorrectly marked as invalid andremoved.2235
1.18.2 (2024-Nov-27)
Improvements
- Optimized the throughput and memory use throughout the input read and parse flows, with heap allocations and GCdown between -6% and -89%, and throughput improved up to +143% for small inputs. Most inputs sizes will seethroughput increases of ~ 20%. These performance improvements come through recycling the backing
byte[] andchar[]arrays used to read and parse the input.2186 - Speed optimized
html() andEntities.escape() when the input contains UTF characters in a supplementary plane, byaround 49%.2183 - The form associated elements returned by
FormElement.elements() now reflect changes made to the DOM,subsequently to the original parse.2140 - In the
TreeBuilder, theonNodeInserted() andonNodeClosed() events are now also fired for the outermost /rootDocument node. This enables source position tracking on the Document node (which was previously unset). Andit also enables the node traversor to see the outer Document node.2182 - Selected Elements can now be position swapped inline using
Elements#set().2212
Bug Fixes
Element.cssSelector() would fail if the element's class contained a*character.2169- When tracking source ranges, a text node following an invalid self-closing element may be leftuntracked.2175
- When a document has no doctype, or a doctype not named
html, it should be parsed in QuirksMode.2197 - With a selector like
div:has(span + a), thehas() component was not working correctly, as the inner combiningquery caused the evaluator to match those against the outer's siblings, notchildren.2187 - A selector query that included multiple
:has() components in a nested:has() might incorrectlyexecute.2131 - When cookie names in a response are duplicated, the simple view of cookies available via
Connection.Response#cookies() will provide the last one set. Generally it is better to usetheJsoup.newSession method to maintain a cookie jar, as thatapplies appropriate path selection on cookies when making requests.1831 - When parsing named HTML entities, base entities should resolve if they are a prefix of the input token (and not in anattribute).2207
- Fixed incorrect tracking of source ranges for attributes merged from late-occurring elements that were implicitlycreated (
html orbody).2204 - Follow the current HTML specification in the tokenizer to allow
< as part of a tag name, instead of emitting it as acharacter node.2230 - Similarly, allow a
< as the start of an attribute name, vs creating a new element. The previous behavior wasintended to parse closer to what we anticipated the author's intent to be, but that does not align to the spec or to
... (truncated)
Commits
7c56eb2 [maven-release-plugin] prepare release jsoup-1.18.3bf13b49 Assert namespaced attribute with digit0a4b830 Fix XML attribute validationf6e82f2 Note 1.18.2 release date2a174dc [maven-release-plugin] prepare for next development iteration71063c3 [maven-release-plugin] prepare release jsoup-1.18.21a91aac Use the incoming node's parent if outgoing has already been removeddf404cf test case for Issue#221228db617 Test for#1938d27370a Follow spec so< can start an attribute name- Additional commits viewable incompare view

You can trigger a rebase of this PR 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 <dependency name> 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)
Note
Automatic rebases have been disabled on this pull request as it has been open for over 30 days.
Uh oh!
There was an error while loading.Please reload this page.
Bumpsorg.jsoup:jsoup from 1.15.4 to 1.18.3.
Release notes
Sourced fromorg.jsoup:jsoup's releases.
... (truncated)
Changelog
Sourced fromorg.jsoup:jsoup's changelog.
... (truncated)
Commits
7c56eb2[maven-release-plugin] prepare release jsoup-1.18.3bf13b49Assert namespaced attribute with digit0a4b830Fix XML attribute validationf6e82f2Note 1.18.2 release date2a174dc[maven-release-plugin] prepare for next development iteration71063c3[maven-release-plugin] prepare release jsoup-1.18.21a91aacUse the incoming node's parent if outgoing has already been removeddf404cftest case for Issue#221228db617Test for#1938d27370aFollow spec so<can start an attribute nameYou can trigger a rebase of this PR by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill 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 versionwill 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 dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)