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
- Upstream description indicates it “Decode[s] strings according to the WHATWG Encoding Standard,” and the source is marked as archived upstream, suggesting limited or end-of-life style maintenance even though there is an upstream push recorded on 2025-12-28.
- The only recent
updatesshown are v3.0.0, v3.1.0, and v3.1.1, all in 2023-11-07 to 2023-11-12, after which no further taggedupdatesare evident from the provided history.
AI summary generated Today
Recent updates
v3.1.1
11/12/2023Release 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
11/12/2023Release 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.
Featuresv3.0.0
11/7/2023Release 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.
Breakingv2.0.0
9/12/2021Release 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.
Breakingv1.0.5
9/30/2018Release 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
8/13/2018v1.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
10/29/2017Release 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
10/23/2017Release 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.
Breakingv1.0.1
10/16/2016Release 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
10/16/2016This 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.