dependabot[bot] opened a new pull request, #7578: URL: https://github.com/apache/myfaces-tobago/pull/7578
Bumps [org.jsoup:jsoup](https://github.com/jhy/jsoup) from 1.23.1 to 1.23.2. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/jhy/jsoup/releases">org.jsoup:jsoup's releases</a>.</em></p> <blockquote> <h2>jsoup 1.23.2</h2> <p><strong>jsoup 1.23.2</strong> is out now. This release focuses largely on bug fixes, specification correctness, and performance improvements.</p> <p>It brings closer alignment with the HTML, XML, URL, and form submission specifications; improves XML and W3C DOM conversion; and makes HTTP workloads more efficient through streamed request bodies and broader JDK <code>HttpClient</code> reuse.</p> <p>This version also includes new node insertion methods for <code>Elements</code>, and DOM mutations now reject operations that would create a cycle.</p> <p><strong>jsoup</strong> is a Java library for working with real-world HTML and XML. It provides a very convenient API for extracting and manipulating data, using the best of HTML5 DOM methods and CSS selectors.</p> <p><a href="https://jsoup.org/download"><strong>Download</strong></a> jsoup now.</p> <h2>Improvements</h2> <ul> <li>Improved consecutive <code>StreamParser.selectFirst()</code> calls during progressive parsing, so later matches are returned with their parsed contents when earlier selections had left them as parser lookahead. E.g., given <code><title>One</title><p id=hit>Full</p><p>Next</p></code>, selecting <code>title</code> and then <code>#hit</code> now advances the partial lookahead and returns <code><p id="hit">Full</p></code>, rather than returning an empty <code><p id="hit"></p></code> before its content is parsed. The updated readiness tracking follows StreamParser's normal emission order across implicit HTML structure and parser recovery. <!-- raw HTML omitted --><a href="https://redirect.github.com/jhy/jsoup/pull/2551">#2551</a><!-- raw HTML omitted --></li> <li>Improved XML parser performance and memory use for documents with many nested namespace declarations by recording namespace changes within each element scope. <!-- raw HTML omitted --><a href="https://redirect.github.com/jhy/jsoup/pull/2556">#2556</a><!-- raw HTML omitted --></li> <li>Improved <code>W3CDom</code> conversion performance for documents with many nested namespace declarations. The W3C converter now uses the same optimized namespace tracking as the XML parser. <!-- raw HTML omitted --><a href="https://redirect.github.com/jhy/jsoup/pull/2559">#2559</a><!-- raw HTML omitted --></li> <li>Improved <code>W3CDom</code> XML conversion to retain processing instructions, comments outside the root element, and CDATA sections, which were previously dropped or converted to text. <!-- raw HTML omitted --><a href="https://redirect.github.com/jhy/jsoup/issues/2572">#2572</a><!-- raw HTML omitted --></li> <li>DOM mutation methods, including child insertion and replacement, now reject operations that would create a cycle, such as making a node its own child or moving an ancestor beneath a descendant. <!-- raw HTML omitted --><a href="https://redirect.github.com/jhy/jsoup/issues/2552">#2552</a><!-- raw HTML omitted --></li> <li>Added <code>Elements#before(Node)</code>, <code>after(Node)</code>, <code>prepend(Node)</code>, and <code>append(Node)</code> to match the existing HTML string methods. <!-- raw HTML omitted --><a href="https://redirect.github.com/jhy/jsoup/issues/953">#953</a><!-- raw HTML omitted --></li> <li>Large file-backed uploads through <code>Connection.requestBodyStream(InputStream)</code> now stream directly with the JDK <code>HttpClient</code> on Java 11+, rather than being loaded fully into memory first. <!-- raw HTML omitted --><a href="https://redirect.github.com/jhy/jsoup/pull/2576">#2575</a><!-- raw HTML omitted --></li> <li>Extended Java 11+ HTTP client reuse from requests sharing a <code>Jsoup.newSession()</code> to ordinary <code>Jsoup.connect()</code> calls, reducing transport thread and connection setup churn under sustained request loads. Sessions with custom authentication or SSL contexts continue to use their own client. <!-- raw HTML omitted --><a href="https://redirect.github.com/jhy/jsoup/pull/2584">#2584</a><!-- raw HTML omitted --></li> </ul> <h2>Changes</h2> <ul> <li>Aligned the XML parser stack depth and lookups to the configured maximum, which now defaults to 512 for both HTML and XML. Use <code>Parser#setMaxDepth(int)</code> to configure. <!-- raw HTML omitted --><a href="https://redirect.github.com/jhy/jsoup/pull/2570">#2570</a><!-- raw HTML omitted --></li> </ul> <h2>Bug Fixes</h2> <ul> <li>Fixed <code>W3CDom</code> namespace conversion in several cases: <!-- raw HTML omitted --><a href="https://redirect.github.com/jhy/jsoup/pull/2559">#2559</a><!-- raw HTML omitted --> <ul> <li>Namespace declarations and prefixed attributes now carry the correct namespace URI, so namespace-aware DOM lookups work as expected.</li> <li>Attributes added after parsing, or included through subtree conversion, now use inherited prefix declarations.</li> <li>Namespace declarations now apply regardless of attribute order, and an empty declaration shadows an inherited binding only within its scope.</li> <li>With namespace awareness disabled, inherited and undeclared prefixes now receive the declarations needed for XML serialization.</li> <li>Valid HTML names that are not XML QNames, such as <code>a:b:c</code>, are normalized. Attributes that still cannot be represented are skipped, and unrepresentable elements no longer change the surrounding tree.</li> </ul> </li> <li>Fixed <code>W3CDom</code> conversion of programmatically created or renamed elements whose names can be represented in a jsoup HTML DOM but are not valid XML names, such as <code>1abc</code>. These names are now normalized (e.g. <code>_1abc</code>) instead of causing a <code>NullPointerException</code>. <!-- raw HTML omitted --><a href="https://redirect.github.com/jhy/jsoup/issues/2560">#2560</a><!-- raw HTML omitted --></li> <li>Fixed XML doctype serialization when a system identifier contains a double quote, which could otherwise produce invalid XML. <!-- raw HTML omitted --><a href="https://redirect.github.com/jhy/jsoup/issues/2571">#2571</a><!-- raw HTML omitted --></li> <li>XML serialization now repairs element and attribute names that start with an invalid character, rather than outputting <code>null</code> elements or dropping attributes. For example, an attribute named <code>1a</code> is written as <code>_1a</code>. Additional leading underscores keep repaired attribute names unique if they conflict with another attribute. <!-- raw HTML omitted --><a href="https://redirect.github.com/jhy/jsoup/issues/2573">#2573</a><!-- raw HTML omitted --></li> <li>Supplementary Unicode characters are now escaped correctly when serializing with non-UTF, non-ASCII output charsets such as ISO-8859-1. Previously, characters could be emitted unescaped when their low 16-bit value was representable by the configured charset, causing replacement or corruption when the output was encoded. <!-- raw HTML omitted --><a href="https://redirect.github.com/jhy/jsoup/issues/2578">#2578</a><!-- raw HTML omitted --></li> <li>Fixed the JDK <code>HttpClient</code> implementation to accept responses missing a <code>Content-Type</code> header, matching the <code>HttpURLConnection</code> implementation. <!-- raw HTML omitted --><a href="https://redirect.github.com/jhy/jsoup/pull/2549">#2549</a><!-- raw HTML omitted --></li> <li>Fixed HTTP response content-type matching to handle media types case-insensitively and recognize structured <code>+xml</code> suffixes, including vendor-specific media types. <!-- raw HTML omitted --><a href="https://redirect.github.com/jhy/jsoup/pull/2550">#2550</a><!-- raw HTML omitted --></li> <li>HTTP request URL normalization now percent-encodes ASCII control characters, DEL, and embedded fragment delimiters, keeping normalized URLs valid for HTTP requests while preserving existing escapes. <!-- raw HTML omitted --><a href="https://redirect.github.com/jhy/jsoup/pull/2585">#2585</a><!-- raw HTML omitted --></li> <li>Corrected multipart form encoding to percent-escape CR and LF in field names and filenames, matching the HTML form submission specification. Multipart file content-types containing CR or LF are now rejected with a <code>ValidationException</code>. <!-- raw HTML omitted --><a href="https://redirect.github.com/jhy/jsoup/pull/2555">#2555</a><!-- raw HTML omitted --></li> <li>Aligned trailing comment placement with the HTML specification: comments after <code></body></code> remain children of the <code>html</code> element, while comments after <code></html></code> remain children of the document. <!-- raw HTML omitted --><a href="https://redirect.github.com/jhy/jsoup/pull/2557">#2557</a><!-- raw HTML omitted --></li> <li>When using the optional <code>re2j</code> regular expression engine, memory allocation errors caused by complex selector patterns at match time are now normalized to a <code>ValidationException</code> with a <code>Pattern complexity error</code> message.</li> <li>Fixed parsing of malformed SVG and MathML content so that breakout HTML tags are placed according to the HTML specification. <!-- raw HTML omitted --><a href="https://redirect.github.com/jhy/jsoup/issues/2562">#2562</a><!-- raw HTML omitted --></li> <li>Fixed deeply nested malformed HTML parsing that could lose the document body because stack lookups did not align to the configured maximum parser depth. <!-- raw HTML omitted --><a href="https://redirect.github.com/jhy/jsoup/pull/2569">#2569</a><!-- raw HTML omitted --></li> <li>Aligned RCDATA, RAWTEXT, and script-data parsing with the HTML specification: malformed end tags no longer consume following markup, unclosed <code>title</code>/<code>textarea</code> content stays text through EOF, and custom text tags match exact names. <!-- raw HTML omitted --><a href="https://redirect.github.com/jhy/jsoup/pull/2577">#2577</a><!-- raw HTML omitted --></li> <li>Improved URL validation during HTTP/HTTPS URL resolution and cleaning; resolved URLs without a host are now rejected instead of being accepted based only on their scheme prefix, aligning to RFC 9110. Valid relative links and non-HTTP(S) schemes are unchanged. <!-- raw HTML omitted --><a href="https://redirect.github.com/jhy/jsoup/pull/2579">#2579</a><!-- raw HTML omitted --></li> <li>Redirects with malformed single-slash HTTP locations now use standard URL resolution to align with browsers. <!-- raw HTML omitted --><a href="https://redirect.github.com/jhy/jsoup/pull/2580">#2580</a><!-- raw HTML omitted --></li> <li>Template fragment parsing now handles unmatched <code></template></code> tags without throwing a <code>ValidationException</code>. <!-- raw HTML omitted --><a href="https://redirect.github.com/jhy/jsoup/pull/2581">#2581</a><!-- raw HTML omitted --></li> <li>Improved source tracking for adopted formatting elements and malformed markup ending at EOF. <!-- raw HTML omitted --><a href="https://redirect.github.com/jhy/jsoup/pull/2582">#2582</a><!-- raw HTML omitted --></li> </ul> <hr /> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/jhy/jsoup/blob/master/CHANGES.md">org.jsoup:jsoup's changelog</a>.</em></p> <blockquote> <h2>1.23.2 (2026-Aug-26)</h2> <h3>Improvements</h3> <ul> <li>Improved consecutive <code>StreamParser.selectFirst(...)</code> calls during progressive parsing, so later matches are returned with their parsed contents when earlier selections had left them as parser lookahead. E.g., given <code><title>One</title><p id=hit>Full</p><p>Next</p></code>, selecting <code>title</code> and then <code>#hit</code> now advances the partial lookahead and returns <code><p id="hit">Full</p></code>, rather than returning an empty <code><p id="hit"></p></code> before its content is parsed. The updated readiness tracking follows StreamParser's normal emission order across implicit HTML structure and parser recovery. <a href="https://redirect.github.com/jhy/jsoup/pull/2551">#2551</a></li> <li>Improved XML parser performance and memory use for documents with many nested namespace declarations by recording namespace changes within each element scope. <a href="https://redirect.github.com/jhy/jsoup/pull/2556">#2556</a></li> <li>Improved <code>W3CDom</code> conversion performance for documents with many nested namespace declarations. The W3C converter now uses the same optimized namespace tracking as the XML parser. <a href="https://redirect.github.com/jhy/jsoup/pull/2559">#2559</a></li> <li>Improved <code>W3CDom</code> XML conversion to retain processing instructions, comments outside the root element, and CDATA sections, which were previously dropped or converted to text. <a href="https://redirect.github.com/jhy/jsoup/issues/2572">#2572</a></li> <li>DOM mutation methods, including child insertion and replacement, now reject operations that would create a cycle, such as making a node its own child or moving an ancestor beneath a descendant. <a href="https://redirect.github.com/jhy/jsoup/issues/2552">#2552</a></li> <li>Added <code>Elements#before(Node)</code>, <code>after(Node)</code>, <code>prepend(Node)</code>, and <code>append(Node)</code> to match the existing HTML string methods. <a href="https://redirect.github.com/jhy/jsoup/issues/953">#953</a></li> <li>Large file-backed uploads through <code>Connection.requestBodyStream(InputStream)</code> now stream directly with the JDK <code>HttpClient</code> on Java 11+, rather than being loaded fully into memory first. <a href="https://redirect.github.com/jhy/jsoup/pull/2576">#2575</a></li> <li>Extended Java 11+ HTTP client reuse from requests sharing a <code>Jsoup.newSession()</code> to ordinary <code>Jsoup.connect(...)</code> calls, reducing transport thread and connection setup churn under sustained request loads. Sessions with custom authentication or SSL contexts continue to use their own client. <a href="https://redirect.github.com/jhy/jsoup/pull/2584">#2584</a></li> </ul> <h3>Changes</h3> <ul> <li>Aligned the XML parser stack depth and lookups to the configured maximum, which now defaults to 512 for both HTML and XML. Use <code>Parser#setMaxDepth(int)</code> to configure. <a href="https://redirect.github.com/jhy/jsoup/pull/2570">#2570</a></li> </ul> <h3>Bug Fixes</h3> <ul> <li>Fixed <code>W3CDom</code> namespace conversion in several cases: <a href="https://redirect.github.com/jhy/jsoup/pull/2559">#2559</a> <ul> <li>Namespace declarations and prefixed attributes now carry the correct namespace URI, so namespace-aware DOM lookups work as expected.</li> <li>Attributes added after parsing, or included through subtree conversion, now use inherited prefix declarations.</li> <li>Namespace declarations now apply regardless of attribute order, and an empty declaration shadows an inherited binding only within its scope.</li> <li>With namespace awareness disabled, inherited and undeclared prefixes now receive the declarations needed for XML serialization.</li> <li>Valid HTML names that are not XML QNames, such as <code>a:b:c</code>, are normalized. Attributes that still cannot be represented are skipped, and unrepresentable elements no longer change the surrounding tree.</li> </ul> </li> <li>Fixed <code>W3CDom</code> conversion of programmatically created or renamed elements whose names can be represented in a jsoup HTML DOM but are not valid XML names, such as <code>1abc</code>. These names are now normalized (e.g. <code>_1abc</code>) instead of causing a <code>NullPointerException</code>. <a href="https://redirect.github.com/jhy/jsoup/issues/2560">#2560</a></li> <li>Fixed XML doctype serialization when a system identifier contains a double quote, which could otherwise produce invalid XML. <a href="https://redirect.github.com/jhy/jsoup/issues/2571">#2571</a></li> <li>XML serialization now repairs element and attribute names that start with an invalid character, rather than outputting <code>null</code> elements or dropping attributes. For example, an attribute named <code>1a</code> is written as <code>_1a</code>. Additional leading underscores keep repaired attribute names unique if they conflict with another attribute. <a href="https://redirect.github.com/jhy/jsoup/issues/2573">#2573</a></li> <li>Supplementary Unicode characters are now escaped correctly when serializing with non-UTF, non-ASCII output charsets such as ISO-8859-1. Previously, characters could be emitted unescaped when their low 16-bit value was representable by the configured charset, causing replacement or corruption when the output was encoded. <a href="https://redirect.github.com/jhy/jsoup/issues/2578">#2578</a></li> <li>Fixed the JDK <code>HttpClient</code> implementation to accept responses missing a <code>Content-Type</code> header, matching the <code>HttpURLConnection</code> implementation. <a href="https://redirect.github.com/jhy/jsoup/pull/2549">#2549</a></li> <li>Fixed HTTP response content-type matching to handle media types case-insensitively and recognize structured <code>+xml</code> suffixes, including vendor-specific media types. <a href="https://redirect.github.com/jhy/jsoup/pull/2550">#2550</a></li> <li>HTTP request URL normalization now percent-encodes ASCII control characters, DEL, and embedded fragment delimiters, keeping normalized URLs valid for HTTP requests while preserving existing escapes. <a href="https://redirect.github.com/jhy/jsoup/pull/2585">#2585</a></li> <li>Corrected multipart form encoding to percent-escape CR and LF in field names and filenames, matching the HTML form submission specification. Multipart file content-types containing CR or LF are now rejected with a <code>ValidationException</code>. <a href="https://redirect.github.com/jhy/jsoup/pull/2555">#2555</a></li> <li>Aligned trailing comment placement with the HTML specification: comments after <code></body></code> remain children of the <code>html</code> element, while comments after <code></html></code> remain children of the document. <a href="https://redirect.github.com/jhy/jsoup/pull/2557">#2557</a></li> <li>When using the optional <code>re2j</code> regular expression engine, memory allocation errors caused by complex selector patterns at match time are now normalized to a <code>ValidationException</code> with a <code>Pattern complexity error</code> message.</li> <li>Fixed parsing of malformed SVG and MathML content so that breakout HTML tags are placed according to the HTML specification. <a href="https://redirect.github.com/jhy/jsoup/issues/2562">#2562</a></li> <li>Fixed deeply nested malformed HTML parsing that could lose the document body because stack lookups did not align to the configured maximum parser depth. <a href="https://redirect.github.com/jhy/jsoup/pull/2569">#2569</a></li> <li>Aligned RCDATA, RAWTEXT, and script-data parsing with the HTML specification: malformed end tags no longer consume following markup, unclosed <code>title</code>/<code>textarea</code> content stays text through EOF, and custom text tags match exact names. <a href="https://redirect.github.com/jhy/jsoup/pull/2577">#2577</a></li> <li>Improved URL validation during HTTP/HTTPS URL resolution and cleaning; resolved URLs without a host are now rejected instead of being accepted based only on their scheme prefix, aligning to RFC 9110. Valid relative links and non-HTTP(S) schemes are unchanged. <a href="https://redirect.github.com/jhy/jsoup/pull/2579">#2579</a></li> <li>Redirects with malformed single-slash HTTP locations now use standard URL resolution to align with browsers. <a href="https://redirect.github.com/jhy/jsoup/pull/2580">#2580</a></li> <li>Template fragment parsing now handles unmatched <code></template></code> tags without throwing a <code>ValidationException</code>. <a href="https://redirect.github.com/jhy/jsoup/pull/2581">#2581</a></li> <li>Improved source tracking for adopted formatting elements and malformed markup ending at EOF. <a href="https://redirect.github.com/jhy/jsoup/pull/2582">#2582</a></li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/jhy/jsoup/commit/fbc7775c462f5b023d8db54c9a73d7ec17d53300"><code>fbc7775</code></a> [maven-release-plugin] prepare release jsoup-1.23.2</li> <li><a href="https://github.com/jhy/jsoup/commit/133ebde65afda061ea12818e1e65a53f5d822ea4"><code>133ebde</code></a> Release 1.23.2 notes</li> <li><a href="https://github.com/jhy/jsoup/commit/be2a74a1f6b3ad9cf2d3aeaac3f68b6c39929bc5"><code>be2a74a</code></a> Encode control chars during request URL normalization (<a href="https://redirect.github.com/jhy/jsoup/issues/2585">#2585</a>)</li> <li><a href="https://github.com/jhy/jsoup/commit/868f2eb1e6c9a2b826cd56f92b336fdbd616b241"><code>868f2eb</code></a> Java 11 HTTP client reuse covers ordinary connections (<a href="https://redirect.github.com/jhy/jsoup/issues/2584">#2584</a>)</li> <li><a href="https://github.com/jhy/jsoup/commit/19c758e2e4abc6a1f52193ceab09c22a7c010f8b"><code>19c758e</code></a> Get Animal Sniffer to run over test code as well.</li> <li><a href="https://github.com/jhy/jsoup/commit/17bb839aa5aa1519c729d78656d18adefee730cf"><code>17bb839</code></a> Fix source tracking through HTML repair and malformed EOF (<a href="https://redirect.github.com/jhy/jsoup/issues/2582">#2582</a>)</li> <li><a href="https://github.com/jhy/jsoup/commit/cad054a61f3ae241a741b6658c50d6f962dfd43c"><code>cad054a</code></a> Template stack checks need to exclude the fragment context (<a href="https://redirect.github.com/jhy/jsoup/issues/2581">#2581</a>)</li> <li><a href="https://github.com/jhy/jsoup/commit/46b620860af930eedc193a705eaf7cea5aec89a6"><code>46b6208</code></a> Paranoimia</li> <li><a href="https://github.com/jhy/jsoup/commit/66be2da4e2bd7a207700a4cc9c867d15ae74a587"><code>66be2da</code></a> HTTP redirects use standard URL resolution for single-slash locations (<a href="https://redirect.github.com/jhy/jsoup/issues/2580">#2580</a>)</li> <li><a href="https://github.com/jhy/jsoup/commit/b035b623d3d1d0c50d84056d2946ba1a90f7f665"><code>b035b62</code></a> Make hostless HTTP(S) URLs fail resolution and cleaning (<a href="https://redirect.github.com/jhy/jsoup/issues/2579">#2579</a>)</li> <li>Additional commits viewable in <a href="https://github.com/jhy/jsoup/compare/jsoup-1.23.1...jsoup-1.23.2">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) 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-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> 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 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) </details> -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
