Skip to content

Releases: pillarjs/iconv-lite

v1.0.0-alpha.1

08 Jan 16:58
6366ccb

Choose a tag to compare

v1.0.0-alpha.1 Pre-release
Pre-release

⚠️ 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

New Contributors

Full Changelog: v0.7.2...v1.0.0-alpha.1

v0.7.2

08 Jan 16:44
6cf4f08

Choose a tag to compare

🐞 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

Full Changelog: v0.7.1...v0.7.2

v0.7.1

11 Dec 15:36
d85f5ab

Choose a tag to compare

What's Changed

🚀 Improvements

Other changes

New Contributors

Full Changelog: v0.7.0...v0.7.1

v0.7.0

20 Aug 16:46
165af71

Choose a tag to compare

🐞 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

New Contributors

Full Changelog: v0.6.3...v0.7.0