CHANGELOG.mdThis project adheres to Semantic Versioning.6.0.2Reduced JS bundle size (by @bayandin).Fixed floats in size of customRandom (by @lost-signals).Fixed performance of customRandom on changes size (by @00200200).Fixed docs (by @Likio3000 & @lenamonj).6.0.1Fixed docs.6.0.0Made nanoid() and customAlphabet() 4 times faster (by @orhanayd).Removed Node.js 18 and 20 support.5.1.16Fixed forever loop on negative size (by @spokodev).5.1.15Fixed random pool corruption on big ID sizes.5.1.14Fixed npm package size regression.5.1.13Fixed npm package size regression.5.1.12Moved to npm Provenance and Staged Publishing.5.1.11Fixed breaking Nano ID by requesting big ID.5.1.10Fixed breaking Nano ID by requesting big ID (by @alanzabihi).5.1.9Fixed npm package size regression.5.1.8Made cusatomAlphabet 75% faster (by @saripovdenis).5.1.7Added --version to CLI (by @mahmoodhamdi).Updated nanoid.js for CDN (by @mahmoodhamdi).Fixed docs (by @mahmoodhamdi).Fixed customRandom types (by @oguimbal).5.1.6Fixed infinite loop on 0 size for customAlphabet.5.1.5Fixed latest version on npm after 3.x release.5.1.4Fixed latest version on npm after 3.x release.5.1.3Fixed React Native support (by @steida).5.1.2Fixed module docs.5.1.1Fixed opaque types support for non-secure generator.Added JSR support.5.1.0Added opaque types support (by @kossnocorp).5.0.9Fixed a way to break Nano ID by passing non-integer size (by @myndzi).5.0.8Reduced customAlphabet size (by @kirillgroshkov).5.0.7Fixed Parcel support (by @WilhelmYakunin).5.0.6Fixed React Native support.5.0.5Make browser’s version faster by increasing size a little (by Samuel Elgozi).5.0.4Fixed CLI docs (by @ilyaboka).5.0.3Fixed CLI docs (by Chris Schmich).5.0.2Fixed webcrypto import (by Divyansh Singh).5.0.1Fixed Node.js 18 support.5.0Moved 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.4.0.2Added link to Github Sponsors.4.0.1Reduced npm package size (by @HiChen404).4.0Removed 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.3.3.20Fixed types (by @johnemau).3.3.19Fixed killing the app by setting huge user ID (by @geoffrey-diederichs).3.3.18Fixed infinite loop on async for React Native (by @OvergrowthBeards-JB).3.3.17Fixed infinite loop on zero size.3.3.16Fixed infinite loop on negative size (by @greymoth-jp).3.3.15Fixed npm provenance error.3.3.14Fixed random pool corruption on big ID sizes.3.3.13Reduced npm package size.3.3.12Fixed breaking Nano ID by requesting big ID.3.3.11Fixed React Native support.3.3.10Fixed React Native support (by @steida).3.3.9Reduced npm package size.3.3.8Fixed a way to break Nano ID by passing non-integer size (by @myndzi).3.3.7Fixed node16 TypeScript support (by Saadi Myftija).3.3.6Fixed package.3.3.5Backport funding information.3.3.4Fixed --help in CLI (by @Lete114).3.3.3Reduced size (by Anton Khlynovskiy).3.3.2Fixed enhanced-resolve support.3.3.1Reduced package size.3.3Added size argument to function from customAlphabet (by Stefan Sundin).3.2Added --size and --alphabet arguments to binary (by Vitaly Baev).3.1.32Reduced async exports size (by Artyom Arutyunyan).Moved from Jest to uvu (by Vitaly Baev).3.1.31Fixed collision vulnerability on object in size (by Artyom Arutyunyan).3.1.30Reduced size for project with brotli compression (by Anton Khlynovskiy).3.1.29Reduced npm package size.3.1.28Reduced npm package size.3.1.27Cleaned dependencies from development tools.3.1.26Improved performance (by Eitan Har-Shoshanim).Reduced npm package size.3.1.25Fixed browserify support.3.1.24Fixed browserify support (by Artur Paikin).3.1.23Fixed esbuild support.3.1.22Added default and browser.default to package.exports.3.1.21Reduced npm package size.3.1.20Fix ES modules support.3.1.19Reduced customAlphabet size (by Enrico Scherlies).3.1.18Fixed package.exports.3.1.17Added files without process.3.1.16Speeded up Nano ID 4 times (by Peter Boyer).3.1.15Fixed package.types path.3.1.14Added package.types.3.1.13Removed Node.js 15.0.0 with randomFillSync regression from engines.node.3.1.12Improved IE 11 docs.3.1.11Fixed asynchronous customAlphabet in browser (by @LoneRifle).3.1.10Fix ES modules support.3.1.9Try to fix React Native Expo support.3.1.8Add React Native Expo support.3.1.7Clean up code.3.1.6Avoid self using.3.1.5Improve IE docs and warning.3.1.4Restrict old Node.js 13 by engines.node (by Cansin Yildiz).3.1.3Fix ES modules issue with CLI.3.1.2Add shebang to CLI.3.1.1Fix CLI.3.1Add npx nanoid CLI.3.0.2Fix docs (by Dylan Irlbeck ).3.0.1Fix React Native warning on non-secure import (by Jia Huang).3.0Migration guide: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' to import { urlAlphabet } from 'nanoid'.Replace format() to customRandom().Replace generate() to customAlphabet().Remove async/format.Remove React Native support for nanoid/async.Add nanoid.js to 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).2.1.11Reduce size (by Anton Evzhakov).2.1.10Reduce size by 10% (by Anton Khlynovskiy).2.1.9Reduce format and async/format size (by Dair Aidarkhanov).2.1.8Improve React docs (by Nahum Zsilva).2.1.7Reduce index, async and non-secure size (by @polemius).2.1.6Reduce size (by Stas Lashmanov).Return fast mask for Node.js.2.1.5Reduce size (by Max Graey).Fix IE support.2.1.4Reduce generate size (by Vsevolod Rodionov).Reduce format and format size (by Victor).Reduce async, non-secure and non-secure/generate size.Speed up format and async/format (by Max Graey).Improve development process on Windows (by Stanislav Lashmanov).2.1.3Improve performance (by Stephen Richardson).Reduce size (by Stephen Richardson).2.1.2Improve docs.2.1.1Fix React Native support (by Shawn Hwei).2.1Improve React Native support (by Sebastian Werner).2.0.4Improve error text for React Native (by Sebastian Werner).2.0.3Fix freeze on string in ID length.2.0.2Improve docs (by Sylvanus Kateile and Mark Stosberg).2.0.1Reduce npm package size.Mark package as not having side effects (by @xiaody).2.0Use - instead of ~ in default alphabet to by file name safe.Add nanoid/non-secure/generate.1.3.4Reduce non-secure size.Add async callback type check.1.3.3Fix nanoid/async performance regression.Fix old Node.js not seeded issue in synchronous version too.1.3.2Fix random generator not seeded issue of old Node.js.1.3.1Reduce library size.1.3Add nanoid/async/format and nanoid/async/generate.Improve synchronous API performance.Reduce url size (by Daniil Poroshin).Improve React Native docs (by joelgetaction).1.2.6Reduce library size (by rqrqrqrq).1.2.5Fix Node.js 6.11.1 support (by Andrey Belym).1.2.4Speed up Node.js secure generators (by Dmitriy Tsvettsikh).1.2.3Fix JSDoc (by Hendry Sadrak).1.2.2Fix distribution in nanoid/non-secure (by Eatall).1.2.1Fix old Node.js support.1.2Add nanoid/async.Fix nanoid/non-secure JSDoc.Add Chinese documentation (by Wenliang Dai).Speed up and reduce size of nanoid/non-secure (by Ori Livni).1.1.1Improve performance and reduce size of non-secure ID generator.1.1Add non-secure ID generator.Suggest to use non-secure ID generator for React Native developers.Reduce size.1.0.7Fix documentation.1.0.6Fix documentation.1.0.5Reduce nanoid/index size (by Anton Khlynovskiy).1.0.4Reduce npm package size.1.0.3Reduce npm package size.1.0.2Fix Web Workers support (by Zachary Golba).1.0.1Reduce nanoid/index size (by Anton Khlynovskiy).1.0Use 21 symbols by default (by David Klebanoff).0.2.2Reduce nanoid/generate size (by Anton Khlynovskiy).Speed up Node.js random generator.0.2.1Fix documentation (by Piper Chester).0.2Add size argument to nanoid().Improve performance by 50%.Reduce library size by 26% (by Vsevolod Rodionov and Oleg Mokhov).0.1.1Reduce library size by 5%.0.1Initial release.