Skip to content

Releases: libvips/libvips

v8.18.0-rc3

10 Dec 14:53

Choose a tag to compare

v8.18.0-rc3 Pre-release
Pre-release

Third release candidate for 8.18. The release notes are here:

https://www.libvips.org/2025/12/04/What's-new-in-8.18.html

Notable changes since 8.17:

  • add dcrawload, dcrawload_source, dcrawload_buffer: load raw camera files
    using libraw [lxsameer]
  • add magickload_source: load from a source with imagemagick
  • add vips__worker_exit(): enables fast threadpool shutdown
  • larger mmap windows on 64-bit machines improve random access mode for many
    file formats
  • pdfload: control region to be rendered via page_box [lovell]
  • system: add "cache" argument
  • add vips_image_get_tile_width(), vips_image_get_tile_height(): get tile
    cache geometry hints [jbaiter]
  • add vips_uhdrload(), vips_uhdrload_buffer(), vips_uhdrload_source(): load an
    UltraHDR image
  • add vips_uhdrsave(), vips_uhdrsave_buffer(), vips_uhdrsave_target(): save an
    UltraHDR image
  • fix cpp binding leak [VivitionDeveloper]
  • add "gainmap" to VipsKeep
  • add vips_image_get_gainmap()
  • thumbnail updates gainmaps
  • add "bitdepth" to jxlsave
  • add "path" option to vipsthumbnail, deprecate "output" option [zjturner]
  • add "exact" to webpsave
  • add "uhdr2scRGB"
  • dzsave has gainmap support
  • cpp: add .gainmap(), .set(VImage)
  • add support for Oklab and Oklch colourspaces
  • add vips_Oklab2XYZ(), vips_XYZ2Oklab()
  • add vips_Oklab2Oklch(), vips_OKlch2Oklab()
  • add vips_interpretation_bands()
  • heifsave: add "tune" parameter
  • require C++14 as a minimum standard [kleisauke]
  • prefer libpng over spng

Test windows binaries (for rc2) here:

https://github.com/libvips/build-win64-mxe/releases/tag/v8.18.0-rc2

v8.18.0-rc2

08 Dec 18:06

Choose a tag to compare

v8.18.0-rc2 Pre-release
Pre-release

Second release candidate for 8.18. The release notes are here:

https://www.libvips.org/2025/12/04/What's-new-in-8.18.html

Notable changes since 8.17:

  • add dcrawload, dcrawload_source, dcrawload_buffer: load raw camera files
    using libraw [lxsameer]
  • add magickload_source: load from a source with imagemagick
  • add vips__worker_exit(): enables fast threadpool shutdown
  • larger mmap windows on 64-bit machines improve random access mode for many
    file formats
  • pdfload: control region to be rendered via page_box [lovell]
  • system: add "cache" argument
  • add vips_image_get_tile_width(), vips_image_get_tile_height(): get tile
    cache geometry hints [jbaiter]
  • add vips_uhdrload(), vips_uhdrload_buffer(), vips_uhdrload_source(): load an
    UltraHDR image
  • add vips_uhdrsave(), vips_uhdrsave_buffer(), vips_uhdrsave_target(): save an
    UltraHDR image
  • fix cpp binding leak [VivitionDeveloper]
  • add "gainmap" to VipsKeep
  • add vips_image_get_gainmap()
  • thumbnail updates gainmaps
  • add "bitdepth" to jxlsave
  • add "path" option to vipsthumbnail, deprecate "output" option [zjturner]
  • add "exact" to webpsave
  • add "uhdr2scRGB"
  • dzsave has gainmap support
  • cpp: add .gainmap(), .set(VImage)
  • add support for Oklab and Oklch colourspaces
  • add vips_Oklab2XYZ(), vips_XYZ2Oklab()
  • add vips_Oklab2Oklch(), vips_OKlch2Oklab()
  • add vips_interpretation_bands()
  • heifsave: add "tune" parameter
  • require C++14 as a minimum standard [kleisauke]
  • prefer libpng over spng

v8.18.0-rc1

05 Dec 20:46
87a0f03

Choose a tag to compare

v8.18.0-rc1 Pre-release
Pre-release

First release candidate for 8.18. The release notes are here:

https://www.libvips.org/2025/12/04/What's-new-in-8.18.html

