This project adheres to Semantic Versioning.
- Fixed Parcel support (by @WilhelmYakunin).
- Fixed React Native support.
- Make browser’s version faster by increasing size a little (by Samuel Elgozi).
- Fixed CLI docs (by @ilyaboka).
- Fixed CLI docs (by Chris Schmich).
- Fixed
webcryptoimport (by Divyansh Singh).
- Fixed Node.js 18 support.
- Moved Node.js version to Web Crypto API.
- Removed async API since Web Crypto API has only sync version.
- Removed Node.js 14 and 16 support.
- Added link to Github Sponsors.
- Reduced npm package size (by @HiChen404).
- Removed CommonJS support. Nano ID 4 will work only with ESM applications. We will support 3.x branch with CommonJS for users who can’t migrate to ESM.
- Removed Node.js 10 and Node.js 12 support.
- Reduced npm package size.
- Fixed
node16TypeScript support (by Saadi Myftija).
- Fixed package.
- Backport funding information.
- Fixed
--helpin CLI (by @Lete114).
- Reduced size (by Anton Khlynovskiy).
- Fixed
enhanced-resolvesupport.
- Reduced package size.
- Added
sizeargument to function fromcustomAlphabet(by Stefan Sundin).
- Added
--sizeand--alphabetarguments to binary (by Vitaly Baev).
- Reduced
asyncexports size (by Artyom Arutyunyan). - Moved from Jest to uvu (by Vitaly Baev).
- Fixed collision vulnerability on object in
size(by Artyom Arutyunyan).
- Reduced size for project with
brotlicompression (by Anton Khlynovskiy).
- Reduced npm package size.
- Reduced npm package size.
- Cleaned
dependenciesfrom development tools.
- Improved performance (by Eitan Har-Shoshanim).
- Reduced npm package size.
- Fixed
browserifysupport.
- Fixed
browserifysupport (by Artur Paikin).
- Fixed
esbuildsupport.
- Added
defaultandbrowser.defaulttopackage.exports.
- Reduced npm package size.
- Fix ES modules support.
- Reduced
customAlphabetsize (by Enrico Scherlies).
- Fixed
package.exports.
- Added files without
process.
- Speeded up Nano ID 4 times (by Peter Boyer).
- Fixed
package.typespath.
- Added
package.types.
- Removed Node.js 15.0.0 with
randomFillSyncregression fromengines.node.
- Improved IE 11 docs.
- Fixed asynchronous
customAlphabetin browser (by @LoneRifle).
- Fix ES modules support.
- Try to fix React Native Expo support.
- Add React Native Expo support.
- Clean up code.
- Avoid
selfusing.
- Improve IE docs and warning.
- Restrict old Node.js 13 by
engines.node(by Cansin Yildiz).
- Fix ES modules issue with CLI.
- Add shebang to CLI.
- Fix CLI.
- Add
npx nanoidCLI.
- Fix docs (by Dylan Irlbeck ).
- Fix React Native warning on
non-secureimport (by Jia Huang).
Migration guide: https://github.com/ai/nanoid/releases/tag/3.0.0
- Move to ES2016 syntax. You need to use Babel for IE 11.
- Move to named exports
import { nanoid } from 'nanoid'. - Move
import url from 'nanoid/url'toimport { urlAlphabet } from 'nanoid'. - Replace
format()tocustomRandom(). - Replace
generate()tocustomAlphabet(). - Remove
async/format. - Remove React Native support for
nanoid/async. - Add
nanoid.jsto use directly in browser from CDN. - Add TypeScript type definitions.
- Add ES modules support for bundlers, Node.js, and React Native.
- Fix React Native support.
- Reduce size.
- Improve docs (by Dair Aidarkhanov).
- Reduce size (by Anton Evzhakov).
- Reduce size by 10% (by Anton Khlynovskiy).
- Reduce
formatandasync/formatsize (by Dair Aidarkhanov).
- Improve React docs (by Nahum Zsilva).
- Reduce
index,asyncandnon-securesize (by @polemius).
- Reduce size (by Stas Lashmanov).
- Return fast mask for Node.js.
- Reduce size (by Max Graey).
- Fix IE support.
- Reduce
generatesize (by Vsevolod Rodionov). - Reduce
formatandformatsize (by Victor). - Reduce
async,non-secureandnon-secure/generatesize. - Speed up
formatandasync/format(by Max Graey). - Improve development process on Windows (by Stanislav Lashmanov).
- Improve performance (by Stephen Richardson).
- Reduce size (by Stephen Richardson).
- Improve docs.
- Fix React Native support (by Shawn Hwei).
- Improve React Native support (by Sebastian Werner).
- Improve error text for React Native (by Sebastian Werner).
- Fix freeze on string in ID length.
- Improve docs (by Sylvanus Kateile and Mark Stosberg).
- Reduce npm package size.
- Mark package as not having side effects (by @xiaody).
- Use
-instead of~in default alphabet to by file name safe. - Add
nanoid/non-secure/generate.
- Reduce
non-securesize. - Add
asynccallback type check.
- Fix
nanoid/asyncperformance regression. - Fix old Node.js
not seededissue in synchronous version too.
- Fix random generator
not seededissue of old Node.js.
- Reduce library size.
- Add
nanoid/async/formatandnanoid/async/generate. - Improve synchronous API performance.
- Reduce
urlsize (by Daniil Poroshin). - Improve React Native docs (by joelgetaction).
- Reduce library size (by rqrqrqrq).
- Fix Node.js 6.11.1 support (by Andrey Belym).
- Speed up Node.js secure generators (by Dmitriy Tsvettsikh).
- Fix JSDoc (by Hendry Sadrak).
- Fix distribution in
nanoid/non-secure(by Eatall).
- Fix old Node.js support.
- Add
nanoid/async. - Fix
nanoid/non-secureJSDoc. - Add Chinese documentation (by Wenliang Dai).
- Speed up and reduce size of
nanoid/non-secure(by Ori Livni).
- Improve performance and reduce size of non-secure ID generator.
- Add non-secure ID generator.
- Suggest to use non-secure ID generator for React Native developers.
- Reduce size.
- Fix documentation.
- Fix documentation.
- Reduce
nanoid/indexsize (by Anton Khlynovskiy).
- Reduce npm package size.
- Reduce npm package size.
- Fix Web Workers support (by Zachary Golba).
- Reduce
nanoid/indexsize (by Anton Khlynovskiy).
- Use 21 symbols by default (by David Klebanoff).
- Reduce
nanoid/generatesize (by Anton Khlynovskiy). - Speed up Node.js random generator.
- Fix documentation (by Piper Chester).
- Add
sizeargument tonanoid(). - Improve performance by 50%.
- Reduce library size by 26% (by Vsevolod Rodionov and Oleg Mokhov).
- Reduce library size by 5%.
- Initial release.