11.0.0 (2024-10-27)
⚠ BREAKING CHANGES
- refactor v1 internal state and options logic (#780)
- refactor v7 internal state and options logic, fixes #764 (#779)
- Port to TypeScript, closes #762 (#763)
- update node support matrix (only support node 16-20) (#750)
- 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.
- Drop support for browsers that don't correctly implement const/let and default arguments, and no longer transpile the browser build to ES2015.
- Although in practice this is currently a noop since the resulting build does not change, the build will no longer transpiles future changes for Node.js 8.x targets, so semantically this is still a breaking change.
- Deep requiring specific algorithms of this library like require('uuid/v4'), which has been deprecated in uuid@7, is no longer supported.
- The default export, which used to be the v4() method but which was already discouraged in v3.x of this library, has been removed.
- 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 builtin support for insecure random number generators in the browser. Users who want that will have to supply their own random number generator function.
- Remove support for generating v3 and v5 UUIDs in Node.js<4.x
- Convert code base to ECMAScript Modules (ESM) and release CommonJS build for node and ESM build for browser bundlers.
Features
- add parse/stringify/validate/version/NIL APIs (#479) (0e6c10b)
- add support for MAX uuid (new in RFC9562) (#714) (0385cd3)
- add UMD build to npm package (#357) (4e75adf)
- add various es module and CommonJS examples (b238510)
- enforce Conventional Commit style commit messages (#282) (0705cd5)
- ensure that docs are up-to-date in CI (ee5e77d)
- hybrid CommonJS & ECMAScript modules build (a3f078f)
- improve performance of v1 string representation (#453) (0ee0b67)
- improve v4 performance by reusing random number array (#435) (bf4af0d)
- optimize uuid.v1 by 1.3x uuid.v4 by 4.3x (430%) (#597) (3a033f6)
- optimize V8 performance of bytesToUuid (#434) (e156415)
- Port to TypeScript, closes #762 (#763) (1e0f987)
- remove deep requires (#426) (daf72b8)
- remove deprecated v4 string parameter (#454) (88ce3ca)
- remove insecure fallback random number generator (3a5842b)
- remove support for pre Node.js v4 Buffer API (#356) (b59b5c5)
- remove UMD build (#645) (e948a0f), closes #620
- rename repository to github:uuidjs/uuid (#351) (c37a518), closes #338
- rename repository to github:uuidjs/uuid (#351) (e2d7314), closes #338
- support v6 uuids (#754) (c4ed13e)
- update node support matrix (only support node 16-20) (#750) (883b163)
- use native crypto.randomUUID when available (#600) (c9e076c)
- v8 support (#759) (35a5342)
Bug Fixes
- 248 (#251) (67d697c)
- 30, _rb not defined for lesser node.js versions (8a6c03f)
- add CommonJS syntax example to README quickstart section (#417) (e0ec840)
- add deep-require proxies for local testing and adjust tests (#365) (7fedc79)
- add Jest/jsdom compatibility (#642) (16f9c46)
- add missing exports and tests for new APIs (#495) (681e1da)
- assignment to readonly property to allow running in strict mode (#270) (d062fdc)
- change default export to named function (#545) (c57bc5a)
- clean up esm builds for node and browser (#383) (59e6a49)
- export package.json required by react-native and bundlers (#449) (be1c8fe), closes #444
- fix #229 (d9033cf)
- fix #284 by setting function name in try-catch (f2a60f2)
- Get correct version of IE11 crypto (#274) (205e0ed)
- handle error when parameter is not set in v3 and v5 (#622) (fcd7388)
- lazy load getRandomValues (#537) (16c8f6d), closes #536
- make access to msCrypto consistent (#393) (8bf2a20)
- make deep require deprecation warning work in browsers (#409) (4b71107)
- mem issue when generating uuid (#267) (c47702c)
- missing v7 expectations in browser spec (#751) (f54a866)
- prepare package exports for webpack 5 (#468) (8d6e6a5)
- provide browser versions independent from module system (#380) (4344a22)
- refactor v1 internal state and options logic (#780) (031b3d3)
- refactor v7 internal state and options logic, fixes #764 (#779) (9dbd1cd)
- remove v4 options default assignment preventing native.randomUUID from being used (#786) (afe6232)
- revert "perf: remove superfluous call to toLowerCase (#677)" (#738) (e267b90)
- run npm audit fix (#644) (04686f5)
- seq_hi shift for byte 6 (#775) (1d532ca)
- simplify link in deprecation warning (#391) (bb2c8e4)
- support expo>=39.0.0 (#515) (c65a0f3), closes #375
- tsconfig module type (#778) (7eff835)
- typo (305d877)
- update links to match content in readme (#386) (44f2f86)
- upgrading from uuid3 broken link (#568) (1c849da)
- use msCrypto if available. Fixes #241 (#247) (1fef18b)
Performance Improvements
- nodejs: introduce pool into default rng (#513) (7f1af04)
- remove superfluous call to toLowerCase (#677) (e53793f)
Documentation
- add note about removal of default export (#372) (12749b7), closes #370
- deprecated deep requiring of the different algorithm versions (#361) (c0bdf15)