28 curated breaking changes across major versions of uuid. Use this as a migration checklist before bumping dependencies.
expect `crypto` to be global everywhere (requires node@20+) ([#935](https://github.com/uuidjs/uuid/issues/935))
drop node@18 support ([#934](https://github.com/uuidjs/uuid/issues/934))
make browser exports the default ([#901](https://github.com/uuidjs/uuid/issues/901))
drop node@16 support ([#883](https://github.com/uuidjs/uuid/issues/883))
remove CommonJS support ([#886](https://github.com/uuidjs/uuid/issues/886))
update to [email protected] ([#887](https://github.com/uuidjs/uuid/issues/887))
Drop IE 11 and Safari 10 support. Drop support for browsers that don't correctly implement const/let and default arguments, and no longer transpile the browser build to ES2015.
Drop Node.js 10.x support. This library always aims at supporting one EOLed LTS release which by this time now is 12.x which has reached EOL 30 Apr 2022.
Remove the minified UMD build from the package.
For native ECMAScript Module (ESM) usage in Node.js only named exports are exposed, there is no more default export.
Deep requiring specific algorithms of this library like `require('uuid/v4')`, which has been deprecated in `uuid@7`, is no longer supported.
Convert code base to ECMAScript Modules (ESM) and release CommonJS build for node and ESM build for browser bundlers.
Explicitly note that deep imports of the different uuid version functions are deprecated and no longer encouraged and that ECMAScript module named imports should be used instead. Emit a deprecation warning for people who deep-require the different algorithm variants.
Remove support for generating v3 and v5 UUIDs in Node.js<4.x
Remove builtin support for insecure random number generators in the browser. Users who want that will have to supply their own random number generator function.
The default export, which used to be the v4() method but which was already discouraged in v3.x of this library, has been removed.
upgrade minimum supported TypeScript version to 5.4.3, in keeping with the project's policy of supporting TypeScript versions released within the last two years
`crypto` is now expected to be globally defined (requires node@20+) ([#935](https://github.com/uuidjs/uuid/issues/935))
drop node@18 support ([#934](https://github.com/uuidjs/uuid/issues/934))
make browser exports the default ([#901](https://github.com/uuidjs/uuid/issues/901))
drop node@16 support ([#883](https://github.com/uuidjs/uuid/issues/883))
update to [email protected] ([#887](https://github.com/uuidjs/uuid/issues/887))
remove CommonJS support ([#886](https://github.com/uuidjs/uuid/issues/886))
refactor v1 internal state and options logic ([#780](https://github.com/uuidjs/uuid/issues/780))
Port to TypeScript, closes [#762](https://github.com/uuidjs/uuid/issues/762) ([#763](https://github.com/uuidjs/uuid/issues/763))
update node support matrix (only support node 16-20) ([#750](https://github.com/uuidjs/uuid/issues/750))
refactor v7 internal state and options logic, fixes [#764](https://github.com/uuidjs/uuid/issues/764) ([#779](https://github.com/uuidjs/uuid/issues/779))
update node support (drop node@12, node@14, add node@20) (#750)
Get this data programmatically \u2014 free, no authentication.
curl https://depscope.dev/api/breaking/npm/uuid