This project adheres to Semantic Versioning.
- 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
--help
in CLI (by @Lete114).
- Reduced size (by Anton Khlynovskiy).
- Fixed
enhanced-resolve
support.
- Reduced package size.
- Added
size
argument to function fromcustomAlphabet
(by Stefan Sundin).
- Added
--size
and--alphabet
arguments to binary (by Vitaly Baev).
- Reduced
async
exports 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
brotli
compression (by Anton Khlynovskiy).
- Reduced npm package size.
- Reduced npm package size.
- Cleaned
dependencies
from development tools.
- Improved performance (by Eitan Har-Shoshanim).
- Reduced npm package size.
- Fixed
browserify
support.
- Fixed
browserify
support (by Artur Paikin).
- Fixed
esbuild
support.
- Added
default
andbrowser.default
topackage.exports
.
- Reduced npm package size.
- Fix ES modules support.
- Reduced
customAlphabet
size (by Enrico Scherlies).
- Fixed
package.exports
.
- Added files without
process
.
- Speeded up Nano ID 4 times (by Peter Boyer).
- Fixed
package.types
path.
- Added
package.types
.
- Removed Node.js 15.0.0 with
randomFillSync
regression fromengines.node
.
- Improved IE 11 docs.
- Fixed asynchronous
customAlphabet
in browser (by @LoneRifle).
- Fix ES modules support.
- Try to fix React Native Expo support.
- Add React Native Expo support.
- Clean up code.
- Avoid
self
using.
- 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 nanoid
CLI.
- Fix docs (by Dylan Irlbeck ).
- Fix React Native warning on
non-secure
import (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.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).
- Reduce size (by Anton Evzhakov).
- Reduce size by 10% (by Anton Khlynovskiy).
- Reduce
format
andasync/format
size (by Dair Aidarkhanov).
- Improve React docs (by Nahum Zsilva).
- Reduce
index
,async
andnon-secure
size (by @polemius).
- Reduce size (by Stas Lashmanov).
- Return fast mask for Node.js.
- Reduce size (by Max Graey).
- Fix IE support.
- Reduce
generate
size (by Vsevolod Rodionov). - Reduce
format
andformat
size (by Victor). - Reduce
async
,non-secure
andnon-secure/generate
size. - Speed up
format
andasync/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-secure
size. - Add
async
callback type check.
- Fix
nanoid/async
performance regression. - Fix old Node.js
not seeded
issue in synchronous version too.
- Fix random generator
not seeded
issue of old Node.js.
- Reduce library size.
- Add
nanoid/async/format
andnanoid/async/generate
. - Improve synchronous API performance.
- Reduce
url
size (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-secure
JSDoc. - 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/index
size (by Anton Khlynovskiy).
- Reduce npm package size.
- Reduce npm package size.
- Fix Web Workers support (by Zachary Golba).
- Reduce
nanoid/index
size (by Anton Khlynovskiy).
- Use 21 symbols by default (by David Klebanoff).
- Reduce
nanoid/generate
size (by Anton Khlynovskiy). - Speed up Node.js random generator.
- Fix documentation (by Piper Chester).
- Add
size
argument tonanoid()
. - Improve performance by 50%.
- Reduce library size by 26% (by Vsevolod Rodionov and Oleg Mokhov).
- Reduce library size by 5%.
- Initial release.