Skip to content

Version 16.0.0

Compare
Choose a tag to compare
@jaydenseric jaydenseric released this 27 Nov 11:51
· 68 commits to master since this release

Major

  • Updated Node.js support to ^12.22.0 || ^14.17.0 || >= 16.0.0.
  • Updated dependencies, some of which require newer Node.js versions than previously supported.
  • Public modules are now individually listed in the package files and exports fields.
  • Removed ./package from the package exports field; the full package.json filename must be used in a require path.
  • Removed the package main index module; deep imports must be used.
  • Shortened public module deep import paths, removing the /public/.
  • The API is now ESM in .mjs files instead of CJS in .js files, accessible via import but not require.
  • Switched back to using React.createElement instead of the the new React JSX runtime.

Patch

  • Also run GitHub Actions CI with Node.js v17.
  • Simplified package scripts.
  • Removed the isobject dependency.
  • Refactored the useCacheEntryPrunePrevention React hook to avoid the React.useCallback React hook.
  • Avoid named imports from react and react-dom as they’re not proper Node.js ESM.
  • Removed conditionality on the Node.js global process.env.NODE_ENV.
  • Configured polyfilled globals in ESLint config for eslint-plugin-compat.
  • Fixed JSDoc grammar typos.
  • Reorganized the test file structure.
  • Corrected a test name.
  • Test the bundle sizes for public modules individually.
  • Use a new assertBundleSize function to assert module bundle size in tests:
    • Failure message contains details about the bundle size and how much the limit was exceeded.
    • Errors when the surplus is greater than 25% of the limit, suggesting the limit should be reduced.
    • Resolves the minified bundle and its gzipped size for debugging in tests.
  • Configured Prettier option singleQuote to the default, false.
  • Documentation tweaks.