Skip to content

Version compatibility matrix

Copy page

The handbook’s “reference implementation” is Go/govips, locked to a fixed version. The four bindings do not bundle or link the same libvips, so result comparison must not assume byte-for-byte identity.

Role Component Version Notes
Reference govips v2.19.0 Binds to system libvips 8.17.3
Reference libvips 8.17.3 System install, shared with pyvips and the CLI
Comparison sharp 0.35.5 Bundles its own libvips 8.18.7
Comparison pyvips 3.2.0 Links the system libvips 8.17.3
Comparison vips CLI 8.17.3 Shares the system libvips with the reference

Framework and runtimes (for reproducible builds): Node 24, pnpm 12.11.2, Astro 7.3.8, Starlight 0.42.6, TypeScript 6.0.3, Go 1.27.0, Python 3.14.5.

sharp ships a prebuilt libvips together with the package. Therefore sharp’s libvips (8.18.7) differs from the system libvips (8.17.3): for the same input and equivalent intent, sharp can legitimately differ from govips/pyvips/CLI in encoding output. Comparison must not assume byte-for-byte identity.

pyvips and the vips CLI link the system libvips 8.17.3, sharing the same library as the reference, so their output is expected to match very closely.

  • The current strategy is metadata-only: dimensions, format, channels, and metadata are verified; pixel equality is not pursued.
  • Pixel-level comparison requires a runner on a shared libvips baseline, marked comparison-pending and not yet implemented.
  • Version-sensitive conclusions must name the specific libvips and binding versions with a review date; do not generalise to every version.
  • When an operation requires a newer libvips (see install-failures / missing-codec under troubleshooting).
  • When the gap between sharp’s bundled libvips and the system libvips causes a behavioural difference, trust the locked reference baseline.
  • After upgrading any binding or libvips, update this matrix and re-verify the affected recipes.
  • The maintainer-locked toolchain baseline for this repository (libvips 8.17.3, govips v2.19.0, sharp 0.35.5, pyvips 3.2.0, CLI 8.17.3).
  • govips README
  • sharp versions (bundled libvips 8.18.7)
  • pyvips
  • libvips

This page is a version-baseline snapshot, reviewed 2026-10-11; re-verify after any upgrade.