Punycode.js is a JavaScript library that converts between Punycode (ASCII) and Unicode strings, fully complying with RFC 3492 and RFC 5891. It is useful for encoding and decoding internationalized domain names or email address domains (e.g., using functions like decode, encode, toUnicode, and toASCII).
Project status
- The repository appears actively maintained, with an upstream push dated 2024-04-18, and multiple small update events in late 2023 (v2.3.1 on 2023-10-30, v2.3.0 on 2023-12-19, v2.2.3 on 2023-12-19).
- The update cadence looks sporadic, with quick successive changes in December 2023 and then no detailed update summaries shown after that, despite continued upstream activity in April 2024.
AI summary generated Today
Recent updates
v2.2.0
12/19/2023v2.2.0 updates the punycode package metadata and test/CI setup, and makes a small user-facing documentation change about how to require the module. The code diff also includes minor internal refactors in punycode.js (callback naming and stricter equality operators) that could subtly affect behavior under unusual inputs.
v2.3.0
12/19/2023Release v2.3.0 makes a minimal change set. It bumps the package.json version to 2.3.0 and modifies the GitHub Actions publish workflow to rewrite the package.json name before running npm publish.
Breakingv2.2.3
12/19/2023Release v2.2.3 contains minimal tracked changes: a package.json version bump and a modification to the GitHub Actions publish workflow. The workflow now edits package.json at publish time, indicating the npm package name used for publishing may differ from the repository’s committed package.json.
v2.2.2
12/19/2023Release v2.2.2 has no published release notes. The code diff shows changes mainly around build/CI automation and a small but user-visible behavior change in the punycode encoding rules for the DEL character (U+007F).
v2.2.1
12/19/2023Release v2.2.1 contains no provided release notes. The code diff shows a small update to digit validation in `punycode.decode`, plus a new test that asserts a specific error for invalid input.
v2.1.1
12/19/2023Release v2.1.1 contains no publisher-provided release notes. The code diff shows changes limited to packaging and the generated ES module build output, without any changes to the underlying punycode conversion logic.
Featuresv2.1.0
12/19/2023Release v2.1.0 has no provided release notes. The code diff shows a small behavioral change in how the library classifies “non-ASCII” characters, plus a corresponding version bump and an added test case.
v2.0.1
12/19/2023v2.0.1 makes small metadata and packaging changes compared to v2.0.0, including version bumping and adding an ES module build output. There were no release notes provided, so the behavioral impact must be inferred from the code diff.
Featuresv2.3.1
10/30/2023Release v2.3.1 contains no publisher-provided release notes. The code diff shows mostly maintenance updates: CI workflow action upgrades, a Node.js version bump for development, devDependency updates for coverage tooling, README documentation tweaks, and updating the embedded punycode version string.
Breakingv2.0.0
6/29/2016v2.0.0 drops support for older JavaScript environments and targets Node.js 6 and newer only. If you need the same functionality in Rhino, Ringo, Narwhal, or web browsers, you must stay on v1.4.1.
Breaking