Releases: pillarjs/iconv-lite
v1.0.0-alpha.1
⚠️ Breaking changes
-
Remove support for Node <18 and safe-buffer dependency - by @bjohansebas @Phillip9587 and @TheThing in #265 and #349
Node.js versions prior to 18 are no longer supported. This allows us to remove the safe-buffer dependency and use native Buffer methods available in Node 18 and later.
-
Use native TextDecoder for decoding - by @JohnGu9 and @bjohansebas in #316
While this improves compatibility with web standards, some edge cases may behave differently because the implementation of TextDecoder in Node.js or other JavaScript runtimes has issues with the specification.
🚀 Improvements
-
Introduce backend abstraction layer to support to Uint8Array buffer implementation - by @ashtuchkin
This paves the way for supporting environments without Node.js Buffer, such as browsers using Uint8Array.
This is a work in progress, so many parts still rely on Buffer internally, but the goal is to eventually have full support for a Uint8Array based implementation. -
Update of the GBK encoding table according to changes in the specification - by @bjohansebas in #371
The GBK encoding table was updated to reflect the latest changes in the Encoding Standard:
- A6D9–A6DF: Assigned 7 vertical presentation punctuation characters (︐︒︑︓︔︕︖) that were previously unmapped
- A6EC–A6ED: Assigned 2 presentation characters (︗︘) that were previously unmapped
- A6F3: Assigned a punctuation character (︙) that was previously unmapped
- FE50: Inserted characters 龴, 龵, 龶, 龷, 龸, 龹 at specific positions in the sequence
- FE80: Inserted characters 龺, 龻 at specific positions in the sequence
Other changes
- Updated test dependencies by @Phillip9587 in #354
- cleanup: remove mergeModules helper function by @Phillip9587 in #353
- chore(test:webpack): upgrade webpack 5 by @bjohansebas in #362
- chore: bring chage of master by @bjohansebas in #380
New Contributors
- @Phillip9587 made their first contribution in #354
- @JohnGu9 made their first contribution in #316
Full Changelog: v0.7.2...v1.0.0-alpha.1
v0.7.2
🐞 Bug fixes
-
Correction of CommonJS exports in TypeScript definitions - by @plbstl in #366
Fixed the TypeScript definitions to correctly represent the CommonJS exports of the library.
This resolves issues where consumers using TypeScript would encounter errors due to incorrect
type definitions that did not align with the actual module exports.
Other changes
- Bump actions/setup-node from 4 to 6 by @dependabot[bot] in #373
- Bump actions/checkout from 4 to 6 by @dependabot[bot] in #374
- chore: use files field in package.json instead of .npmignore by @bjohansebas in #372
- Bump github/codeql-action from 4.31.2 to 4.31.9 by @dependabot[bot] in #375
- Bump actions/upload-artifact from 4 to 6 by @dependabot[bot] in #377
- Bump actions/download-artifact from 6 to 7 by @dependabot[bot] in #376
Full Changelog: v0.7.1...v0.7.2
v0.7.1
What's Changed
🚀 Improvements
- types: improve type definitions and add missing APIs - by @plbstl and @bjohansebas in #330
Other changes
- Bump actions/setup-node from 4 to 6 by @dependabot[bot] in #357
- Bump actions/download-artifact from 5 to 6 by @dependabot[bot] in #356
- Bump github/codeql-action from 3.29.8 to 4.31.2 by @dependabot[bot] in #355
- Bump actions/checkout from 4 to 5 by @dependabot[bot] in #351
- release: 0.7.1 by @bjohansebas in #359
New Contributors
Full Changelog: v0.7.0...v0.7.1
v0.7.0
🐞 Bug fixes
-
Handle split surrogate pairs when encoding utf8 - by @yosion-p and @ashtuchkin in #282:
Handle a case where streaming utf8 encoder (converting js strings -> buffers) encounters
surrogate pairs split between chunks (last character of one chunk is high surrogate and first
character of the next chunk is a low surrogate). -
Avoid false positives in encodingExists by using objects without a prototype - by @bjohansebas in #328
The encodingExists method could return incorrect results if the lookup matched properties inherited
from the prototype of the object that stores the encodings, such as constructor and others. This change
replaces that object with one that has no prototype, ensuring that only explicitly defined valid encodings
in the library are considered. In addition, the fix is applied to the internal cache system to avoid the same
kind of false positives
🚀 Improvements
- Make explicit that decode() method supports Uint8Array input - by @jardicc in #271
- Remove compatibility check for StringDecoder.end method - by @bjohansebas in #331
Other changes
- chore: update .npmignore to ignore unnecessary files by @vain0x in #292
- ci: use github actions instead travis by @bjohansebas in #324
- ci: add codeql by @bjohansebas in #325
- chore: update performance tests to use bench-node for benchmarking by @bjohansebas in #332
- feat: adopt neostandard as linter by @bjohansebas in #333
- chore: support node.js >=6, remove safe-buffer by @bjohansebas in #335
- Revert "chore: support node.js >=6, remove safe-buffer (#335)" by @bjohansebas in #336
- docs(package.json): update repo name and add funding field by @bjohansebas in #337
- chore: remove object-assign by @bjohansebas and @ljharb in #338
- release: 0.7.0 by @bjohansebas in #334
- ci: bump actions/download-artifact from 4 to 5 by @dependabot[bot] in #326
- ci: bump github/codeql-action from 3.29.2 to 3.29.8 by @dependabot[bot] in #327
New Contributors
- @yosion-p made their first contribution in #282
- @jardicc made their first contribution in #271
- @vain0x made their first contribution in #292
- @bjohansebas made their first contribution in #324
- @dependabot[bot] made their first contribution in #326
Full Changelog: v0.6.3...v0.7.0