Back to Explore

geotiffjs/geotiff.js

GitHub
1 updates · last 90 days1 watchersOpen source

Last release:

geotiff.js is a small pure JavaScript library for parsing GeoTIFF and TIFF files to read geospatial metadata and raster pixel data for visualization or analysis. It can load TIFFs from remote URLs, browser XHR/fetch, local ArrayBuffer or blobs, and the filesystem (with browser FileReader or Node.js filesystem), and it supports reading multiple raster layouts, data types, and several common TIFF compressions.

Project status

  • Actively maintained: GitHub shows recent updates in 2026 (last upstream push 2026-05-26), with subsequent updates following within weeks, suggesting ongoing maintenance rather than dormancy.
  • Update cadence: Updates appear fairly regular, with v3.0.5 (2026-03-11), v3.1.0-beta.0 (2026-03-30), and v3.1.0 (2026-05-26), indicating an evolving release rhythm through spring 2026.

AI summary generated

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

Recent updates

  • v3.1.0

    Release v3.1.0 was published, but no release notes were provided by the publisher. The only actual diff shown is a version string update from 3.1.0-beta.0 to 3.1.0 in package.json and package-lock.json.

  • v3.1.0-beta.0

    v3.1.0-beta.0 adds support for writing GeoTIFFs with multiple strips and tiled layouts. The release also restores earlier behavior for creating blocked sources when reading remote GeoTIFFs. The code changes go beyond the release notes by introducing stricter writer limits/validation and altering the documented option typings used by URL-based constructors.

    Features
  • v3.0.5

    Release v3.0.5 is described as a fix for strict imports by switching to Node 16 module resolution. The code changes mostly adjust type-only import specifiers to include explicit .js extensions, and update TypeScript configuration accordingly.

  • v3.0.4

    Release v3.0.4 of geotiff.js focuses on tag handling correctness (restoring hasTag checks and marking certain tags as eager for synchronous access), plus Web Worker postMessage compatibility fixes. It also ships source files in the published npm package to enable source maps.

    Features
  • v3.0.4-beta.0

    Release v3.0.4-beta.0 is primarily positioned as a small bug fix and documentation/type-safety update. The release notes mention no-implicit-any typing fixes, a slice length calculation fix, and a writeArrayBuffer encoded size fix, plus a documentation-only conversion of utils.js to TypeScript.

  • v3.0.3

    Release v3.0.3 is a small packaging change that re-exports ImageFileDirectory from the library top-level. The code changes are limited to adding a new export and bumping the package version metadata, with no other functional modifications shown in the diff.

    Features
  • v3.0.2

    v3.0.2 refactors how decoders are bound for a given compression and its parameters. The main change is that `Pool.bindParameters` now produces a standalone decoder object rather than attaching a mutable `decode` function onto the `Pool` instance.

  • v3.0.1

    Release v3.0.1 focuses on enabling JavaScript type checking (check_js) and improving type annotations, with a stated goal of catching problems earlier (#510). The diff, however, includes several runtime and behavioral changes beyond documentation, particularly in decoding, worker messaging, and some TIFF tag handling.

    Features
  • v3.0.0

    Release v3.0.0 is documented as introducing a breaking change via deferred tag reading, alongside multiple TIFF/GeoTIFF feature additions and several fixes. However, the provided code diff between v3.0.0-beta.6 and v3.0.0 only shows package version bumps in package.json and package-lock.json, with no functional code changes visible in the diff.

    BreakingFeatures
  • v3.0.0-beta.6

    Release v3.0.0-beta.6 introduces deferred tag reading and a substantial internal refactor around how TIFF tags and decoder parameters are loaded and consumed. It also includes targeted fixes for WEBP decoding, and GeoTIFF writer handling for GeoAsciiParams and GeoDoubleParams, plus related geokey typing and infrastructure updates.

    Breaking
  • v2.1.4-beta.1

    This prerelease primarily fixes an edge-case off-by-one bug in BlockedSource slice/block calculations that could trigger a TypeError while reading slices at block boundaries. The code change is small but behavior-affecting for those boundary conditions, and it is accompanied by expanded unit tests. Additionally, the README was updated to advertise Zstandard and some browser-native formats like WebP.