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

  • Maintenance status: The upstream source is marked as archived, which strongly suggests it is not actively maintained despite intermittent repository activity (last upstream push appears to be 2025-12-28).
  • Update cadence: Tagged updates appear in 2018, 2018, 2021, and then multiple in 2023 (v3.0.0 to v3.1.1 on 2023-11-07 to 2023-11-12). After v3.1.1 (2023-11-12) there are no further tagged updates shown, so the cadence looks effectively stalled relative to today (2026-09-10).

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.