Back to Explore

ai/nanoid

GitHub
6 updates · last 90 days1 watchersOpen source

Last release: 1 month ago

Nano ID is a tiny, secure, URL-friendly unique string ID generator for JavaScript, designed to create short IDs with a URL-safe alphabet. It supports secure and non-secure modes (using hardware random generation by default) and can be customized by ID size or alphabet.

Project status

  • The repository appears actively maintained, with an upstream push on 2026-05-25, and multiple recent version updates tagged on 2026-04-30 (including 5.1.10, 5.1.11, and 3.3.12).
  • Update cadence looks fairly active in late April 2026, with several tags on the same day, and ongoing activity continuing into May 2026 (per the later last push timestamp).

AI summary generated Today

AI-generated from public sources. May be inaccurate. Report

Recent updates

  • 5.1.11

    1 month ago

    Release 5.1.11 is documented as a fix for “breaking Nano ID by requesting big ID”. The code changes in this version range include that size handling fix, but also show broader undocumented refactors across the Node and browser implementations, export style, and TypeScript types.

    Breaking
  • 3.3.12

    1 month ago

    Release 3.3.12 states it fixes Nano ID breaking when requesting a big ID. The code change set goes far beyond that one-line note, introducing a major ESM/CJS packaging refactor (conditional exports and new entrypoint files) and adding explicit runtime bounds checking for requested ID sizes.

    Features
  • 5.1.10

    1 month ago

    Release 5.1.10’s notes say it fixes a breaking issue in nanoid by “requesting big ID”. The actual code diff for this tag shows much broader changes beyond that single fix, including API surface removal (async entrypoints), ESM export changes, TypeScript typing changes, and modifications to the core ID generation algorithm and edge-case handling.

  • 5.1.9

    1 month ago

    Release 5.1.9 publishes a version bump and claims to fix an npm package size regression. The code diff indicates the change is related to what gets included in the npm package rather than any runtime/API logic.

  • 5.1.8

    1 month ago

    Release 5.1.8 claims a performance improvement to `customAlphabet`, stating it is 75% faster. The code diff shows a deeper change to the random ID generation algorithm used by `customRandom` (and therefore `customAlphabet`), not just a micro-optimization. The test expectations for deterministic `customRandom` outputs were updated accordingly.

  • 5.1.7

    2 months ago

    Release 5.1.7 adds a CLI option to print the package version, updates the CDN-focused build artifact, and fixes documentation plus TypeScript typings for `customRandom`. The code diff also includes several additional changes related to TypeScript export mappings and the internal CDN build of `nanoid.js`.

    Features
  • 5.1.6

    8 months ago

    Release 5.1.6 fixes an infinite loop when using `customAlphabet` with a size of 0. The core runtime change is a guard that returns an empty string for falsy `size` values, and the release adds regression tests for 0-size behavior.

  • 5.1.5

    3/18/2025

    Release 5.1.5 release notes only state: the package’s latest version on npm was fixed after the 3.x release line. The actual code diff between 3.3.11 and 5.1.5 includes substantial API and module-format changes (not just an npm metadata fix).

  • 3.3.11

    3/18/2025

    Release 3.3.11 is described as a fix for React Native support. The actual code changes go well beyond that, introducing a new ESM/CJS packaging layout (new `exports` map and `*.cjs` entry files) and updating build mappings for browser and React Native.

    Features
  • 5.1.4

    3/15/2025

    The 5.1.4 release notes only mention a packaging fix: "Fixed latest version on npm after 3.x release." However, the actual code diff from 3.3.10 to 5.1.4 contains much larger changes, including API surface changes (notably async removal), module system changes, and TypeScript signature updates.