Notable changes since 8.17:

  • add dcrawload, dcrawload_source, dcrawload_buffer: load raw camera files
    using libraw [lxsameer]
  • add magickload_source: load from a source with imagemagick
  • add vips__worker_exit(): enables fast threadpool shutdown
  • larger mmap windows on 64-bit machines improve random access mode for many
    file formats
  • pdfload: control region to be rendered via page_box [lovell]
  • system: add "cache" argument
  • add vips_image_get_tile_width(), vips_image_get_tile_height(): get tile
    cache geometry hints [jbaiter]
  • add vips_uhdrload(), vips_uhdrload_buffer(), vips_uhdrload_source(): load an
    UltraHDR image
  • add vips_uhdrsave(), vips_uhdrsave_buffer(), vips_uhdrsave_target(): save an
    UltraHDR image
  • fix cpp binding leak [VivitionDeveloper]
  • add "gainmap" to VipsKeep
  • add vips_image_get_gainmap()
  • thumbnail updates gainmaps
  • add "bitdepth" to jxlsave
  • add "path" option to vipsthumbnail, deprecate "output" option [zjturner]
  • add "exact" to webpsave
  • add "uhdr2scRGB"
  • dzsave has gainmap support
  • cpp: add .gainmap(), .set(VImage)
  • add support for Oklab and Oklch colourspaces
  • add vips_Oklab2XYZ(), vips_XYZ2Oklab()
  • add vips_Oklab2Oklch(), vips_OKlch2Oklab()
  • add vips_interpretation_bands()
  • heifsave: add "tune" parameter
  • require C++14 as a minimum standard [kleisauke]
  • prefer libpng over spng

v8.17.3

30 Oct 14:53

Choose a tag to compare

Changes since 8.17.2:

  • tiffsave: fix saved resolution with a non-default resolution-unit metadata
    item [machur]
  • svgload: ensure short/malformed compressed input is ignored [kleisauke,lovell]
  • dzsave: Zoomify: ensure correct tile count in ImageProperties.xml [kleisauke]
  • VipsSaveable: reimplement with macros to help C++ compat [jcupitt]

Windows binaries here:

https://github.com/libvips/build-win64-mxe/releases/tag/v8.17.3

v8.17.2

13 Sep 13:04
0b9ea3a

Choose a tag to compare

Changes since 8.17.1:

  • rank: fix an off-by-one error [larsmaxfield]
  • popplerload, svgload: validate page size [Yang Luo]
  • pdfiumload: allow both dpi and scale to be set [kleisauke]
  • svgload: honor DPI when scaling elements with non-pixel units [kleisauke]
  • disable redundant Highway AVX512 targets [kleisauke]
  • openslideload_source: flag operation as "nocache" [kleisauke]
  • remove vipsprofile.1 man page from install [kleisauke]
  • tiffload: ensure processing halts for memory-related errors [lovell]
  • tiffload: increase memory limit from 20MB to 50MB [lovell]
  • fix vapi build [stydxm]
  • tiffsave: include sample format when copying tiff data [manthey]

Windows binaries here:

https://github.com/libvips/build-win64-mxe/releases/tag/v8.17.2

v8.18.0-alpha2

21 Aug 15:55
9cc54a0

Choose a tag to compare

v8.18.0-alpha2 Pre-release
Pre-release

Changes since alpha1:

  • system: add "cache" argument
  • add vips_image_get_tile_width(), vips_image_get_tile_height(): get tile cache geometry hints [jbaiter]

A test release to help nip4 betas.

v8.18.0-alpha1

21 Jul 15:33
00d6076

Choose a tag to compare

v8.18.0-alpha1 Pre-release
Pre-release

A test release for nip4 development.

Changes since 8.17.0:

  • add dcrawload, dcrawload_source, dcrawload_buffer: load raw camera files using libraw [lxsameer]
  • add magickload_source: load from a source with imagemagick
  • add vips__worker_exit(): enables fast threadpool shutdown
  • larger mmap windows on 64-bit machines improve random access mode for many file formats
  • pdfload: control region to be rendered via page_box [lovell]

v8.17.1

07 Jul 12:59
8fa37a6

Choose a tag to compare

Changes since 8.17.0:

  • fix API docs build with meson < 0.60 [lovell]
  • improve function checks in meson [kleisauke]
  • tiff: use correct log domain in threadsafe warning handlers [kleisauke]
  • shift 16-bit output down to 8-bit when unsupported by saver [kleisauke]
  • text: prevent use of rgba subpixel anti-aliasing [lovell]
  • tiffsave: always apply resolution unit conversion [kleisauke]
  • cache: suppress invalidation errors in release builds [kleisauke]
  • dzsave: IIIF: use named region of 'full' when no crop takes place [lovell]
  • pdfload: fix potential crash with pdfium < 6633 [zhifengzhuang]

Windows binaries here:

https://github.com/libvips/build-win64-mxe/releases/tag/v8.17.1

v8.17.0

