Skip to content

Releases: lupomontero/psl

v1.15.0

02 Dec 10:17
Compare
Choose a tag to compare

✨ Highlights

🆙 Updates public suffix list

Updates rules to up to publicsuffix/list#70df5fb (2 Dic 2024).

Changelog

  • 67e21de chore(dist): Updates dist files
  • 4e073c0 doc(readme): Fix CDN URLs in readme
  • a3eb7aa refactor(index): Replaces var with let/const and cleans up style. Closes #329
  • 4e1bba4 chore(dist): Updates rules and dist files
  • 9d1afc0 chore(deps): Updates dev dependencies
  • 0053742 doc(security): Adds security policy
  • b7d4290 chore(funding): Adds funding URL to package.json
  • 81d2864 chore(funding): Create FUNDING.yml

Full Changelog: v1.14.0...v1.15.0

v1.14.0

28 Nov 22:03
Compare
Choose a tag to compare

✨ 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

v1.13.0

21 Nov 21:35
Compare
Choose a tag to compare

✨ Highlights

This release re-introduces the changes added in v1.11.0 that had to be rolled back in v1.12.0, which was a quick fix in panic mode as problems were being reported in older Node.js versions using legacy or obsolete packages.

What's Changed

New Contributors

Changelog

  • ee6ac92 test(legacy): Requires as psl instead of full path in legacy umd tests
  • 794ee24 fix main for backport

Full Changelog: v1.11.0...v1.13.0

v1.12.0

21 Nov 16:50
Compare
Choose a tag to compare

This release reverts back to CommonJS as in v1.10.0 to avoid breaking backward compatibility. See #326

v1.11.0

21 Nov 10:05
Compare
Choose a tag to compare

✨ Highlights

➕➕ Adds ESM support

The module now uses ESM (import/export) and is defined as "type": "module". However, CommonJS and UMD are stll supported both on Node.js and the browser. See the README.md for more details.

➕➕ Adds TypeScript type definitions

This was first suggested by @ntninja back in 2018 (OMG)... and ... 🥁 🥁 psl finally includes type definitions for TypeScript 💙

Other notable behind the curtains changes

🧪 Adds tests for older Node.js versions (legacy) and CommonJS specific tests a8cda74 b73dda0 09640c1

⚙️ Replaces browserify + uglify with vite and adds ESM build to dist aa9ec37

⚙️ Replaces request and JSONStream with native fetch in update-rules script b3974a2

Thanks / Acknowledgements

Special thanks go to @mfdebian for helping me revive this repo 💛

Although some of their PRs where not directly merged, but would still like to thank @jimmywarting por his proposal to switch to ESM in #309, @AnWeber for suggesting we start using punycode via npm in #316, @ntninja for adding TypeScript definitions #22, @LitoMore for reminding me to update the GitHub Actions in #321, and many more for participating in issues and contributing back.

