jsoup 1.15.3 is out now, and includes a security fix for potential XSS attacks, along with other bug fixes and improvements, including more descriptive validation error messages.
jsoup 1.14.3 is out now, adding native XPath selector support, improved \<template> support, and also includes a bunch of bug fixes, improvements, and performance enhancements.
Caught by the fuzz! jsoup 1.14.2 is out now, and includes a set of parser bug fixes and improvements for handling rough HTML and XML, as identified by the Jazzer JVM fuzzer. This release also includes other fixes and improvements.
jsoup 1.14.1 is out now, with simple request session management, increased parse robustness, and a ton of other improvements, speed-ups, and bug fixes.
See the full announcement for all the details on what's changed.
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: 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 preceeding 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.
Bugfix: form elements and empty elements (such as img) did not have their attributes de-duplicated.
jhy/jsoup#1950
Change: removed previously deprecated methods Document#normalise, Element#forEach(org.jsoup.helper.Consumer<>),
Node#forEach(org.jsoup.helper.Consumer<>), and the org.jsoup.helper.Consumer interface; the latter being a
previously required compatibility shim prior to Android's de-sugaring support.
Release 1.16.1 [29-Apr-2023]
Improvement: in Jsoup.connect(url), natively support URLs with Unicode characters in the path or query string,
without having to be escaped by the caller.
jhy/jsoup#1914
Improvement: Calling Node.remove() on a node with no parent is now a no-op, vs a validation error.
jhy/jsoup#1898
Bugfix: aligned the HTML Tree Builder processing steps for AfterBody and AfterAfterBody to the updated WHATWG
standard, to not pop the stack to close or elements. This prevents an errant closing preceding
structure. Also added appropriate error message outputs in this case.
jhy/jsoup#1851
Bugfix: Corrected support for ruby elements (, , , and ) to current spec.
jhy/jsoup#1294
Bugfix: When using Node.before(node) or Node.after(node), if the incoming node was a sibling of the context node,
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 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)
You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/googleinterns/step/network/alerts).
Bumps org.jsoup:jsoup from 1.8.3 to 1.15.3.
Release notes
Sourced from org.jsoup:jsoup's releases.
Changelog
Sourced from org.jsoup:jsoup's changelog.
... (truncated)
Commits
c596417
[maven-release-plugin] prepare release jsoup-1.15.3d2d9ac3
Changelog for URL cleaner improvement4ea768d
Strip control characters from URLs when resolving absolute URLs985f1fe
Include help link for malformed URLs6b67d05
Improved Validate error messages653da57
Normalized API doc link5ed84f6
Simplified the Test Server startupc58112a
Set the read size correctly when cappedfa13c80
Added jar manifest default implementation entries.5b19390
Bump maven-resources-plugin from 3.2.0 to 3.3.0 (#1814)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 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) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/googleinterns/step/network/alerts).