05 Jun 15:39

Choose a tag to compare

libvips 8.17.0

Release notes here:

https://www.libvips.org/2025/06/05/What's-new-in-8.17.html

Changes since 8.16.1:

  • gifsave: add keep_duplicate_frames flag [dloebl]
  • add Magic Kernel support [akimon658]
  • tiff: add threadsafe warning/error handlers (requires libtiff 4.5.0+) [lovell]
  • tiffload: add support for fail_on flag [lovell]
  • tiffload: add support for unlimited flag (requires libtiff 4.7.0+) [lovell]
  • much more reliable operation caching
  • colour: add support for auto-selecting the rendering intent [kleisauke]
  • add matrixmultiply
  • better handling of malformed size values [Simcha Kosman]
  • improve performance of vips_shrink() [kleisauke]
  • svgload: add support for custom CSS via stylesheet option [lovell]
  • heifload: unlimited flag removes all limits (requires libheif 1.19.0+) [lovell]
  • heifsave: improve alpha channel detection [lovell]
  • convi: ensure double sum precision for floats [lovell]
  • improve guard against corrupt ICC profiles with older lcms2 versions [kleisauke]
  • improve vips_sink_screen() thumbnail rendering
  • heifload: improve detection of seek beyond EOF [lovell]
  • jp2kload: add oneshot flag [mbklein]
  • share and reuse openslide connections
  • drop support for openslide 3.3
  • fix vips_quadratic()
  • rename thumbnail's export/import profile options as input/output for
    consistency
  • restore vips_remosaic(), it was not being linked
  • deprecate VipsSaveable, add VipsForeignSaveable
  • move vips_image_preeval(), vips_image_eval(), vips_image_posteval() into the
    public API
  • jxlsave: add support for chunked save (requires libjxl 0.9.0+)
  • increase minimum version of libjxl dependency to 0.7.0
  • increase minimum version of libheif dependency to 1.7.0
  • improve scaling of hough_line feature space [ecbypi]
  • heifload: limit per-image memory usage to 2GB (requires libheif 1.20.0+)
  • svgload: add support for scRGB output via high_bitdepth flag [kstanikviacbs]
  • remove vipsprofile from default install
  • add ppmload_buffer [kleisauke]

Windows binaries here:

https://github.com/libvips/build-win64-mxe/releases/tag/v8.17.0

Thank you again to all the volunteers who worked hard on this release!

v8.17.0-rc1

05 Jun 12:00

Choose a tag to compare

v8.17.0-rc1 Pre-release
Pre-release

First release candidate for 8.17.0.

Changes since 8.16.1:

  • gifsave: add keep_duplicate_frames flag [dloebl]
  • add Magic Kernel support [akimon658]
  • tiff: add threadsafe warning/error handlers (requires libtiff 4.5.0+) [lovell]
  • tiffload: add support for fail_on flag [lovell]
  • tiffload: add support for unlimited flag (requires libtiff 4.7.0+) [lovell]
  • much more reliable operation caching
  • colour: add support for auto-selecting the rendering intent [kleisauke]
  • add matrixmultiply
  • better handling of malformed size values [Simcha Kosman]
  • improve performance of vips_shrink() [kleisauke]
  • svgload: add support for custom CSS via stylesheet option [lovell]
  • heifload: unlimited flag removes all limits (requires libheif 1.19.0+) [lovell]
  • heifsave: improve alpha channel detection [lovell]
  • convi: ensure double sum precision for floats [lovell]
  • improve guard against corrupt ICC profiles with older lcms2 versions [kleisauke]
  • improve vips_sink_screen() thumbnail rendering
  • heifload: improve detection of seek beyond EOF [lovell]
  • jp2kload: add oneshot flag [mbklein]
  • share and reuse openslide connections
  • drop support for openslide 3.3
  • fix vips_quadratic()
  • rename thumbnail's export/import profile options as input/output for
    consistency
  • restore vips_remosaic(), it was not being linked
  • deprecate VipsSaveable, add VipsForeignSaveable
  • move vips_image_preeval(), vips_image_eval(), vips_image_posteval() into the
    public API
  • jxlsave: add support for chunked save (requires libjxl 0.9.0+)
  • increase minimum version of libjxl dependency to 0.7.0
  • increase minimum version of libheif dependency to 1.7.0
  • improve scaling of hough_line feature space [ecbypi]
  • heifload: limit per-image memory usage to 2GB (requires libheif 1.20.0+)
  • svgload: add support for scRGB output via high_bitdepth flag [kstanikviacbs]
  • remove vipsprofile from default install
  • add ppmload_buffer [kleisauke]