Skip to content

v1.14.0

Compare
Choose a tag to compare
@lupomontero lupomontero released this 28 Nov 22:03
· 13 commits to main since this release

✨ Highlights

⚡ Over 100x performance improvement

This release finally includes performance improvements originally proposed by @gugu in #301 and #302, which were finally added in #334 in collaboration with @lupomontero and @mfdebian.

The change basically switches from an Array to a Map to store the rules (the parsed public suffic list) indexed by punySuffix so we no longer need to iterate over thousands of items to find a match every time.

🔧 Allow underscores in domain fragments

Underscores (_), aka low dashes, are now allowed in domain names. This had been raised a few times in issues like #26 and #185 and fixes had been proposed by @taoyuan in #46 (the one that got merged) and @tasinet in #286.

🆙 Updates public suffix list

Updates rules to up to publicsuffix/list#03c6a36 (28 Nov 2024).

New Contributors

  • @gugu made their first contribution in 23265fd (original PR #302 was closed but changes were added in #334)
  • @taoyuan made their first contribution in #46

Changelog

  • 06d9f02 chore(dist): Updates dist files
  • 77b6efd chore(rules): Updates rules to publicsuffix/list#03c6a36
  • 57214ec chore(deps): Updates depencies
  • 18a6d33 doc(readme): Updates install info and tested Node.js versions
  • 1fd3665 chore(dist): Updates dist files
  • a096d29 chore(index): Removes unused functions internals.reverse and internals.endsWith
  • 3ddd8e2 refactor(index): Parses rules directly into map
  • 3365092 feat(scripts): Adds benchmark npm-script
  • 9be29c2 feat(benchmark): Adds comparison to 1.13.0 to see difference in perf
  • 23265fd use maps for rule search, add benchmark
  • 554617c chore(dist): Updates dist files
  • a52c3c8 test(data): Adds test cases for subdomains with underscores
  • 1dce5f2 Allow domain name including low dash

Full Changelog: v1.13.0...v1.14.0