Releases: lupomontero/psl
v1.15.0
✨ 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
✨ 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
✨ 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
- fix main for backport by @OskarLebuda in #327
New Contributors
- @OskarLebuda made their first contribution in #327
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
v1.11.0
✨ 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
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
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