LERC (Limited Error Raster Compression) is an open-source raster and image format plus a C++ library for rapid encoding and decoding with a user-defined maximum compression error per pixel. It supports many pixel data types and can be used directly from Python, with decoders available for JavaScript and C#.
Project status
- The source appears actively maintained, with recent GitHub activity and multiple updates in July 2026, including a documented encoder safety change (v4.2.0 on 2026-07-23) and additional updates in the following week (upstream push on 2026-07-30).
- Apparent update cadence is fairly frequent in mid to late July 2026 (roughly weekly between 2026-07-23, 2026-07-30, and the earlier JS/patch updates around 2026-07-02), though longer-term cadence is not fully evidenced by the provided history.
AI summary generated
Recent updates
v4.2.0
This release (Lerc 4.2.0) introduces stricter safety limits around how large the input data and the resulting compressed Lerc blobs are allowed to be. The implementation adds dimension and blob-size checks intended to prevent integer overflow and malformed-header issues during encode/decode.
BreakingSecurityFeaturesjs_v4.1.2
Release js_v4.1.2 does not provide any publisher release notes. The only observed code change is a modification to a single WebAssembly binary file, OtherLanguages/js/src/lerc-wasm.wasm, with no accompanying textual diff.
v4.1.1
Release LERC 4.1.1 (v4.1.1) claims to fix two security issues. The code diff shows broader decoder hardening (bounds checks), changes to how min/max statistics are computed, and additional JavaScript wrapper API changes that are not mentioned in the release notes.
SecurityFeaturesv4.1.0
Release v4.1.0 is described in the notes as finalizing the rename of the Lerc Python package to pylerc. The actual diff shows additional cross-language changes, especially in the JavaScript/TypeScript WASM loader, exported typings, and decoding result shapes.
v4.0.0
LERC 4.0.0 aligns the project with ArcGIS Pro 3.0 and introduces the wasm-based JavaScript decoder plus new 4D-oriented API functionality (for mixed valid/invalid values via per-band noData). The code diff also shows significant cross-language and build-system updates, including changes to JS loading/packaging and CMake packaging behavior.
BreakingFeaturesv3.0
This v3.0 release reorganizes the Lerc API to support per-band valid/invalid masks via a new nMasks parameter, and updates the underlying encode/decode implementations accordingly. Release notes from the publisher are not provided, so developers must rely on the code diff to understand the actual API and behavior changes.
Featuresv2.2.1
The v2.2.1 release notes claim a minor update focused on simplifying how LERC is built and installed as a Conda package for Python. The code changes confirm build packaging changes, but they also include several undocumented adjustments that can impact Conda install behavior, especially on Windows.
Featuresv2.2
This release is labeled as a general bug fix release (v2.2), but the provided release notes do not list any specific changes. The actual diff shows targeted decoder behavior changes in Lerc1 legacy header handling and Lerc2 decoding logic, plus substantial Python packaging and shared-library naming/loading changes.
Breakingv2.1
This release updates the LERC C++ codec to a newer internal “Lerc2 v5” implementation intended to interoperate with ArcGIS Pro 2.5 and ArcMap 10.8, while claiming backward readability of older LERC blobs. The actual code diff shows multiple substantive codec algorithm changes beyond what the short release notes describe, including new encoding modes for multi-band (nDim > 1) data and improved float handling. The default encoder output is now a newer bitstream version, which can break older decoders unless compatibility mode is explicitly used.
BreakingFeaturesv2.0
The release notes for v2.0 state that the LERC API and all language decoders were updated to be in sync with ESRI ArcMap 10.7 and ArcGIS Pro 2.3, and that LERC-encoded blobs from previous ArcMap/ArcGIS Pro versions can be decoded. No other behavioral, API, or bitstream changes are described.
v1.0.1
Release v1.0.1 is described as a patch that resolves a Huffman code table parsing issue (#31) in the decoders. The code diff confirms a JavaScript-side decoding change related to Huffman unstuffing, but it also contains several C++ API refactors not mentioned in the release notes.