All Downloads are FREE. Search and download functionalities are using the official Maven repository.

META-INF.CHANGES Maven / Gradle / Ivy

There is a newer version: 1.18.3
Show newest version
jsoup changelog

*** Release 1.15.1 [PENDING]
  * Change: removed previously deprecated methods and classes (including org.jsoup.safety.Whitelist; use
    org.jsoup.safety.Safelist instead).

  * Improvement: when converting jsoup Documents to W3C Documents in W3CDom, preserve HTML valid attribute names if the
    input document is using the HTML syntax. (Previously, would always coerce using the more restrictive XML syntax.)
    

  * Improvement: added the :containsWholeText(text) selector, to match against non-normalized Element text. That can be
    useful when elements can only be distinguished by e.g. specific case, or leading whitespace, etc.
    

  * Improvement: added Element#wholeOwnText() to retrieve the original (non-normalized) ownText of an Element. Also
    added the :containsWholeOwnText(text) selector, to match against that. BR elements are now treated as newlines
    in the wholeText methods.
    

  * Improvement: added the :matchesWholeText(regex) and :matchesWholeOwnText(regex) selectors, to match against whole
    (non-normalized, case sensitive> element text and own text, respectively.
    

  * Improvement: when evaluating an XPath query against a context element, the complete document is now visible to the
    query, vs only the context element's sub-tree. This enables support for queries outside (parent or sibling) the
    element, e.g. ancestor-or-self::*.
    

  * Improvement: allow a maxPaddingWidth on the indent level in OutputSettings when pretty printing. This defaults to
    30 to limit the indent level for very deeply nested elements, and may be disabled by setting to -1.
    

  * Improvement: when cloning a Node or an Element, the clone gets a cloned OwnerDocument containing only that clone, so
    as to preserve applicable settings, such as the Pretty Print settings.
    

  * Improvement: added a convenience method Jsoup.parse(File).
    

  * Improvement: in the NodeTraversor, added default implementations for NodeVisitor.tail() and NodeFilter.tail(), so
    that code using only head() methods can be written as lambdas.

  * Improvement: in NodeTraversor, added support for removing nodes via Node.remove() during NodeVisitor.head().
    

  * Improvement: added Node.forEachNode(Consumer) and Element.forEach(Consumer

  * Bugfix: boolean attribute names should be case-insensitive, but were not when the parser was configured to preserve
    case.
    

  * Bugfix: when reading from SequenceInputStreams across the buffer, the input stream was closed too early, resulting
    in missed content.
    

  * Bugfix: a comment with all dashes () should not emit a parse error.
    

  * Bugfix: when throwing a SelectorParseException for an invalid selector, don't try to String.format the input, as
    that could throw an IllegalFormatException.
    

  * Bugfix: when serializing HTML with Pretty Print enabled, extraneous whitespace may be added on closing tags, or
    extra newlines may be added at the end of script blocks.
    
    

  * Bugfix: when copy-creating a Safelist from another, perform a deep-copy of the original's settings, so that changes
    to the original after creation do not affect the copy.
    

  * Bugfix [Fuzz]: speed improvement when parsing constructed HTML containing very deeply incorrectly stacked formatting
    elements with many attributes.
    

  * Bugfix [Fuzz]: during parsing, a StackOverflowException was possible given crafted HTML with hundreds of nested
    table elements followed by invalid formatting elements.
    

*** Release 1.14.3 [2021-Sep-30]
  * Improvement: added native XPath support in Element#selectXpath(String)
    

  * Improvement: added full support for the