jhy/jsoup (org.jsoup:jsoup)
### [`v1.17.2`](https://togithub.com/jhy/jsoup/blob/HEAD/CHANGES.md#1172-2023-Dec-29)
##### Improvements
- **Attribute object accessors**: Added `Element.attribute(String)` and `Attributes.attribute(String)` to more simply
obtain an `Attribute` object. [2069](https://togithub.com/jhy/jsoup/issues/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](https://togithub.com/jhy/jsoup/issues/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](https://togithub.com/jhy/jsoup/issues/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](https://togithub.com/jhy/jsoup/issues/2067)
- **Source position NPE**: When tracking the source position of a body fragment parse, a null pointer
exception was thrown. [2068](https://togithub.com/jhy/jsoup/issues/2068)
- **Multi-point emoji entity**: A multi-point encoded emoji entity may be incorrectly decoded to the replacement
character. [2074](https://togithub.com/jhy/jsoup/issues/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](https://togithub.com/jhy/jsoup/issues/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](https://togithub.com/jhy/jsoup/issues/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](https://togithub.com/jhy/jsoup/issues/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](./change-archive.txt).
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
1.17.1
->1.17.2
Release Notes
jhy/jsoup (org.jsoup:jsoup)
### [`v1.17.2`](https://togithub.com/jhy/jsoup/blob/HEAD/CHANGES.md#1172-2023-Dec-29) ##### Improvements - **Attribute object accessors**: Added `Element.attribute(String)` and `Attributes.attribute(String)` to more simply obtain an `Attribute` object. [2069](https://togithub.com/jhy/jsoup/issues/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](https://togithub.com/jhy/jsoup/issues/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](https://togithub.com/jhy/jsoup/issues/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](https://togithub.com/jhy/jsoup/issues/2067) - **Source position NPE**: When tracking the source position of a body fragment parse, a null pointer exception was thrown. [2068](https://togithub.com/jhy/jsoup/issues/2068) - **Multi-point emoji entity**: A multi-point encoded emoji entity may be incorrectly decoded to the replacement character. [2074](https://togithub.com/jhy/jsoup/issues/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](https://togithub.com/jhy/jsoup/issues/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](https://togithub.com/jhy/jsoup/issues/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](https://togithub.com/jhy/jsoup/issues/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](./change-archive.txt).Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.