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 repository shows upstream activity as of 2025-08-11, but the provided published update history is from 2023-06-20, so it looks maintained but with no recent published updates evidenced in this data.
- Update cadence: Based on the provided “recent update summaries,” there were multiple updates clustered on 2023-06-20, including a packaging shift and a major 2.0.0-rc.0 candidate, and then no further updates shown after that.
AI summary generated Today
Recent updates
2.0.0-rc.0
6/20/2023This 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).
BreakingFeatures1.5.0
6/20/2023This 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
6/20/2023Version 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.
BreakingFeatures1.4.4
5/25/2015Version 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
4/26/2015Release 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.
Features1.4.2
3/25/2015Release 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
3/23/2015Version 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
2/19/2015Version 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.
Breaking1.3.9
2/18/2015Version 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
2/15/2015Version 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.