Back to Explore

pieroxy/lz-string

GitHub
1 watchersOpen source

Last release:

LZ-string is an LZ-based compression algorithm implemented for JavaScript, useful for compressing and decompressing text data in web or Node.js applications. It also provides a command line tool (if installed globally) to compress or decompress files, with options for different character encodings.

Project status

  • Maintenance status: The project looks intermittently maintained, with the upstream GitHub activity last pushed on 2025-08-11, but there have been no corresponding visible published updates after 2023-06-20 based on the provided update history.
  • Update cadence: No clear recent cadence for published updates, since the newest listed update is 2023-06-20, which is over 3 years ago relative to 2026-09-10.

AI summary generated

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

Recent updates

  • 2.0.0-rc.0

    This release migrates the library implementation from JavaScript to TypeScript and switches the published package to a bundler-friendly setup with build outputs under dist. It also updates the package entrypoints so consumers should install the package normally (instead of importing from source repositories).

    BreakingFeatures
  • 1.5.0

    This release appears to be a packaging update that bumps the library version and refreshes the prebuilt minified bundle. The release notes only state that the minified version was updated, without describing any behavioral or API changes.

  • 1.4.5

    Version 1.4.5 switches the project licensing to MIT and adds explicit Angular integration to the built JavaScript bundle. It also updates TypeScript typings, and refreshes README/package metadata accordingly.

    BreakingFeatures
  • 1.4.4

    Version 1.4.4 focuses on improving compatibility with older Internet Explorer versions (IE6&7) by changing how characters are accessed on strings during compression/decompression. It also includes minor repository and package metadata updates (version strings, package.json fields) and a README warning label change.

  • 1.4.3

    Release 1.4.3 adds TypeScript declaration files and improves module-loader support (AMD/CommonJS). The code refactors internal implementation details into a closure and slightly changes how the library registers itself when AMD is present.

    Features
  • 1.4.2

    Release 1.4.2 is a bugfix for LZ-string URL decoding, specifically decompressFromEncodedURIComponent. The issue is that when encoded data has plus characters replaced with spaces (commonly by servers or query parsing), decompression fails; the fix normalizes spaces back into plus before decoding.

  • 1.4.1

    Version 1.4.1 focuses on reducing memory usage during compression/decompression by changing how intermediate output strings are built. The release notes warn it may be slightly slower on some OS/browser combinations, but it should significantly lower memory consumption.

  • 1.4.0-beta

    Version 1.4.0-beta rewrites the LZString wrapper functions (compressToUTF16, compressToBase64, compressToEncodedURIComponent, and their matching decompress functions) to avoid calling compress and then re-encoding the result. The release notes claim this reduces extra transformations (notably UTF-16, base64, and URI encoding hops) and may slightly slow raw compress while speeding up the wrapper formats.

    Breaking
  • 1.3.9

    Version 1.3.9 of lz-string primarily changes the implementation of decompressFromUint8Array, as indicated by the release title, and bumps the package metadata version from 1.3.8 to 1.3.9. The change affects how byte arrays are converted back into a string prior to calling decompress, and the release also adds binary compatibility tests.

  • 1.3.8

    Version 1.3.8 of lz-string is presented as a performance optimization release, with changes concentrated in libs/lz-string.js. The only documented release information is the generic label “Performance optimizations”, and no detailed change log was provided by the publisher.