Back to Explore

jsdom/whatwg-encoding

GitHub
1 watchersOpen source

Last release:

whatwg-encoding is a deprecated JavaScript package that decodes strings according to the WHATWG Encoding Standard, via a thin layer on top of iconv-lite. It is useful when you need encoding primitives compatible with the WHATWG Encoding Standard, but it has been superseded by @exodus/bytes, which jsdom now uses directly.

Project status

  • The project is marked as archived upstream, and while there was an upstream push on 2025-12-28, the published code-line updates shown here stop at v3.1.1 (2023-11-12), which suggests quiet, low-touch maintenance rather than active feature development.
  • Apparent update cadence: after v3.0.0 to v3.1.1 in November 2023, there have been no further versioned updates in the provided history, so cadence is currently effectively stalled (despite at least some upstream activity in late 2025).

AI summary generated

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

Recent updates

  • v3.1.1

    Release v3.1.1 fixes `labelToName()` so the `x-user-defined` encoding label is recognized and maps to `x-user-defined`. The code change is very small, but it also includes test/build workflow adjustments and internal data-generation logic changes.

  • v3.1.0

    Release 3.1.0 adds support for the WhatWG encoding name "x-user-defined". The implementation adds a new decoding path in lib/whatwg-encoding.js and updates supported name handling and related tests.

    Features
  • v3.0.0

    Release v3.0.0 primarily raises the minimum Node.js requirement to >=18, with the stated release note reflecting that breaking change. The code diff also shows a broader shift in the project’s tooling and developer workflow, including switching CI and scripts from yarn/mocha to npm/node:test and updating the dependency/lockfile setup.

    Breaking
  • v2.0.0

    Release 2.0.0 raises the minimum supported Node.js version to 12 and bumps the runtime dependency iconv-lite to 0.6.3. It also updates the library to operate on Uint8Array inputs (including BOM sniffing and decoding) rather than Buffer, and refreshes the project toolchain configuration and lockfiles.

    Breaking
  • v1.0.5

    Release v1.0.5 primarily updates the `iconv-lite` dependency from 0.4.23 to 0.4.24. The repository version is also bumped from 1.0.4 to 1.0.5, with corresponding changes in both `package.json` and `package-lock.json`.

  • v1.0.4

    v1.0.4 primarily updates the runtime dependency iconv-lite from 0.4.19 to 0.4.23, as stated in the release notes. The diff also shows additional repository changes: major version bumps for several dev dependencies, and the addition of a package-lock.json file for dependency locking.

  • v1.0.3

    Release v1.0.3 updates the dependency iconv-lite from 0.4.13 to 0.4.19, which is the only change called out in the release notes. The code diff also shows an npm script change that is not mentioned: the script named update was renamed to prepare.

  • v1.0.2

    Release v1.0.2 updates the project to use the MIT license. No runtime or code logic changes are shown in the diff, only licensing related file and package metadata updates.

    Breaking
  • v1.0.1

    Release v1.0.1 updates `labelToName` and `isSupported` to coerce their inputs to strings before processing. This prevents crashes for non-string inputs and aligns behavior so that `labelToName(undefined)` returns `null` instead of throwing.

  • v1.0.0

    This release (v1.0.0) was extracted from jsdom and includes a slightly refactored public API. It also adds a build-time script that assembles encoding tables as JSON in advance, likely reducing runtime work.