3.003     2026-10-24 23:26:07 EDT
  - Fix whitespace handling in descendent combinator (from Mojolicious 9.44)
  - Handle script tags spec compliant (from Mojolicious 9.44)
  - Fix various comment parsing issues (from Mojolicious 9.44)
  - Fix parsing of tag opener (from Mojolicious 9.44)
  - Replace recursive CSS matcher with iterative approach (from Mojolicious 9.44)
  - Fix spec compliance issue with attribute selectors (from Mojolicious 9.46)
  - Fix security issue where the content of title and textarea elements was not
    escaped during rendering, allowing escaped end tags to break out and turn
    sanitized HTML into live markup (from Mojolicious 9.50)
  - Fix bug where CDATA sections, processing instructions, and DOCTYPE declarations
    did not end at the first ">" in HTML documents (from Mojolicious 9.51)
  - Fix bug where the content of "<style>" and "<script>" elements in "<svg>" and
    "<math>" blocks was not parsed as markup (from Mojolicious 9.51)
  - Fix bug where end tags like "</style/>" did not end "<style>" and "<script>"
    elements (from Mojolicious 9.51)
  - Fix bug where raw text moved out of "<style>" and "<script>" elements, for
    example with strip, was not escaped (from Mojolicious 9.51)
  - Fix bug where any processing instruction containing "xml" would activate XML
    mode (from Mojolicious 9.51)
  - Replace invalid codepoints with replacement character and map the C1 control
    range to windows-1252 in html_unescape, as required by the WHATWG HTML
    standard (from Mojolicious 9.52)
  - Improve at performance for selectors without combinators (from Mojolicious 9.53)
  - Improve HTML/XML parsing performance matching attributes only once
    (from Mojolicious 9.53)
  - Fix bug where many unclosed comments, CDATA sections, processing instructions
    or RCDATA elements could make parsing extremely slow (from Mojolicious 9.53)

3.002     2025-05-19 19:29:08 EDT
  - Added EXPERIMENTAL support for :text pseudo-class. (from Mojolicious 9.14)
  - Fixed Mojo::DOM58 not to auto-close tags in <svg> and <math> blocks.
    (from Mojolicious 9.21)
  - Fixed multiple "<script>" parsing issues. (from Mojolicious 9.31)
  - Fixed a bug where strings like "<.>" were considered valid tags.
    (from Mojolicious 9.31)
  - Fixed various CSS selector equation bugs. (from Mojolicious 9.32)

3.001     2021-06-16 01:28:52 EDT
  - Update IRC metadata to libera.chat

3.000     2021-04-04 23:34:33 EDT
  - Added head and tail collection methods. (from Mojolicious 8.23)
  - Added EXPERIMENTAL support for :any-link pseudo-class. (from Mojolicious 8.42)
  - Added EXPERIMENTAL support for case-sensitive attribute selectors like
    [foo="bar" s]. (from Mojolicious 8.42)
  - Renamed experimental :matches pseudo-class to :is. (from Mojolicious 8.42)
  - Fixed a bug where the case-sensitivity identifier in attribute selectors was
    case-sensitive. (from Mojolicious 8.42)
  - Fixed a bug where select and ruby elements were parsed incorrectly.
    (from Mojolicious 8.54)
  - Added EXPERIMENTAL support for :scope and :has pseudo-classes.
    (from Mojolicious 8.54)
  - Added support for MOJO_DOM58_CSS_DEBUG environment variable to print
    diagnostics information for CSS selectors. (from Mojolicious 8.55)
  - Unknown CSS selectors will now throw exceptions. (from Mojolicious 8.66)
  - (INCOMPATIBLE CHANGE) Improved all_text method to exclude "<script>" and
    "<style>" from text extraction in HTML documents. (from Mojolicious 9.0)

2.000     2018-12-17 20:49:49 EST
  - Fixed warnings in collection uniq method when collection contains undefined
    values. (from Mojolicious 7.75)
  - Added support for namespace selectors like "ns|*". (from Mojolicious 7.77)
  - Added support for hyphen-separated list attribute selectors like
    "[hreflang|=en]". (from Mojolicious 7.77)
  - Added support for :link and :visited pseudo-classes. (from Mojolicious 7.77)
  - Improved performance of all DOM manipulation methods significantly when
    reusing Mojo::DOM58 objects. (from Mojolicious 7.78)
  - Added new_tag method. (from Mojolicious 7.78)
  - Added tag_to_html function. (from Mojolicious 7.78)
  - Added selector method. (from Mojolicious 7.79)
  - Improved HTML5.2 compliance. (from Mojolicious 8.02)

1.005     2018-02-06 14:28:11 EST
  - Improved HTML Living Standard compliance (from Mojolicious 7.60)

1.004     2017-11-11 16:46:13 EST
  - Added with_roles method to Mojo::DOM58 and collection objects to support
    applying roles with Role::Tiny. (from Mojolicious 7.43)

1.003     2017-07-20 02:44:32 EDT
  - Added EXPERIMENTAL support for :matches pseudo-class and :not pseudo-class
    with compound selectors. (from Mojolicious 7.33)
  - Fixed a few form element value extraction bugs. (from Mojolicious 7.33)
  - Performance improvements (from Mojolicious 7.34)

1.002     2017-04-01 16:11:40 EDT
  - Added html_attr_unescape function to Mojo::DOM58::Entities. (from
    Mojolicious 7.29)
  - Fixed unescaping of HTML5 attribute values. (from Mojolicious 7.29)

1.001     2016-11-23 16:17:25 EST
  - Fix bug in Mojo::DOM58::Entities where the DATA handle would be mentioned
    in error messages. (from Mojolicious 7.03)

1.000     2016-08-10 21:57:48 EDT
  - (INCOMPATIBLE CHANGE) Removed support for smart whitespace trimming from
    all_text and text methods, and fix whitespace bugs (from Mojolicious 7.0)
  - Fixed CSS selector for value-less attributes (from Mojolicious 7.0)

0.999     2016-08-01 04:24:01 EDT (TRIAL RELEASE)
  - (INCOMPATIBLE CHANGE) Removed support for smart whitespace trimming from
    all_text and text methods, and fix whitespace bugs (from Mojolicious 7.0)
  - Fixed CSS selector for value-less attributes (from Mojolicious 7.0)

0.002     2016-06-14 01:28:10 EDT
  - Added recognition of <slot> element (from Mojolicious 6.59)
  - Recognize legacy HTML entities without semicolons again (from Mojolicious 6.64)

0.001     2016-03-27 16:12:42 EDT
  - First release
