← Back to all sparks
L

libvips

DESIGN
Velocity0.0

Fast image processing library with low memory needs

libvips 8.18 opened up UltraHDR and Oklab, then spent months closing memory bugs.

image-processinghdrcolour-managementmemory-safetyc-library
Current state
The feed tracks release candidates only. The 8.18 line added UltraHDR load and save, Oklab and Oklch colourspaces, raw camera loading through libraw, and gainmap plumbing through thumbnail and dzsave. The most recent tag, 8.18.3-rc1, is a different kind of release: roughly two dozen fixes for out-of-bounds reads, heap overflows and null dereferences across the jp2k, HEIF, Radiance, Magick and PPM loaders.
Where it's heading
The arc runs from capability expansion to hardening. Having taken on more untrusted input formats, libvips is now paying the cost of that surface in memory-safety fixes, several credited to external fuzzing and security researchers. Format reach and attack surface are growing together.
Prediction
With 8.18.3-rc1 dominated by loader bounds checks, the next tags are likely to continue as patch-level hardening on the 8.18 line rather than open a new format frontier.

Recent moves

  1. 2mo ago

    8.18.3-rc1 hardens image loaders against out-of-bounds reads

    A hardening candidate: about two dozen bounds and null-pointer fixes concentrated in the image loaders, plus non-square pixel support in dcrawload. It is the maintenance bill for the format reach 8.18 took on.

    View source ↗
  2. 8mo ago

    Third 8.18.0 release candidate

    The third 8.18.0 candidate, republishing the same notable-changes list as rc1 and rc2. It moves the release process forward without adding to the 8.18 surface.

    View source ↗
  3. 8mo ago

    Second 8.18.0 release candidate

    The second 8.18.0 candidate, carrying an unchanged change list from rc1. A process step rather than a shipped capability.

    View source ↗
  4. 8mo ago

    8.18 adds UltraHDR, Oklab colour and raw camera loading

    ⚡ SPARK

    The first 8.18 candidate and the point where the new surface appears: UltraHDR load and save, Oklab and Oklch colourspaces, libraw-backed raw camera loading, and gainmaps carried through thumbnail and dzsave. It is the capability release the two later candidates only restate.

    View source ↗