Htmlparser2 Versions Save

The fast & forgiving HTML and XML parser

v9.1.0

4 months ago

Fixes

  • Fixed onattribend's endIndex (#1540 by @DimaIT)
  • Treat textarea as special tag (#1719 by @DimaIT)

Features

  • Export QuoteType (#1543 by @DimaIT) and Handler interface (#1690 by @benkroeger)

v9.0.0

11 months ago

Breaking Changes

  • The tokenizer now uses the EntityDecoder from the entities module https://github.com/fb55/htmlparser2/pull/1480
    • Parsing of entities in attributes is now aligned with the HTML spec, and some inputs will produce different results. Eg. in <a href='&amp=boo'> the attribute value won't be modified any more.
    • The ontextentity tokenizer callback now has an endIndex argument; if you use the tokenizer directly, make sure indices are still the same.
  • Stacks inside the parser have been reversed. https://github.com/fb55/htmlparser2/pull/1511

Features

Full Changelog: https://github.com/fb55/htmlparser2/compare/v8.0.2...v9.0.0

v8.0.2

1 year ago

Bug Fixes

Other changes

New Contributors

Full Changelog: https://github.com/fb55/htmlparser2/compare/v8.0.1...v8.0.2

v8.0.1

2 years ago
  • Added missing WritableStream export in the package.json 6923fca

https://github.com/fb55/htmlparser2/compare/v8.0.0...v8.0.1

v8.0.0

2 years ago

Breaking

Features

Other changes

New Contributors

Full Changelog: https://github.com/fb55/htmlparser2/compare/v7.2.0...v8.0.0

v7.2.0

2 years ago

What's Changed

Fixes:

Docs

Refactors:

The refactors lead to a combined ~5% speed-up.

New Contributors

Full Changelog: https://github.com/fb55/htmlparser2/compare/v7.1.2...v7.2.0

v7.1.2

2 years ago
  • Fix indices of self-closing tags in XML (#949, reported in #941) 3287ef2
  • Bump domhandler from 4.2.0 to 4.2.2 (#935) 45b2cfe

https://github.com/fb55/htmlparser2/compare/v7.1.1...v7.1.2

v7.1.1

2 years ago
  • Fixed a bug where implied close tags would be misreported (#933) 903fb43
  • Fixed endIndex of text events being off by 1 (#932) 78ef1b7

https://github.com/fb55/htmlparser2/compare/v7.1.0...v7.1.1

v7.1.0

2 years ago

Features:

  • Added an isImplied flag to the onopentag/onclosetag events (#930) f917004
  • It is now possible to get indices for attributes (#929) 28c162b

Fixes:

  • [email protected] changed how indices were computed. Unfortunately, a lot of edge-cases weren't handled correctly. This version fixes this.
    • refactor: Fix how indices are computed, add attrib indices (#929) 28c162b
    • fix(parser): Fix indices for end, CDATA, add indices to tests (#928) 4e25252
    • fix(parser): Don't override position for implied opening tags (#917) fac221d
    • fix(parser): Index of closing tag was misaligned (#913) 04c411c
  • .pause would lead to data being wrongfully discarded (#927) 78af88d
  • The tokenizer would still emit some data after an error (#923) 08b2040
  • Issue in foreign content: The tag name foreignObject will always be lowercased in HTML e852205

Refactors:

  • refactor(feeds): Move getFeed to domutils (#931) f10dc03
  • refactor(tokenizer): Use explicit empty buffer if we have reached the end 9c30fe6
  • chore(tests): Add test for error without a listener 0eb0067
  • chore(tests): Use proxies to collect events (#920) a2b0bf3
  • chore(tests): Move stream tests into WritableStream.spec (#916) da67eba
  • refactor(tokenizer): Remove unused branches, improve test coverage (#914) a2eae51
  • docs(readme): Update benchmark results d45fc82

https://github.com/fb55/htmlparser2/compare/v7.0.0...v7.1.0

v7.0.0

2 years ago

[email protected] changes a lot of internals, resulting in an 20% overall performance improvement in AndreasMadsen's htmlparser-benchmark.

Breaking changes:

  • Fixed how start & end index positions are calculated (#910) 5ab080e
    • Some indices, especially end indices, will now have changed. Most importantly, end indices will now always be greater or equal than start indices (whoops!).

Features:

  • Added an isVoidElement method to the parser (#785) 00ce57a

Refactors:

  • Use a trie to decode HTML & XML entities in the tokenizer (#863) 9a47a55
    • Leads to large speed-ups when dealing with entities.
  • Iterate over char codes in the tokenizer (#894) f5aed75
    • Improved tokenizer performance by ~40%.
  • Use Map for openImpliesClose in the parser (#911) 39a8109
  • Moved logic of FeedHandler to a function (#912) 3a672ff