Changelog

  • 41bff0a doc(README): Updates testing and building info
  • 0668da1 chore(dist): Updates rules and dist files
  • 7140cf2 feat(data): Adds pretty JSON to data/rules.js for easier diffs
  • b396f80 feat(build): Adds target: es2015 for compat with old browsers
  • af4dedd feat(scripts): Renames prebuild npm-script to update-rules
  • 01c29a1 chore(deps): Updates depencies
  • b2604c9 fix(index): Imports punycode explicitly from punycode/punycode.js
  • 4d6d057 doc(readme): Fixes typo
  • bf5ffa9 test(browserstack): Adds common device and browser combos
  • f2c405d chore(deps): Updates dev depencies
  • f1ed0ac doc(readme): Updates installation and usage
  • 984f19b test(node-legacy-umd): Adds tests for Node.js 10 and older using umd/cjs
  • b03f8b3 test(node-legacy): Adds Node.js 10 to version matrix for legacy tests
  • 125c0a1 test(node-legacy): Adds tests for Node.js 16 and older using cjs
  • e5c8203 feat(build): Replaces browserify + uglify with vite and adds ESM build to dist
  • 0e34d6d test(data): Refactors tests to separate test data from test mechanics
  • dc1d8b9 chore(deps): Removes unused deps
  • 33d0195 refactor(scripts): Replaces request and JSONStream with native fetch
  • 99b57f9 chore(pkg): Refactors module as ESM
  • b7c43bc doc(README): Updates copyright dates on readme
  • fec9143 doc(README): Updates info on running tests
  • 507a4ce chore(ci): Removes obsolete CI script
  • 25d99b8 chore(deps): Removes unused dep (chai)
  • 1328411 feat(ci): Remove Node.js 12, 14 and 16 from build
  • fbf33ef chore(ci): Updates actions/checkout and actions/setup-node to v4
  • 26a192d fix(pkg): Updates package lock
  • 59dd148 style(types): Standarises blankspace and tweaks types tests
  • c9b3aa9 feat(types): Adds ParsedDomain type
  • 1048b6f feat(types): Replaces interface with type and renames/fix error.error to error.code
  • 59c4049 chore(pkg): Replaces dtslint with typescript-eslint
  • 0d7f453 test(browser): Replaces karma + phantom with selenium + browserstack
  • ca78bc1 chore(build): Adds ci build script to run auto updates when triggered by cron
  • 49b8a39 chore(deps): Updates deps and switched back to npm
  • 84aa7d5 Add TypeScript description of API
  • 668d185 chore(pkg): Updates npmignore

v1.10.0

07 Nov 20:54
Compare
Choose a tag to compare

Changelog

  • 9e955cd chore(rules): Updates rules and dist files
  • f6a3f63 test(browserstack): Adds Webkit on OS X Ventura and firefox on Windows 11
  • 9af3aa3 chore(ci): Adds Node.js v22 to build and updates browserstack env
  • 0a81bb0 test(browserstack): Replaces selenium-webdriver with playwright
  • ae4e89d chore(deps): Updates caniuse-lite
  • 765fcfa chore(deps): Updates dependencies
  • a789d03 (playwright) feat(ci): Removes Node v10.x from build matrix and adds v20.x
  • 7b2495e chore(pkg): Updates dependencies
  • e78913d doc(readme): Adds info about CDNs
  • 846614c chore(ci): Removes obsolete Travis CI build config
  • 495ff6c chore(dist): Updates dist files
  • 3ddec00 chore(deps): Replaces deprecated Punycode provided by Node with punycode.js #296
  • 797ccb4 chore(readme/scripts): Replaces master with main (branch name)
  • b9fcb59 chore(index): Fix typo in comments and whitespace
  • 98a38d4 chore(pkg): Updates npmignore

v1.9.0

04 Jul 06:16
Compare
Choose a tag to compare

Changelog

  • d159c85 chore(rules): Updates rules and dist files
  • a8ade01 fix(ci): Adds env vars to browser tests
  • 26bbc11 doc(badges): Replaces old badges with GitHub Actions badge
  • 50e3da0 feat(ci): Fixes test command for browser tests
  • 924f411 chore(scripts): Removes eslint from CI pipeline
  • 8059ae6 feat(ci): Adds GitHub Actions for automated tests
  • 30a31ea chore(eslint): Removes hapi eslint config
  • 02602b0 fix(test): Wait for driver.get to resolve
  • 3356ef5 chore(pkg): Updates deps
  • beb6d89 test(browser): Replaces karma + phantom with selenium + browserstack

Full Changelog: v1.8.0...v1.9.0

v1.8.0

25 Mar 13:43
Compare
Choose a tag to compare

Changelog

  • c235b77 chore(deps): Updates deps
  • 2cfdc07 chore(rules): Updates rules and dist files
  • 9775982 chore(rules): Updates rules and dist files

v1.7.0

28 Dec 13:06
Compare
Choose a tag to compare

Changelog

758f914 chore(rules): Updates rules and dist files
0480746 chore(deps): Updates deps

v1.5.0

29 Nov 22:13
Compare
Choose a tag to compare

Changelog

  • 393125a chore(deps): Updates deps
  • 5acebf2 chore(rules): Updates rules and dist files
  • 9091b53 chore(deps): Updates commit-and-pr from 1.0.3 to 1.0.4