v9.0.0
Minimal node version upgrade
If you use Node, version 20 is now the minimum required.
Full ESM conversion
Ketting source and distribution files now make exclusive use of ESM modules and target es2023.
package.json#exports and package.json#imports usage
Ketting entrypoints are now defined by package.json#exports.
Some imports are now resolved via package.json#imports.
These conventional fields have been supported by node and major bundlers for years. If you are using typescript,
make sure to switch the moduleResolution to bundler, node16 or nodenext.
Automated tests have been reinforced
Automated tests now run against the distribution files rather than the source files, making them
more representative of real-world consumer usage.
Before, tests were only run on node. Now, tests are also run on chromium.
What's Changed
- Add node 24 to the build matrix by @reda-alaoui in #534
- Convert to ESM by @reda-alaoui in #535
- Fix package description by @reda-alaoui in #536
- Convert tests to ESM by @reda-alaoui in #537
- Check packaging with publint by @reda-alaoui in #539
- Update package.json imports to use "browser" condition instead of "node" by @reda-alaoui in #540
- Remove remaining traces of 'mocha' by @reda-alaoui in #541
- Decouple tests from test server code by @reda-alaoui in #542
- Speed up tests by @reda-alaoui in #543
- Run tests on node and the browser by @reda-alaoui in #544
- Restore Ketting version in the user agent by @reda-alaoui in #545
- Simplify fetch-body-helper.ts by @reda-alaoui in #546
- Shorten src imports in test files by @reda-alaoui in #547
- Tests should use dist to simulate library consumers by @reda-alaoui in #548
- Enforce absolute imports on test files by @reda-alaoui in #549
- Version 8.x is not compatible with tsconfig --skipLibCheck false by @reda-alaoui in #550
- Export HttpError by @reda-alaoui in #552
Full Changelog: v8.4.3...v9.0.0