Recent Releases of libvips

libvips - v8.18.0-test2

Changes since test1:

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

A test release to help nip4 betas.

- C
Published by jcupitt 10 months ago

libvips - v8.18.0-test1

A test release for nip4 development.

Changes since 8.17.0:

  • add dcrawload, dcrawloadsource, dcrawloadbuffer: load raw camera files using libraw [lxsameer]
  • add magickload_source: load from a source with imagemagick
  • add vips_workerexit(): 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]

- C
Published by jcupitt 11 months ago

libvips - v8.17.1

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

- C
Published by jcupitt 11 months ago

libvips - v8.17.0

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 vipssinkscreen() 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 vipsimagepreeval(), vipsimageeval(), vipsimageposteval() 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!

- C
Published by jcupitt about 1 year ago

libvips - v8.17.0-rc1

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 vipssinkscreen() 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 vipsimagepreeval(), vipsimageeval(), vipsimageposteval() 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]

- C
Published by jcupitt about 1 year ago

libvips - v8.17.0-test4

A test version of 8.17 to help nip4 development.

Changes since 8.16:

  • add keep_duplicate_frames option to GIF save [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
  • 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]
  • heifload: improve detection of seek beyond EOF [lovell]
  • add "oneshot" option to jp2kload [mbklein]
  • improved scheduling for vipssinkscreen()

- C
Published by jcupitt about 1 year ago

libvips - v8.17.0-test2

A test version of 8.17 to help nip4 development.

Changes since 8.16:

  • add keep_duplicate_frames option to GIF save [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
  • 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]

- C
Published by jcupitt about 1 year ago

libvips - v8.16.1

Changes since 8.16.0:

  • support multipage JXL
  • fix PFM byte order on big-endian machines [agoode]
  • morph: fix erode Highway path [kleisauke]
  • morph: fix C-paths with masks containing zero [kleisauke]
  • fix --vips-info CLI flag with GLib >= 2.80 [kleisauke]
  • make subsample-mode=on and lossless=true mutually exclusive [kleisauke]
  • fix SZI write with openslide4 [goran-hc]
  • heifsave: prevent use of AV1 intra block copy feature [lovell]
  • threadpool: improve cooperative downsizing [kleisauke]
  • fix alpha shift during colourspace conversions [frederikrosenberg]
  • heifsave: set image orientation using irot and imir transformations [lovell]
  • XYZ2Yxy: guard against divide by zero
  • fix MSVC compile error [na-trium-144]
  • exif: ensure enumerated entries can be converted to string values [lovell]
  • gifsave: add support for eval callback, ensure correct return code [lovell]
  • tiffsave: honor disc threshold during pyramid save [kleisauke]
  • fill_nearest: fix a leak
  • colour: use suggested rendering intent as fallback [kleisauke]
  • morph: fix Orc path with large masks [kleisauke]
  • invertlut: fix final value in some cases
  • matrixload: fix file format detect for some matrix types
  • radload: improve sanity check of colour-related headers [lovell]
  • heifsave: reject multiband images [lovell]
  • heifload: prevent possible int overflow for large images [kleisauke]
  • tiffload: add missing read loop [kleisauke]
  • prevent possible use-after-free when debugging via --vips-leak flag [lovell]
  • avoid possible overflow when multiplication result is cast up [lovell]

Windows binaries should be here shortly:

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

- C
Published by jcupitt over 1 year ago

libvips - v8.17.0-test1

A test version of 8.17 for nip4 development.

Changes since 8.16:

  • add keep_duplicate_frames option to GIF save [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
  • 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]

- C
Published by jcupitt over 1 year ago

libvips - v8.16.0

Release notes here:

https://www.libvips.org/2024/10/10/What's-new-in-8.16.html

Changes since 8.15:

  • allow small offsets for the PDF magic string [project0]
  • add support for OJPEG tiffs [DarthSim]
  • add "palette" metadata item to flag palette images [DarthSim]
  • jxl load and save now support exif, xmp, animation [DarthSim]
  • improved configure output
  • add a filetype blocker for imagemagick
  • add basic g_auto support
  • support for long EXIF values [MarcosAndre]
  • better system error messages on windows [kleisauke]
  • add configurable max coordinate and vipsmaxcoord_get()
  • improve kill handling
  • PFM save and load now uses scRGB (ie. linear 0-1) [NiHoel]
  • turn vips_addalpha() into a VipsOperation [RiskoZoSlovenska]
  • add vipsrawsavetarget(), vipsrawsavebuffer() [akash-akya]
  • vipsheader supports multiple "-f field" arguments [sergeevabc]
  • add "target_size" to webpsave [john-parton]
  • add "passes" to webpsave [john-parton]
  • revise sRGB -> B_W coefficients [daniellovera]
  • add vipssdf(), vipsclamp(), vipsmaxpair(), vipsminpair()
  • more const for the C++ API [Julianiolo]
  • deprecate "cache" (use tilecache instead)
  • add tests for tokenisation
  • add "unpackcomplex" option to vipsgetpoint()
  • add deflate compression level setting to tiffsave [ruven]
  • add "smart_deblock" to webpsave [goodusername123]

Windows binaries will be here shortly:

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

- C
Published by jcupitt over 1 year ago

libvips - v8.15.5

Changes since 8.15.4:

  • revert libvips-cpp soname change

Changes since 8.15.3:

  • fix an off-by-one error in vips_tokenget()
  • heifsave: fix crash when passing an invalid bitdepth [kleisauke]
  • webpsave: fix memory leak on error [dloebl]
  • heifsave: ensure NCLX profile is freed in lossless mode [kleisauke]
  • threadpool: fix a race condition in error handling [kleisauke]
  • disable GLib cast checks and asserts for plain builds [kleisauke]
  • fix jpeg in tiff for high Q [nahilsobh]
  • threadset: fix a race condition during thread exit [kleisauke]
  • fix compatibility with MSVC [Julianiolo]

Windows binaries here shortly https://github.com/libvips/build-win64-mxe/releases/tag/v8.15.5

- C
Published by jcupitt over 1 year ago

libvips - v8.16.0-rc2

Second test release.

Changes since 8.15:

  • allow small offsets for the PDF magic string [project0]
  • add support for OJPEG tiffs [DarthSim]
  • add "palette" metadata item to flag palette images [DarthSim]
  • jxl load and save now support exif, xmp, animation [DarthSim]
  • improved configure output
  • add a filetype blocker for imagemagick
  • add basic g_auto support
  • support for long EXIF values [MarcosAndre]
  • better system error messages on windows [kleisauke]
  • add configurable max coordinate and vipsmaxcoord_get()
  • improve kill handling
  • PFM save and load now uses scRGB (ie. linear 0-1) [NiHoel]
  • turn vips_addalpha() into a VipsOperation [RiskoZoSlovenska]
  • add vipsrawsavetarget(), vipsrawsavebuffer() [akash-akya]
  • vipsheader supports multiple "-f field" arguments [sergeevabc]
  • add "target_size" to webpsave [john-parton]
  • add "passes" to webpsave [john-parton]
  • revise sRGB -> B_W coefficients [daniellovera]
  • add vipssdf(), vipsclamp(), vipsmaxpair(), vipsminpair()
  • more const for the C++ API [Julianiolo]
  • deprecate "cache" (use tilecache instead)
  • add tests for tokenisation
  • add "unpackcomplex" option to vipsgetpoint()
  • add deflate compression level setting to tiffsave [ruven]
  • add "smart_deblock" to webpsave [goodusername123]

- C
Published by jcupitt over 1 year ago

libvips - v8.16.0-rc1

Changes since 8.15:

  • allow small offsets for the PDF magic string [project0]
  • add support for OJPEG tiffs [DarthSim]
  • add "palette" metadata item to flag palette images [DarthSim]
  • jxl load and save now support exif, xmp, animation [DarthSim]
  • improved configure output
  • add a filetype blocker for imagemagick
  • add basic g_auto support
  • support for long EXIF values [MarcosAndre]
  • better system error messages on windows [kleisauke]
  • add configurable max coordinate and vipsmaxcoord_get()
  • improve kill handling
  • PFM save and load now uses scRGB (ie. linear 0-1) [NiHoel]
  • turn vips_addalpha into a VipsOperation [RiskoZoSlovenska]
  • add vipsrawsavetarget(), vipsrawsavebuffer() [akash-akya]
  • vipsheader supports multiple "-f field" arguments [sergeevabc]
  • webpsave has @target_size parameter to set desired size in bytes [john-parton]
  • webpsave has @passes parameter to set number of passes to achieve desired target_size [john-parton]
  • revise sRGB -> B_W coefficients [daniellovera]
  • add vipssdf(), vipsclamp(), vipsmaxpair(), vipsminpair()
  • more const for the C++ API [Julianiolo]
  • deprecate "cache" (use tilecache instead)
  • add tests for tokenisation
  • add "unpackcomplex" option to vipsgetpoint()
  • add deflate compression level setting to tiffsave [ruven]
  • add "smart_deblock" to webpsave [goodusername123]

This is a first test release.

- C
Published by jcupitt over 1 year ago

libvips - v8.15.5-rc1

Release candidate. The micro bump is to avoid confusion with the misnamed 8.15.4 release candidate.

Changes since 8.15.4:

  • revert libvips-cpp soname change

Changes since 8.15.3:

  • fix an off-by-one error in vips_tokenget()
  • heifsave: fix crash when passing an invalid bitdepth [kleisauke]
  • webpsave: fix memory leak on error [dloebl]
  • heifsave: ensure NCLX profile is freed in lossless mode [kleisauke]
  • threadpool: fix a race condition in error handling [kleisauke]
  • disable GLib cast checks and asserts for plain builds [kleisauke]
  • fix jpeg in tiff for high Q [nahilsobh]
  • threadset: fix a race condition during thread exit [kleisauke]
  • fix compatibility with MSVC [Julianiolo]

Windows binaries here shortly https://github.com/libvips/build-win64-mxe/releases/tag/v8.15.5-rc1

- C
Published by jcupitt over 1 year ago

libvips - v8.15.4

Changes since 8.15.3:

  • fix an off-by-one error in vips_tokenget()
  • heifsave: fix crash when passing an invalid bitdepth [kleisauke]
  • webpsave: fix memory leak on error [dloebl]
  • heifsave: ensure NCLX profile is freed in lossless mode [kleisauke]
  • threadpool: fix a race condition in error handling [kleisauke]
  • disable GLib cast checks and asserts for plain builds [kleisauke]
  • fix jpeg in tiff for high Q [nahilsobh]
  • threadset: fix a race condition during thread exit [kleisauke]
  • fix compatibility with MSVC [Julianiolo]

Windows binaries here shortly https://github.com/libvips/build-win64-mxe/releases/tag/v8.15.4

- C
Published by jcupitt over 1 year ago

libvips - v8.15.3

Changes since 8.15.2:

  • fix dzsave of >8-bit images to JPEG
  • jpegsave: fix chrominance subsampling mode with jpegli [kleisauke]
  • pngload: disable ADLER32/CRC checking in non-fail mode [kleisauke]
  • improve target_clones support check [kleisauke]
  • fix pipe read limit
  • fix a rare crash on Windows in highly threaded applications [Julianiolo]
  • vipssave: fix infinite loop on Windows with large images [pdbourke]
  • conva: fix a crash with {u,}{short,int} images [erdmann]
  • fix vipsimageget_string
  • heifsave: fix lossless mode [kleisauke]
  • composite: fix dest-atop blend mode [kleisauke]
  • fix vipssourcemap for zero-length sources [kleisauke]

Windows binaries here shortly https://github.com/libvips/build-win64-mxe/releases/tag/v8.15.3

- C
Published by jcupitt almost 2 years ago

libvips - v8.15.2

Changes since 8.15.1:

  • fix deflate compression of tiff pyramids [manthey]
  • thumbnail always writes 8-bit thumbnails [turtletowerz]
  • lower min scale factor to 0.0 in svgload and pdfload [lovell]
  • heifload: don't warn on images with nclx profiles [kleisauke]
  • ppmload: ensure multi-line comments are skipped [lovell]
  • fix arrayjoin with some pipelines [TheEssem]
  • fix high Q mono JPEG TIFF write with mozjpeg [cavenel]
  • tiffsave: ensure large file support (>2GB) on MSVC [kleisauke]
  • check linker for target_clones support [lovell]

- C
Published by jcupitt over 2 years ago

libvips - v8.15.1

Changes since 8.15.0:

  • reduceh: fix Highway path on SSE2 [DarthSim]
  • fix JPEG in TIFF colourspace for Q >= 90 [heman1-test]
  • fix build with upcoming libjxl 0.9 [kleisauke]
  • jxlsave: lower min effort value to 1 [DarthSim]
  • fix build without libjpeg [ionenwks]
  • fix vips7 plugin load [jcupitt]
  • allow ".jfif" as a suffix for jpegsave [casperbrike]
  • don't let the magick sniffer hijack TIFF [kleisauke]
  • ignore BLOCKED classes in foreign map [jcupitt]
  • add locks to fftw3 calls [akash-akya]

Windows binaries here shortly:

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

- C
Published by jcupitt over 2 years ago

libvips - v8.15.0

Release notes:

https://www.libvips.org/2023/10/10/What's-new-in-8.15.html

Changes for this release:

  • add support for target_clones attribute [lovell]
    • use with (un)premultiply for ~10% perf gain on AVX CPUs
    • use with XYZ to LAB colourspace conversion for ~10% perf gain on AVX CPUs
  • add fast path to extract_band and bandjoin for uchar images [lovell]
  • reduce vips_sharpen max sigma to 10 [lovell]
  • inline scRGB to XYZ colourspace conversion, ~2x faster [lovell]
  • set "interlaced=1" for interlaced GIF images [kleisauke]
  • add @lineart to findtrim [miltoncandelero]
  • improve C++ binding [MathemanFlo]
    • add inplace() / VImage::new_from_memory_copy()
    • add overloads for draw_*() / VImage::thumbnail_buffer()
  • allow negative line spacing in text [donghuikugou]
  • add VIPSMETABITSPERSAMPLE metadata, deprecate the "palette-bit-depth" and "heif-bitdepth" meta fields [MathemanFlo]
  • add "revalidate" to foreign loaders [jcupitt]
  • add premultiplied option to smartcrop [lovell]
  • add "prewitt" and "scharr" edge detectors, "sobel" is more accurate for non-uchar formats [jcupitt]
  • add support for forms in pdfium loader [kleisauke]
  • swap built-in profiles with ICC v4 variants [kleisauke]
  • remove libgsf dependency in favor of libarchive [kleisauke]
  • better chunking for small shrinks [jcupitt]
  • use alpha range of 0.0 - 1.0 for scRGB images [DarthSim]
  • add support for 16-bit float TIFFs [DarthSim]
  • add direct mode to dzsave [jcupitt]
  • require C++11 as a minimum standard [kleisauke]
  • add support for SIMD via Highway [kleisauke]
  • threaded write in tiffsave for tiled JPEG and JPEG2000 [jcupitt]
  • add vipsthreadexecute() to the public API [jcupitt]
  • add "keep" flag to foreign savers, deprecate "strip" [a3mar]
  • improve scRGB handling [jcupitt]

Windows binaries here:

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

- C
Published by kleisauke over 2 years ago

libvips - v8.15.0-rc2

A test release for 8.15.

Changes since rc1:

https://github.com/libvips/libvips/compare/v8.15.0-rc1...v8.15.0-rc2

Windows binaries here:

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

- C
Published by kleisauke over 2 years ago

libvips - v8.15.0-rc1

A test release for 8.15.

Changes for this release:

  • add support for target_clones attribute [lovell]
    • use with (un)premultiply for ~10% perf gain on AVX CPUs
    • use with XYZ to LAB colourspace conversion for ~10% perf gain on AVX CPUs
  • add fast path to extract_band and bandjoin for uchar images [lovell]
  • reduce vips_sharpen max sigma to 10 [lovell]
  • inline scRGB to XYZ colourspace conversion, ~2x faster [lovell]
  • set "interlaced=1" for interlaced GIF images [kleisauke]
  • add @lineart to findtrim [miltoncandelero]
  • improve C++ binding [MathemanFlo]
    • add inplace() / VImage::new_from_memory_copy()
    • add overloads for draw_*() / VImage::thumbnail_buffer()
  • allow negative line spacing in text [donghuikugou]
  • add VIPSMETABITSPERSAMPLE metadata, deprecate the "palette-bit-depth" and "heif-bitdepth" meta fields [MathemanFlo]
  • add "revalidate" to foreign loaders [jcupitt]
  • add premultiplied option to smartcrop [lovell]
  • add "prewitt" and "scharr" edge detectors, "sobel" is more accurate for non-uchar formats [jcupitt]
  • add support for forms in pdfium loader [kleisauke]
  • swap built-in profiles with ICC v4 variants [kleisauke]
  • remove libgsf dependency in favor of libarchive [kleisauke]
  • better chunking for small shrinks [jcupitt]
  • use alpha range of 0.0 - 1.0 for scRGB images [DarthSim]
  • add support for 16-bit float TIFFs [DarthSim]
  • add direct mode to dzsave [jcupitt]
  • require C++11 as a minimum standard [kleisauke]
  • add support for SIMD via Highway [kleisauke]
  • threaded write in tiffsave for tiled JPEG and JPEG2000 [jcupitt]
  • add vipsthreadexecute() to the public API [jcupitt]
  • add "keep" flag to foreign savers, deprecate "strip" [a3mar]
  • improve scRGB handling [jcupitt]

Windows binaries here:

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

- C
Published by kleisauke over 2 years ago

libvips - v8.14.5

A few bugfixes since 8.14.4:

  • fix a crash with alpha plus iccimport and iccexport [jcupitt]
  • fix a crash in jxlsave [jcupitt]

Windows binaries here:

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

- C
Published by kleisauke over 2 years ago

libvips - v8.14.4

A few bugfixes since 8.14.3:

  • fix null-pointer dereference during svgload [kleisauke]
  • heif{load,save}: guard against NULL strings [kleisauke]
  • pdfiumload: fix rendering of pages with different sizes [DarthSim]

Windows binaries here:

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

- C
Published by kleisauke almost 3 years ago

libvips - v8.14.3

A few bugfixes since 8.14.2:

  • fix ICC handling of greyscale images with a incompatible profile [kleisauke]
  • fix use-after-free during tiff pyramid save [kleisauke]
  • fix vips7 PNG load and save when using libspng [jcupitt]
  • tiffload: slightly relax tile size sanity check [lovell]
  • heifsave: limit dimensions to a maximum edge of 16384 [lovell]
  • colourspace: ensure CMYK conversion uses the embedded ICC profile [kleisauke]
  • ensure chromatic adaptation during icc_{im,ex}port() [kleisauke]
  • improve ICC compatibility check for CMYK images [kleisauke]

Windows binaries here:

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

- C
Published by kleisauke almost 3 years ago

libvips - v8.14.2

A few bugfixes since 8.14.1:

  • use a private fontmap in vips_text() [jcupitt]
  • increase sanity checks on TIFF tile dimensions [lovell]
  • ensure compatibility with libheif > 1.14.2 [kleisauke]
  • minor doc fixes [jcupitt]
  • sanitise dimensions in JPEG-compressed TIFF images [lovell]
  • fix target pnm write [ewelot]
  • dedupe FITS header write [ewelot]
  • fix strip parameter in webpsave [jcupitt]
  • earlier abort of webpsave on kill [dloebl]
  • fix thumbnail of CMYK images with an embedded ICC profile [kleisauke]
  • fix ICC handling of RGB images with a monochrome profile [kleisauke]
  • ensure ICC transforms keep all precision [kleisauke]
  • fix openslideload associated=XXX load [jcupitt]
  • fix compatibility with MSVC [SpaceIm]

Windows binaries here:

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

- C
Published by kleisauke about 3 years ago

libvips - v8.14.1

Release notes:

https://www.libvips.org/2022/12/22/What's-new-in-8.14.html

Changes for this release:

  • expose location of interest when using attention based cropping [ejoebstl]
  • remove autotools
  • remove various obsolete scripts
  • remove benchmark
  • jp2ksave defaults to chroma subsample off, and jp2 write
  • don't minimise vips_sink_screen() input after expose ... improves caching during interactive use
  • require libjxl 0.6+
  • add interlace option to GIF save [dloebl]
  • magick load sets magick-format metadata [aksdb]
  • add .pnm save [ewelot]
  • threaded tiff jp2k and jpeg decompress
  • improve speed and efficiency of animated WebP write [dloebl]
  • add rgb mode to openslideload
  • new thread recycler
  • threadpools size dynamically with load
  • operations can hint threadpool size
  • faster dzsave
  • support for N-colour ICC profiles
  • add bash completions for vips
  • fits load and allows many more bands
  • fits write doesn't duplicate header fields
  • add wrap to vips_text()
  • GIF load supports truncated frames [tlsa]
  • EXIF support for PNG load and save
  • deprecate gifsave reoptimise, add reuse
  • add encoder to heifsave [dloebl]
  • add cplusplus meson build option [jcupitt]
  • arrayjoin is much faster with large arrays

Windows builds here:

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

- C
Published by jcupitt over 3 years ago

libvips - v8.14.0

Changes for this release:

  • expose location of interest when using attention based cropping [ejoebstl]
  • remove autotools
  • remove various obsolete scripts
  • remove benchmark
  • jp2ksave defaults to chroma subsample off, and jp2 write
  • don't minimise vips_sink_screen() input after expose ... improves caching during interactive use
  • require libjxl 0.6+
  • add interlace option to GIF save [dloebl]
  • magick load sets magick-format metadata [aksdb]
  • add .pnm save [ewelot]
  • threaded tiff jp2k and jpeg decompress
  • improve speed and efficiency of animated WebP write [dloebl]
  • add rgb mode to openslideload
  • new thread recycler
  • threadpools size dynamically with load
  • operations can hint threadpool size
  • faster dzsave
  • support for N-colour ICC profiles
  • add bash completions for vips
  • fits load and allows many more bands
  • fits write doesn't duplicate header fields
  • add wrap to vips_text()
  • GIF load supports truncated frames [tlsa]
  • EXIF support for PNG load and save
  • deprecate gifsave reoptimise, add reuse
  • add encoder to heifsave [dloebl]
  • add cplusplus meson build option [jcupitt]
  • make arrayjoin much faster with large arrays

Windows builds will be here shortly:

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

- C
Published by jcupitt over 3 years ago

libvips - v8.14.0-rc1

This is test release of 8.14.

Changes for this release:

  • expose location of interest when using attention based cropping [ejoebstl]
  • remove autotools
  • remove various obsolete scripts
  • remove benchmark
  • jp2ksave defaults to chroma subsample off, and jp2 write
  • don't minimise vips_sink_screen() input after expose ... improves caching during interactive use
  • require libjxl 0.6+
  • add interlace option to GIF save [dloebl]
  • magick load sets magick-format metadata [aksdb]
  • add .pnm save [ewelot]
  • threaded tiff jp2k and jpeg decompress
  • improve speed and efficiency of animated WebP write [dloebl]
  • add rgb mode to openslideload
  • new thread recycler
  • threadpools size dynamically with load
  • operations can hint threadpool size
  • faster dzsave
  • support for N-colour ICC profiles
  • add bash completions for vips
  • fits load and allows many more bands
  • fits write doesn't duplicate header fields
  • add wrap to vips_text()
  • GIF load supports truncated frames [tlsa]
  • EXIF support for PNG load and save
  • deprecate gifsave reoptimise, add reuse
  • add encoder to heifsave [dloebl]
  • add cplusplus meson build option [jcupitt]

Windows builds:

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

- C
Published by jcupitt over 3 years ago

libvips - v8.13.3

A few bugfixes since 8.13.2:

  • improve rules for 16-bit heifsave [johntrunc]
  • improve libspng pallette write [kleisauke]
  • improve libspng pallette sort [DarthSim]
  • ensure EXIF has prefix before parsing [lovell]
  • fix low bit depth pallette spng save [DarthSim]
  • fix thumbnail of non-sRGB images with an export profile [kleisauke]

Windows binaries here:

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

- C
Published by jcupitt over 3 years ago

libvips - v8.13.2

A few bugfixes since 8.13.1:

  • in dzsave, add add missing include directive for errno/EEXIST [kleisauke]
  • fix 8 bit pallete PNG save [lovell]
  • fix null string in buffer print [pclewis]
  • revise caching of seq mode loaders [jcupitt]
  • reduce latency on dzsave kill [kleisauke]
  • improve text too large check [kleisauke]
  • fix subifd tiff writing for small images [ruven]
  • name ICC profiles in spngsave [lovell]

Windows binaries here:

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

- C
Published by jcupitt over 3 years ago

libvips - v8.13.1

A few bugfixes since 8.13.0:

  • fix im7 feature detection in meson
  • add a summary table at the end of configure in meson
  • fix libpng fallback when spng is disabled in meson
  • add "unlimited" to jpegload
  • better 0 detection in unpremultiply
  • fix low bitdepth spng save [jeffska]
  • fix PNG low bitdepth save of high bitdepth images
  • add support for libjxl 0.7 [kleisauke]
  • improve compatibility with older libgsf versions [kleisauke]

Windows binaries here: https://github.com/libvips/build-win64-mxe/releases/tag/v8.13.1

- C
Published by jcupitt almost 4 years ago

libvips - v8.13.0

Release notes here:

https://www.libvips.org/2022/05/28/What's-new-in-8.13.html

API docs here:

https://www.libvips.org/API/8.13

Windows binaries here:

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

Changes for this release:

  • configure fails for requested but unmet dependencies [remicollet]
  • add support for another quantiser [DarthSim]
  • add "extend", "background" and "premultiplied" to vips_mapim() to fix edge antialiasing [GavinJoyce]
  • add support for HDR HEIC and AVIF images
  • add vips_spngsave()
  • jpeg2000 load left-justifies bitdepth
  • add "password" option to pdfload, fix byte ordering of "background"
  • add vipsoperationblockset(), vipsblockuntrustedset()
  • improve the pixel rng
  • new meson build system [tintou]
  • improve introspection annotations [tintou]
  • add "unlimited" to heifload [lovell]
  • add support for regions in C++ API [shado23]
  • add "maxerror" to gifsave [dloebl]
  • update libnsgif API [tlsa]
  • deprecate "properties" option to dzsave (now always on)
  • add vipsdzsavebuffer()
  • always set the min stack size for pthreads, if we can
  • add "fail-on" to thumbnail
  • add "gap" option to vipsreducehv and vipsresize() [kleisauke]
  • add "ceil" option to vips_shrink() [kleisauke]
  • quality improvements for image resizing [kleisauke]
  • add vipssourcenewfromtarget()
  • add vipstargetseek(), vipstargetread(), vipstargetnew_temp()
  • add vipstiffsavetarget()
  • add vipstargetend(), deprecate vipstargetfinish()
  • add "mixed" to webpsave [dloebl]
  • add support for ICC profiles and linear encoding to JXL load and save [f1ac]
  • add "reoptimise" to gifsave [dloebl]
  • add "bitdepth" to magicksave [dloebl]

- C
Published by jcupitt almost 4 years ago

libvips - v8.13.0-rc2

A range of bugfixes since rc1. We'll leave this a week for testing, then try for 8.13.0 (hopefully).

- C
Published by jcupitt almost 4 years ago

libvips - v8.13.0-rc1

Release notes here:

https://www.libvips.org/2022/05/28/What's-new-in-8.13.html

API docs here:

https://www.libvips.org/API/8.13/

Please discuss this test release here:

https://github.com/libvips/libvips/issues/2790

Changes for this release:

  • configure fails for requested but unmet dependencies [remicollet]
  • add support for another quantiser [DarthSim]
  • add "extend", "background" and "premultiplied" to vips_mapim() to fix edge antialiasing [GavinJoyce]
  • add support for HDR HEIC and AVIF images
  • add vips_spngsave()
  • jpeg2000 load left-justifies bitdepth
  • add "password" option to pdfload, fix byte ordering of "background"
  • add vipsoperationblockset(), vipsblockuntrustedset()
  • improve the pixel rng
  • new meson build system [tintou]
  • improve introspection annotations [tintou]
  • add "unlimited" to heifload [lovell]
  • add support for regions in C++ API [shado23]
  • add "maxerror" to gifsave [dloebl]
  • update libnsgif API [tlsa]
  • deprecate "properties" option to dzsave (now always on)
  • add vipsdzsavebuffer()
  • always set the min stack size for pthreads, if we can
  • add "fail-on" to thumbnail
  • add "gap" option to vipsreducehv and vipsresize() [kleisauke]
  • add "ceil" option to vips_shrink() [kleisauke]
  • quality improvements for image resizing [kleisauke]
  • add vipssourcenewfromtarget()
  • add vipstargetseek(), vipstargetread(), vipstargetnew_temp()
  • add vipstiffsavetarget()
  • add vipstargetend(), deprecate vipstargetfinish()
  • add "mixed" to webpsave [dloebl]
  • add support for ICC profiles and linear encoding to JXL load and save [f1ac]
  • add "reoptimise" to gifsave [dloebl]
  • add "bitdepth" to magicksave [dloebl]

- C
Published by jcupitt almost 4 years ago

libvips - v8.12.2

Changes since 8.12.1:

  • make exif resunit optional and default to inch
  • win: don't set create time on inappropriate file descriptors [lovell]
  • fall back to magicksave for gif if cgif is not present [erik-frontify]
  • fix a crash with 0 length vectors
  • change default frame delay for GIFs from 1s to 0.1s
  • remove stray trailing comma from iiif3 dirnames [whalehub]
  • fix TTF load [chregu]
  • revise GIF save alpha threshold [jfcalvo]
  • raise libpng pixel size limit from 1m to 10m pixels [jskrzypek]
  • fix gif save change detector [TheEssem]
  • fix load from pipe with variable size reads

Windows binaries here: https://github.com/libvips/build-win64-mxe/releases/tag/v8.12.2

- C
Published by jcupitt over 4 years ago

libvips - v8.12.1

Changes since 8.12.0

  • fix insert [chregu]

Windows binaries are here:

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

- C
Published by jcupitt over 4 years ago

libvips - v8.12.0

libvips 8.12.0

Release notes are here:

https://www.libvips.org/2021/11/14/What's-new-in-8.12.html

Changes since 8.11:

  • add vipssvgloadstring() convenience function
  • fix thumbnail with small image plus crop plus no upsize [Andrewsville]
  • rename speed / reduction-effort / etc. params as "effort"
  • add gifsave [lovell]
  • arrayjoin minimises inputs during sequential processing, saving a lot of memory and file descriptors
  • add vipsimagegetformatmax()
  • flatten handles out of range alpha and max_alpha correctly
  • don't use atexit for cleanup, it's too unreliable
  • tiff writer loops for the whole image rather than per page [LionelArn2]
  • fix VipsSource with named pipes [vibbix]
  • added restart_interval option to jpegsave [manthey]
  • add IIIF3 support to dzsave [martimpassos]
  • add atan2 to math2 [indus]
  • improve buffer and target save file format selection
  • added VipsForeignPpmFormat, format arg to ppm savers
  • add fail-on to give better control over loader error sensitivity
  • add hyperbolic functions sinh, cosh, tanh, asinh, acosh, atanh [hroskes]
  • add untiled jp2k load
  • "insert" will minimise in seq mode
  • better EXIF string handling [lovell]

Windows binaries are here:

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

- C
Published by jcupitt over 4 years ago

libvips - v8.12.0-rc1

Test release for 8.12

Changes since 8.11:

  • add vipssvgloadstring() convenience function
  • fix thumbnail with small image plus crop plus no upsize [Andrewsville]
  • rename speed / reduction-effort / etc. params as "effort"
  • add gifsave [lovell]
  • arrayjoin minimises inputs during sequential processing, saving a lot of memory and file descriptors
  • add vipsimagegetformatmax()
  • flatten handles out of range alpha and max_alpha correctly
  • don't use atexit for cleanup, it's too unreliable
  • tiff writer loops for the whole image rather than per page [LionelArn2]
  • fix VipsSource with named pipes [vibbix]
  • added restart_interval option to jpegsave [manthey]
  • add IIIF3 support to dzsave [martimpassos]
  • add atan2 to math2 [indus]
  • improve buffer and target save file format selection
  • added VipsForeignPpmFormat, format arg to ppm savers
  • add fail-on to give better control over loader error sensitivity
  • add hyperbolic functions sinh, cosh, tanh, asinh, acosh, atanh [hroskes]
  • add untiled jp2k load
  • "insert" will minimise in seq mode
  • better EXIF string handling [lovell]

Windows binaries are here:

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

- C
Published by jcupitt over 4 years ago

libvips - v8.11.4

Changes since 8.11.3:

  • fix off-by-one error in new rank fast path
  • add "unlimited" flag to png load [joshuamsager]
  • improve filtering of .v enums [lovell]
  • better logic to prevent shrink to nothing in thumbnail [kleisauke]

Windows binaries are here: https://github.com/libvips/build-win64-mxe/releases/tag/v8.11.4

- C
Published by jcupitt over 4 years ago

libvips - v8.11.3

Changes since 8.11.2:

  • build threadpool later [kleisauke]
  • add jxlsave prototypes [adil-benameur]
  • limit text chunks in PNGs [randy408]

Windows binaries are here:

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

- C
Published by jcupitt almost 5 years ago

libvips - v8.11.2

Changes since 8.11.1:

  • better libdir guessing [remi]
  • fix tiff pyramid creation with jp2k compression (was broken by 8.11.1, argh)
  • don't load modules if we're built without modules

Windows binaries are here:

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

- C
Published by jcupitt almost 5 years ago

libvips - v8.11.1

Changes since 8.11.0:

  • add more example code to C docs
  • update libtool support in configure.ac
  • more startup info if VIPS_INFO is set
  • command-line programs set glib prgname (no longer set for you by VIPS_INIT)
  • enable strip chopping for TIFF read [DavidStorm]
  • disable modules by default for static builds [kleisauke]
  • fix jpeg tiff pyramid save

Windows binaries are here:

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

- C
Published by jcupitt almost 5 years ago

libvips - v8.11.0

See this blog post for a summary of the new features in 8.11.

Windows binaries are here:

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

The libvips Windows binary vips-dev-w64-all-x.y.z.zip contains ALL the file format loaders that libvips supports, including some very minor ones, and a complete copy of ImageMagick. It can process many different file types, but it is also rather vulnerable to hacking.

The vips-dev-w64-web-x.y.z.zip build contains only file format loaders that have been carefully tested and which are commonly used on the web. It won't load formats like openslide (for example), but it should be safer to use with untrusted input.

Changes since 8.10:

  • add vipsjpegloadsource() and vipssvgloadsource() to public C API
  • integrate doxygen in build system to generate C++ API docs
  • improve C++ API doc comments
  • add VipsInterpolate and guint64 support to C++ API
  • add VImage::newfrommemory_steal [Zeranoe]
  • vipsthumbnail supports stdin / stdout thumbnailing
  • have a lock just for pdfium [DarthSim]
  • get pdfium load building again [Projkt-James]
  • add _source load support for pdfium
  • add "seed" param to perlin, worley and gaussnoise
  • add vipssourceginputstream_new() to load images from a GInputStream
  • add openslideloadsource(), vipsloadsource(), vipssave_target()
  • add hist path to rank for large windows on uchar images
  • better 8/16-bit choice for pngsave
  • avoid NaN in mapim [afontenot]
  • hist_find outputs a double histogram for large images [erdmann]
  • fix ref leaks in mosaicing package
  • run libvips leak test in CI
  • add vipsfitsloadsource(), vipsniftiloadsource()
  • png and gif load note background colour as metadata [781545872]
  • add vipsimage[set|get]arraydouble()
  • add GIF load with libnsgif
  • add jp2kload, jp2ksave
  • add jp2k compression to tiff load and save
  • add JPEG-XL load and save
  • add blackpointcompensation flag for icc transforms
  • add "rgba" flag to vips_text() to enable full colour text rendering
  • move openslide, libheif, poppler and magick to loadable modules [kleisauke]
  • better detection of invalid ICC profiles, better fallback paths
  • add "premultiply" flag to tiffsave
  • new threading model has a singe threadpool shared by all pipelines [kleisauke]

- C
Published by jcupitt about 5 years ago

libvips - v8.11.0-rc1

First release candidate for libvips 8.11.

- C
Published by jcupitt about 5 years ago

libvips - v8.10.6

Changes since 8.10.5:

  • don't seek on bad file descriptors [kleisauke]
  • check for null memory sources [kleisauke]
  • revise ppmload, fixing a couple of small bugs
  • signal error on EOF in jpegload more reliably [bozaro]
  • better error detection in spngload [randy408]
  • fix includes of glib headers in C++ [lovell]
  • fix build with more modern librsvg [lovell]
  • fix a possible segv with very wide images [f1ac]
  • fix issue thumbnailing RGBA images in linear mode [jjonesrs]
  • revise profile handling in vipsthumbnail
  • fix tiff deflate predictor setting [Adios]
  • fix vector path for composite on i386 [kleisauke]

- C
Published by jcupitt about 5 years ago

libvips - v8.10.6-beta2

Fix a refleak regression in thumbnail.

- C
Published by jcupitt over 5 years ago

libvips - v8.10.6-beta

Changes since 8.10.5:

  • don't seek on bad file descriptors [kleisauke]
  • check for null memory sources [kleisauke]
  • revise ppmload, fixing a couple of small bugs
  • signal error on EOF in jpegload more reliably [bozaro]
  • better error detection in spngload [randy408]
  • fix includes of glib headers in C++ [lovell]
  • fix build with more modern librsvg [lovell]
  • fix a possible segv with very wide images [f1ac]
  • fix issue thumbnailing RGBA images in linear mode [jjonesrs]
  • revise profile handling in vipsthumbnail
  • fix tiff deflate predictor setting [Adios]

- C
Published by jcupitt over 5 years ago

libvips - v8.10.5

Fixes since 8.10.4

  • fix potential /0 in animated webp load [lovell]

- C
Published by jcupitt over 5 years ago

libvips - v8.10.4

Changes since 8.10.2:

  • relax heic is_a rules [hisham]
  • fix vips7 webp load [barryspearce]
  • fix out of bounds exif read in heifload
  • fix out of bounds read in tiffload
  • fix tiffsave region shrink mode [imgifty]
  • add missing flushes on write to target [harukizaemon]
  • hide info messages you could get with some older glibs [kleisauke]
  • fix --no-strip on dzsave with icc-profiles [altert]
  • better GraphicsMagick image write [bfriesen]
  • add missing read loops to spng, heif, giflib and ppm load [kleisauke]
  • block zero width or height images from imagemagick load [Koen1999]
  • check for overflow in gifload height [lovell]
  • fix msb_first default in ppm load and save [ewelot]
  • force binary mode on win for connection read / write [Alreiber]
  • better testing for output to target [barryspearce]
  • ppmloadsource was missing isa [ewelot]
  • improve webpload rounding and blending behaviour [lovell]
  • fix range clip in int32 -> unsigned casts [ewelot]
  • fix precision error in clip of float -> int casts [ewelot]
  • fix load of HEIC images with 0 length metadata [ddennedy-gpsw]
  • fix spng detection

- C
Published by jcupitt over 5 years ago

libvips - v8.10.3

Changes since 8.10.2:

  • relax heic is_a rules [hisham]
  • fix vips7 webp load [barryspearce]
  • fix out of bounds exif read in heifload
  • fix out of bounds read in tiffload
  • fix tiffsave region shrink mode [imgifty]
  • add missing flushes on write to target [harukizaemon]
  • hide info messages you could get with some older glibs [kleisauke]
  • fix --no-strip on dzsave with icc-profiles [altert]
  • better GraphicsMagick image write [bfriesen]
  • add missing read loops to spng, heif, giflib and ppm load [kleisauke]
  • block zero width or height images from imagemagick load [Koen1999]
  • check for overflow in gifload height [lovell]
  • fix msb_first default in ppm load and save [ewelot]
  • force binary mode on win for connection read / write [Alreiber]
  • better testing for output to target [barryspearce]
  • ppmloadsource was missing isa [ewelot]
  • improve webpload rounding and blending behaviour [lovell]
  • fix range clip in int32 -> unsigned casts [ewelot]
  • fix precision error in clip of float -> int casts [ewelot]
  • fix load of HEIC images with 0 length metadata [ddennedy-gpsw]

- C
Published by jcupitt over 5 years ago

libvips - v8.10.2

Changes since 8.10.1:

  • update magicksave/load profile handling [kelilevi]
  • better demand hint rules [kaas3000]
  • fix tiff thumbnail from buffer and source [vansante]
  • in jpegsave, don't set JFIF resolution if we set EXIF resolution
  • bump minimum libheif version to 1.3 [lovell]
  • dzsave in iiif mode could set info.json dimensions off by one [Linden6]
  • pdfload allows dpi and scale to both be set [le0daniel]
  • allow gaussblur sigma zero, meaning no blur
  • better heif signature detection [lovell]
  • fix vips_fractsurf() typo [kleisauke]
  • better heif EOF detection [lovell]
  • fix gir build with g-o-i 1.66+ [László]
  • improve seek behaviour on pipes
  • add "speed" param to heifsave [lovell]
  • fix regression in C path for dilate / erode [kleisauke]
  • fix build with libheif save but no load [estepnv]

- C
Published by jcupitt over 5 years ago

libvips - v8.10.1

Changes since 8.10.0:

  • fix markdown -> xml conversion in doc generation
  • remove typedef redefinitions to please old gccs
  • fix regression in tiff pyramid thumbnailing [tand826]
  • stop 0-length buffer being passed to imagemagick [lovell]
  • convert no-profile CMYK to RGB on save [augustocdias]
  • ensure SVG loader skips input with chars outside x09-x7F range [lovell]
  • better mask sizing in gaussmat [johntrunc]
  • fix tiffsave "squash" handling [barryspearce]
  • fix jpegload autorotate [chregu]
  • only start the background render thread on first use

- C
Published by jcupitt almost 6 years ago

libvips - v8.10.0

The libvips Windows binary vips-dev-w64-all-x.y.z.zip contains ALL the file format loaders that libvips supports, including some very minor ones, and a complete copy of ImageMagick. It can process many different file types, but it is also rather vulnerable to hacking.

The vips-dev-w64-web-x.y.z.zip build contains only file format loaders that have been carefully tested and which are commonly used on the web. It won't load formats like openslide (for example), but it should be safer to use with untrusted input.

See this blog post for a summary of the new features in 8.10.

Changes since 8.9:

  • more conformal IIIF output from dzsave [regisrob]
  • add id to dzsave to set IIIF id property [regisrob]
  • add max and min to region shrink [rgluskin]
  • allow \ as an escape character in vipsbreaktoken() [akemrir]
  • tiffsave has a "depth" param to set max pyr depth
  • libtiff LOGLUV images load and save as libvips XYZ
  • add gifload_source, csvload_source, csvsave_target, matrixload_source, matrixsave_source, pdfload_source, heifload_source, heifsave_target, ppmload_source, ppmsave_target
  • revise vipsthumbnail flags
  • add VIPS_LEAK env var
  • add vips_pipe_read_limit_set(), --vips-pipe-read-limit, VIPS_PIPE_READ_LIMIT
  • revise gifload to fix BACKGROUND and PREVIOUS dispose [alon-ne]
  • add subsample_mode, deprecate no_subsample in jpegsave [Elad-Laufer]
  • add vips_isdirf()
  • add PAGENUMBER support to tiff write [jclavoie-jive]
  • add all mode to smartcrop
  • flood fill could stop half-way for some very complex shapes
  • better handling of unaligned reads in multipage tiffs [petoor]
  • mark old --delete option to vipsthumbnail as deprecated [UweOhse]
  • png save with a bad ICC profile just gives a warning
  • add premultipled option to vips_affine(), clarified vips_resize() behaviour with alpha channels
  • improve bioformats compatibility with read and write of tiff subifd pyramids
  • thumbnail exploits subifd pyramids
  • handle all EXIF orientation cases, deprecate vips_autorot_get_angle() [Elad-Laufer]
  • load PNGs with libspng, if possible
  • deprecate heifload autorotate -- it's now always on
  • revised resize improves accuracy [kleisauke]
  • add --vips-config flag to show configuration info
  • add bitdepth param to tiff save, deprecate squash [MathemanFlo]
  • tiff load and save now supports 2 and 4 bit data [MathemanFlo]
  • pngsave bitdepth parameter lets you write 1, 2 and 4 bit PNGs
  • ppmsave also uses bitdepth now, for consistency
  • reduce operation cache max to 100
  • rework the final bits of vips7 for vips8 [kleisauke]
  • --disable-deprecated now works [kleisauke]
  • vipsheader allows stdin as a filename
  • gifload allows gifs with images outside the canvas
  • wasm compatibility patches [kleisauke]
  • webpsave has a @profile param

- C
Published by jcupitt almost 6 years ago

libvips - v8.10.0-rc2

Small bugfixes and speedups since rc1.

- C
Published by jcupitt almost 6 years ago

libvips - v8.10.0-rc1

  • small build fixes
  • small libspng fixes
  • vips7 compat fixes

- C
Published by jcupitt almost 6 years ago

libvips - v8.10.0-beta2

Changes since beta1:

  • build system fixes
  • improve --vips-config output
  • thumbnail rotation fixes
  • update C++ binding

- C
Published by jcupitt almost 6 years ago

libvips - v8.10.0-beta1

The libvips Windows binary vips-dev-w64-all-x.y.z.zip contains ALL the file format loaders that libvips supports, including some very minor ones, and a complete copy of ImageMagick. It can process many different file types, but it is also rather vulnerable to hacking.

The vips-dev-w64-web-x.y.z.zip build contains only file format loaders that have been carefully tested and which are commonly used on the web. It won't load formats like openslide (for example), but it should be safer to use with untrusted input.

See this blog post for a summary of the new features in 8.10.

Changes since 8.9:

  • more conformat IIIF output from dzsave [regisrob]
  • add id to dzsave to set IIIF id property [regisrob]
  • add max and min to region shrink [rgluskin]
  • allow \ as an escape character in vipsbreaktoken() [akemrir]
  • tiffsave has a "depth" param to set max pyr depth
  • libtiff LOGLUV images load and save as libvips XYZ
  • add gifload_source, csvload_source, csvsave_target, matrixload_source, matrixsave_source, pdfload_source, heifload_source, heifsave_target, ppmload_source, ppmsave_target
  • revise vipsthumbnail flags
  • add VIPS_LEAK env var
  • add vips_pipe_read_limit_set(), --vips-pipe-read-limit, VIPS_PIPE_READ_LIMIT
  • revise gifload to fix BACKGROUND and PREVIOUS dispose [alon-ne]
  • add subsample_mode, deprecate no_subsample in jpegsave [Elad-Laufer]
  • add vips_isdirf()
  • add PAGENUMBER support to tiff write [jclavoie-jive]
  • add all mode to smartcrop
  • flood fill could stop half-way for some very complex shapes
  • better handling of unaligned reads in multipage tiffs [petoor]
  • mark old --delete option to vipsthumbnail as deprecated [UweOhse]
  • png save with a bad ICC profile just gives a warning
  • add premultipled option to vips_affine(), clarified vips_resize() behaviour with alpha channels
  • improve bioformats compatibility with read and write of tiff subifd pyramids
  • thumbnail exploits subifd pyramids
  • handle all EXIF orientation cases, deprecate vips_autorot_get_angle() [Elad-Laufer]
  • load PNGs with libspng, if possible
  • deprecate heifload autorotate -- it's now always on
  • revised resize improves accuracy [kleisauke]
  • add --vips-config flag to show configuration info
  • add bitdepth param to tiff save, deprecate squash [MathemanFlo]
  • tiff load and save now supports 2 and 4 bit data [MathemanFlo]
  • pngsave bitdepth parameter lets you write 1, 2 and 4 bit PNGs
  • ppmsave also uses bitdepth now, for consistency
  • reduce operation cache max to 100
  • rework the final bits of vips7 for vips8 [kleisauke]
  • --disable-deprecated now works [kleisauke]
  • vipsheader allows stdin as a filename
  • gifload allows gifs with images outside the canvas
  • wasm compatibility patches [kleisauke]

- C
Published by jcupitt almost 6 years ago

libvips - v8.9.2

The libvips Windows binary vips-dev-w64-all-x.y.z.zip contains ALL the file format loaders that libvips supports, including some very minor ones, and a complete copy of ImageMagick. It can process many different file types, but it is also rather vulnerable to hacking.

The vips-dev-w64-web-x.y.z.zip build contains only file format loaders that have been carefully tested and which are commonly used on the web. It won't load formats like openslide (for example), but it should be safer to use with untrusted input.

Changes since 8.9.1:

  • fix a deadlock with --vips-leak [DarthSim]
  • better gifload behaviour for DISPOSAL_UNSPECIFIED [DarthSim]
  • ban ppm max_value < 0
  • add fuzz corpus to dist
  • detect read errors correctly in source_sniff
  • fix regression in autorot [malomalo]
  • thumbnail on HEIC images could select the thumbnail incorrectly under some size modes [ZorinArsenij]

- C
Published by jcupitt about 6 years ago

libvips - v8.9.1

The libvips Windows binary vips-dev-w64-all-x.y.z.zip contains ALL the file format loaders that libvips supports, including some very minor ones, and a complete copy of ImageMagick. It can process many different file types, but it is also rather vulnerable to hacking.

The vips-dev-w64-web-x.y.z.zip build contains only file format loaders that have been carefully tested and which are commonly used on the web. It won't load formats like openslide (for example), but it should be safer to use with untrusted input.

Changes since 8.9.0:

  • fix newfromfile for openslide from CLI and C
  • fix thumbnail autorot [janko]
  • fix a warning with magicksave with no delay array [chregu]
  • fix a race in tiled tiff load [kleisauke]
  • better imagemagick init [LebronCurry]
  • lock for metadata changes, fixing a race in highly threaded applications [jcupitt]

- C
Published by jcupitt over 6 years ago

libvips - v8.9.0

The libvips Windows binary vips-dev-w64-all-x.y.z.zip contains ALL the file format loaders that libvips supports, including some very minor ones, and a complete copy of ImageMagick. It can process many different file types, but it is also rather vulnerable to hacking.

The vips-dev-w64-web-x.y.z.zip build contains only file format loaders that have been carefully tested and which are commonly used on the web. It won't load formats like openslide (for example), but it should be safer to use with untrusted input.

See this blog post for a summary of the new features in 8.9.

Changes since 8.8:

  • add vipsimageget/setarrayint()
  • disable webp alpha output if all frame fill the canvas and are solid
  • support arrays of delays for animated images [deftomat]
  • add "unlimited" flag to svgload
  • disable webp alpha output if all frames fill the canvas and are solid
  • add "compression" option to heifsave [lovell]
  • support webp and zstd compression in tiff
  • loaders use "minimise" to close input files earlier
  • integrate support for oss-fuzz [omira-sch]
  • add vipsswitch() / vipscase() ... fast many-way ifthenelse
  • better const handling for arithmetic operators fixes comparisons against out of range values
  • sharpen restores input colourspace
  • handle alpha in heifload / heifsave [meyermarcel]
  • add @interpretation and @format to rawload
  • nifti load/save uses double for all floating point metadata
  • add vipserrorbuffer_copy()
  • add VipsSource and VipsTarget: a universal IO class for loaders and savers
  • jpeg, png, tiff (though not tiffsave), rad, svg, ppm and webp use the new IO class
  • rewritten ppm load/save is faster and uses less memory
  • add @no_strip option to dzsave [kalozka1]
  • add iiif layout to dzsave
  • fix use of resolution-unit metadata on tiff save [kayarre]
  • support TIFF CIELAB images with alpha [angelmixu]
  • support TIFF with premultiplied alpha in any band
  • block metadata changes on shared images [pvdz]
  • RGB and sRGB are synonymous

- C
Published by jcupitt over 6 years ago

libvips - v8.8.4

The libvips Windows binary vips-dev-w64-all-x.y.z.zip contains ALL the file format loaders that libvips supports, including some very minor ones, and a complete copy of ImageMagick. It can process many different file types, but it is also rather vulnerable to hacking.

The vips-dev-w64-web-x.y.z.zip build contains only file format loaders that have been carefully tested and which are commonly used on the web. It won't load formats like openslide (for example), but it should be safer to use with untrusted input.

Changes since 8.8.3:

  • improve compatibility with older imagemagick versions
  • remove realpath, since it can fail on systems with grsec
  • block metadata changes on shared images [pvdz]

- C
Published by jcupitt over 6 years ago

libvips - v8.8.3

The libvips Windows binary vips-dev-w64-all-x.y.z.zip contains ALL the file format loaders that libvips supports, including some very minor ones, and a complete copy of ImageMagick. It can process many different file types, but it is also rather vulnerable to hacking.

The vips-dev-w64-web-x.y.z.zip build contains only file format loaders that have been carefully tested and which are commonly used on the web. It won't load formats like openslide (for example), but it should be safer to use with untrusted input.

vips-8.8.3a.tar.gz is just vips-8.8.3.tar.gz, but with a single test removed to help it pass with a wider range of librsvg versions.

Changes since 8.8.2:

  • revert sharpen restoring the input colourspace
  • xres/yres tiffsave params were in pixels/cm [f--f]

- C
Published by jcupitt over 6 years ago

libvips - v8.8.2

The libvips Windows binary vips-dev-w64-all-x.y.z.zip contains ALL the file format loaders that libvips supports, including some very minor ones, and a complete copy of ImageMagick. It can process many different file types, but it is also rather vulnerable to hacking.

The vips-dev-w64-web-x.y.z.zip build contains only file format loaders that have been carefully tested and which are commonly used on the web. It won't load formats like openslide (for example), but it should be safer to use with untrusted input.

Changes since 8.8.1:

  • better early shutdown in readers
  • don't attempt to save large XMP to jpeg [tnextday]
  • always fetch HEIC metadata from the main image [zhoux2016]
  • fix loop in malformed ppm [Kyle-Kyle]
  • better support for PNGs with long comment names
  • fix build with GM
  • add locks for pdfium load
  • fix build with MSVC
  • fix a problem with shinkv tail processing [angelmixu]
  • fix a read one byte beyond buffer bug in jpegload
  • make GIF parsing less strict
  • better feof() handling in GIF load
  • clip coding and interpretation on vips image read
  • check image bounds for GIF load
  • prevent over-pre-shrink in thumbnail [kleisauke]
  • fix sharpen with sigma 0.5 [2h4dl]
  • sharpen restores input colourspace
  • verify bands/format for coded images
  • improve data_length handling for jpeg metadata

- C
Published by jcupitt almost 7 years ago

libvips - v8.8.1

vips-8.8.1a.tar.gz is just vips-8.8.1.tar.gz, but with a single test removed to help it pass with a wider range of librsvg versions.

The libvips Windows binary vips-dev-w64-all-x.y.z.zip contains ALL the file format loaders that libvips supports, including some very minor ones, and a complete copy of ImageMagick. It can process many different file types, but it is also rather vulnerable to hacking.

The vips-dev-w64-web-x.y.z.zip build contains only file format loaders that have been carefully tested and which are commonly used on the web. It won't load formats like openslide (for example), but it should be safer to use with untrusted input.

Changes since 8.8.0:

  • improve realpath() use on older libc
  • better magickload error messages
  • more consistent behaviour for page-height metadata
  • fix for composite with many small images and some combinations of blend modes
  • fix memleak in tiff pyr save to memory [scossu]
  • istiff attempts to read the first directory rather than just testing the magic number [przemyslawpluta]
  • much faster ismagick() [jcupitt]
  • better behaviour for vips_region_fetch() if request lies partly ouside image
  • remove 256 band limit in arithmetic.c [erdmann]
  • disable Orc if building with CET [lovell]
  • fix vipsthumbnail with pyr tiff [kleisauke]
  • text autofit could occasionally terminate early [levmorozov]
  • fewer warnings on tiffload [chregu]
  • vips_resize() breaks aspect ratio and limits shrink to prevent <1px dimensions [lovell]

- C
Published by jcupitt almost 7 years ago

libvips - v8.8.0

No changes from rc3.

The libvips Windows binary vips-dev-w64-all-x.y.z.zip contains ALL the file format loaders that libvips supports, including some very minor ones, and a complete copy of ImageMagick. It can process many different file types, but it is also rather vulnerable to hacking.

The vips-dev-w64-web-x.y.z.zip build contains only file format loaders that have been carefully tested and which are commonly used on the web. It won't load formats like openslide (for example), but it should be safer to use with untrusted input.

See this blog post for a summary of the new features in 8.8.

Changes since 8.7.4

  • much faster smartcrop [lovell]
  • add low/high to smartcrop [jcupitt]
  • add XMP support to png read/write [jcupitt]
  • deprecate thumbnail autorotate, add norotate [jcupitt]
  • implement thumbnail shrink-on-load for openslide images [jcupitt]
  • add animated webp support [jcupitt]
  • revise vips_cast() to improve behaviour with uint images [erdmann]
  • add bandand()/or()/eor() to cplusplus binding [clcaalu]
  • implement shrink-on-load for tiff pyramids [jcupitt]
  • added vipsimagesetblobcopy() [jcupitt]
  • don't stop composite on first non-transparent image [felixbuenemann, GDmac]
  • add vipsrectoverlapsrect()
  • composite is much faster at positioning subimages
  • stop tiff pyr layers if width or height drop to 1 [gvincke]
  • dzsave has a new skip_blanks option
  • add vipsCMYK2XYZ() and vipsXYZ2CMYK(), plus associated routes
  • include cmyk and srgb fallback profiles
  • add vipsprofileload() and use it everywhere
  • fix race in temp filename creation [lhecker]
  • add @reduction_effort param to webpsave [lovell]
  • add @optionstring param to thumbnailbuffer [kleisauke]
  • add XMP, IPCT, ICC, EXIF etc. support to magickload/magicksave
  • much lower memuse for gifload
  • tilecache speedups
  • add vipsheifload(), vipsheifsave()
  • add heif thumbnail support to vips_thumbnail()
  • free threadpool earlier, reducing mem growth for some long-running processes [jtorresfabra]
  • add vipsregionfetch() / _width() / _height() for language bindings
  • vips_text() supports justification
  • move vipsimageset_kill() and iskilled() to the public API
  • dzsave to szi sets suffix correctly [martinweihrauch]
  • dzsave szi writes "scan-properties.xml"
  • add vipsimage(get|set)_image()
  • add openslideload option to attach all associated images as metadata
  • dzsave to szi will write all associated images
  • remove old c++ and python interfaces
  • vipsthumbnail can thumbnail animated and multipage images
  • much better Windows build [kleisauke]

- C
Published by jcupitt about 7 years ago

libvips - v8.7.4

vips-x.y.x.tar.gz is a source tarball containing a complete build system. Download this to build from source.

The libvips Windows binary vips-dev-w64-all-x.y.z.zip contains ALL the file format loaders that libvips supports, including some very minor ones, and a complete copy of ImageMagick. It can process many different file types, but it is also rather vulnerable to hacking.

The vips-dev-w64-web-x.y.z.zip build contains only file format loaders that have been carefully tested and which are commonly used on the web. It won't load formats like openslide (for example), but it should be safer to use with untrusted input.

Changes since 8.7.3:

  • zero memory on allocate to prevent write of uninitialized memory under some error conditions [Balint Varga-Perke]

- C
Published by jcupitt over 7 years ago

libvips - v8.7.3

The libvips Windows binary vips-dev-w64-all-x.y.z.zip contains ALL the file format loaders that libvips supports, including some very minor ones, and a complete copy of ImageMagick. It can process many different file types, but it is also rather vulnerable to hacking.

The vips-dev-w64-web-x.y.z.zip build contains only file format loaders that have been carefully tested and which are commonly used on the web. It won't load formats like openslide (for example), but it should be safer to use with untrusted input.

Changes since 8.7.2:

  • fix infinite loop for autofit with non-scaleable font
  • mapim was not offsetting by window offset [erdmann]
  • better rounding for scale [kleisauke]
  • fix a memleak in magick6load [kleisauke]

- C
Published by jcupitt over 7 years ago

libvips - v8.7.2

The libvips Windows binary vips-dev-w64-all-x.y.z.zip contains ALL the file format loaders that libvips supports, including some very minor ones, and a complete copy of ImageMagick. It can process many different file types, but it is also rather vulnerable to hacking.

The vips-dev-w64-web-x.y.z.zip build contains only file format loaders that have been carefully tested and which are commonly used on the web. It won't load formats like openslide (for example), but it should be safer to use with untrusted input.

Changes since 8.7.1:

  • more info output for temp files to help diagnose problems
  • vips_text() could set the wrong DPI in autofit mode
  • vips_text() leaked in autofit mode

- C
Published by jcupitt over 7 years ago

libvips - v8.7.1

The libvips Windows binary vips-dev-w64-all-x.y.z.zip contains ALL the file format loaders that libvips supports, including some very minor ones, and a complete copy of ImageMagick. It can process many different file types, but it is also rather vulnerable to hacking.

The vips-dev-w64-web-x.y.z.zip build contains only file format loaders that have been carefully tested and which are commonly used on the web. It won't load formats like openslide (for example), but it should be safer to use with untrusted input.

Changes since 8.7.0:

  • update function list in docs [janko-m]
  • test for gstrto_ascii() [jcupitt]
  • fix temp file open on Windows and fallback on linux [lovell]

- C
Published by jcupitt over 7 years ago

libvips - v8.7.0

The libvips Windows binary vips-dev-w64-all-x.y.z.zip contains ALL the file format loaders that libvips supports, including some very minor ones, and a complete copy of ImageMagick. It can process many different file types, but it is also rather vulnerable to hacking.

The vips-dev-w64-web-x.y.z.zip build contains only file format loaders that have been carefully tested and which are commonly used on the web. It won't load formats like openslide (for example), but it should be safer to use with untrusted input.

See this blog post for a summary of the new features in 8.7.

Changes since 8.6.5

  • add magicksave, save image with libMagick [dlemstra]
  • remove jpeg thumbnail from EXIF if "jpeg-thumbnail-data" has been removed by user
  • hough_line scales width to 0 - 180, not 0 - 360
  • hough_line is 4x faster
  • hough_circle is 2x faster
  • add vipssobel() and vipscanny() edge detectors
  • add vipsrotate() ... a convenience method for vipssimilarity()
  • svgload was missing is_a [lovell]
  • better header sniffing for small files
  • drop incompatible ICC profiles before save
  • better hasalpha rules
  • create funcs always make MULTIBAND (ie. no alpha)
  • use O_TMPFILE, if available [Alexander--]
  • set "interlaced=1" for interlaced JPG and PNG images
  • add PDFium PDF loader
  • jpegload adds a jpeg-chroma-subsample field with eg. 4:4:4 for no chrominance subsampling.
  • tiffload, pdfload, magickload set VIPSMETAN_PAGES "n-pages" metadata item
  • add fontfile option to vips_text() [fangqiao]
  • add vips_transpose3d() -- swap major dimensions in a volumetric image
  • remove vips7 stuff from default API ... you must now #include it explicitly
  • added vipsargumentget_id() to fix derived classes on win32 [angelmixu]
  • fix compile with MSVC 2017 [angelmixu]
  • pdfload has a option for background
  • vips7 C++ interface defaults off
  • make members, getters and operators "const" in cpp API
  • composite has params for x/y position of sub-images [medakk]
  • add Mitchell kernel
  • pyramid builders have a choice of 2x2 shrinkers [harukizaemon]
  • add palette option to pngsave [felixbuenemann]
  • add basic nifti load/save support
  • support writing string-valued fields via libexif
  • paste in the test suite from pyvips
  • get EXIF tag names from tag plus ifd [@Nan619]
  • escape ASCII control characters in XML
  • magickload now sniffs some file types itself

Changes since 8.7.0-rc3

  • reduce stack in arithmetic ops to help musl
  • add docs for mosaic output
  • add vips7 compat for nifti load and save

- C
Published by jcupitt over 7 years ago

libvips - v8.7.0-rc2

Release candidate for the upcoming v8.7.0. Changes since rc1:

  • update radiance load from upstream
  • mapim could fail for float index images with coordinates out of int range
  • scale openexr alpha to 0 - 255
  • close input earlier, when we can [kleisauke]
  • add vipsobjectget_args() for language bindings [kleisauke]

- C
Published by jcupitt almost 8 years ago

libvips - v8.7.0-rc1 -- release candidate for the upcoming 8.7.0

Final pre-release for the upcoming libvips 8.7.0.

Changes since 8.6.5:

  • add magicksave, save image with libMagick [dlemstra]
  • remove jpeg thumbnail from EXIF if "jpeg-thumbnail-data" has been removed by user
  • hough_line scales width to 0 - 180, not 0 - 360
  • hough_line is 4x faster
  • hough_circle is 2x faster
  • add vipssobel() and vipscanny() edge detectors
  • add vipsrotate() ... a convenience method for vipssimilarity()
  • svgload was missing is_a [lovell]
  • better header sniffing for small files
  • drop incompatible ICC profiles before save
  • better hasalpha rules
  • create funcs always make MULTIBAND (ie. no alpha)
  • use O_TMPFILE, if available [Alexander--]
  • set "interlaced=1" for interlaced JPG and PNG images
  • add PDFium PDF loader
  • jpegload adds a jpeg-chroma-subsample field with eg. 4:4:4 for no chrominance subsampling.
  • tiffload, pdfload, magickload set VIPSMETAN_PAGES "n-pages" metadata item
  • add fontfile option to vips_text() [fangqiao]
  • add vips_transpose3d() -- swap major dimensions in a volumetric image
  • remove vips7 stuff from default API ... you must now #include it explicitly
  • added vipsargumentget_id() to fix derived classes on win32 [angelmixu]
  • fix compile with MSVC 2017 [angelmixu]
  • pdfload has a option for background
  • vips7 C++ interface defaults off
  • make members, getters and operators "const" in cpp API
  • composite has params for x/y position of sub-images [medakk]
  • add Mitchell kernel
  • pyramid builders have a choice of 2x2 shrinkers [harukizaemon]
  • add palette option to pngsave [felixbuenemann]
  • add basic nifti load/save support
  • support writing string-valued fields via libexif
  • paste in the test suite from pyvips
  • get EXIF tag names from tag plus ifd [@Nan619]
  • escape ASCII control characters in XML
  • magickload now sniffs some file types itself

- C
Published by jcupitt almost 8 years ago

libvips - v8.6.5

The libvips binary vips-dev-w64-all-x.y.z.zip contains ALL the file format loaders that libvips supports, including some very minor ones, and a complete copy of ImageMagick. It can process many different file types, but it is also rather vulnerable to hacking.

The vips-dev-w64-web-x.y.z.zip build contains only file format loaders that have been carefully tested and which are commonly used on the web. It won't load formats like openslide (for example), but it should be much safer to use with untrusted input images.

Changes since 8.6.4:

  • fix a buffer overflow in the tiff reader [HongxuChen]

- C
Published by jcupitt almost 8 years ago

libvips - v8.7.0-alpha1

  • add magicksave, save image with libMagick [dlemstra]
  • dzsave to szi sets suffix correctly [martinweihrauch]
  • dzsave szi writes "scan-properties.xml"
  • add vipsimage(get|set)_image()
  • add openslideload option to attach all associated images as metadata
  • dzsave to szi will write all associated images

- C
Published by jcupitt almost 8 years ago

libvips - v8.6.4

The libvips binary vips-dev-w64-all-x.y.z.zip contains ALL the file format loaders that libvips supports, including some very minor ones, and a complete copy of ImageMagick. It can process many different file types, but it is also rather vulnerable to hacking.

The vips-dev-w64-web-x.y.z.zip build contains only file format loaders that have been carefully tested and which are commonly used on the web. It won't load formats like openslide (for example), but it should be much safer to use with untrusted input images.

Changes since 8.6.3:

  • better fitting of fonts with overhanging edges [Adrià]
  • revise C++ example [fangqiao]
  • strict round down on jpeg shrink on load [davidwood]
  • configure test for g++ 7.2 and composite.cpp
  • don't Ping in magickload, too unreliable
  • ensure WebP can add metadata when compiled with libwebpmux [lovell]
  • improve accuracy of vector path convolution [felixbuenemann]

- C
Published by jcupitt about 8 years ago

libvips - v8.7.0-alpha2

Since 8.6:

  • add magicksave, save image with libMagick [dlemstra]
  • remove jpeg thumbnail from EXIF if "jpeg-thumbnail-data" has been removed by user
  • hough_line scales width to 0 - 180, not 0 - 360
  • hough_line is 4x faster
  • hough_circle is 2x faster
  • add vipssobel() and vipscanny() edge detectors
  • add vipsrotate() ... a convenience method for vipssimilarity()
  • svgload was missing is_a [lovell]
  • better header sniffing for small files
  • drop incompatible ICC profiles before save
  • better hasalpha rules
  • create funcs always make MULTIBAND (ie. no alpha)
  • use O_TMPFILE, if available [Alexander--]
  • set "interlaced=1" for interlaced JPG and PNG images
  • add PDFium PDF loader
  • add @format option to magickload
  • jpegload adds a jpeg-chroma-subsample field with eg. 4:4:4 for no chrominance subsampling.
  • tiffload, pdfload, magickload set VIPSMETAN_PAGES "n-pages" metadata item
  • add fontfile option to vips_text() [fangqiao]
  • add vips_transpose3d() -- swap major dimensions in a volumetric image
  • remove vips7 stuff from default API ... you must now #include it explicitly
  • added vipsargumentget_id() to fix derived classes on win32 [angelmixu]
  • fix compile with MSVC 2017 [angelmixu]
  • pdfload has a option for background

- C
Published by jcupitt about 8 years ago

libvips - v8.6.3

The libvips binary vips-dev-w64-all-x.y.z.zip contains ALL the file format loaders that libvips supports, including some very minor ones, and a complete copy of ImageMagick. It can process many different file types, but it is also rather vulnerable to hacking.

The vips-dev-w64-web-x.y.z.zip build contains only file format loaders that have been carefully tested and which are commonly used on the web. It won't load formats like openslide (for example), but it should be much safer to use with untrusted input images.

  • the 8.6.3-1 windows builds fix a crash in libz configuation
  • use pkg-config to find libjpeg, if we can
  • better clean of output image in vips_image_write() fixes a crash writing twice to memory
  • better rounding behaviour in convolution means we hit the vector path more often
  • fix a crash if a delayed load failed [gsharpsh00ter]
  • icc_import attaches the fallback profile if it used it, making vipsthumbnail behaviour with untagged CMYK images saner

- C
Published by jcupitt over 8 years ago

libvips - v8.6.2

  • vipssinkscreen() keeps a ref to the input image ... stops a rare race
  • fix a minor accidental ABI break in 8.6.0 -> 8.6.1 [remicollet]
  • fix read of plane-separate TIFFs with large strips [remicollet]
  • fix a C++ warning in composite.cpp [lovell]
  • remove number of images limit in composite
  • composite allows 1 mode ... reused for all joins
  • fix race in vips_sink() for threaded read of sequential images

- C
Published by jcupitt over 8 years ago

libvips - 8.6.1

  • fix mmap window new/free cycling
  • fix some compiler warnings
  • remove the 64-image limit on bandary operations
  • better version date [bmwiedemann]
  • bump wrapper script version [bgilbert]
  • fix a memleak on error during jpeg buffer write [lovell]
  • fix misspelling of IPTC as IPCT [lovell]
  • seq could be set on small images opened in random-access mode [aferrero2707]
  • fix small memleak in dzsave [lovell]
  • small speedup for rgb->g [lovell]

- C
Published by jcupitt over 8 years ago

libvips - 8.6.0

See the install notes for guidance on which package to download.

Changes since 8.5

  • supports FITS images with leading non-image HDUs, thanks benepo
  • add vipsimagenewfromimage() and vipsimagenewfromimage1() ... make a constant image
  • add newfromimage() to Python as well
  • slight change to cpp newfromimage() to match py/C behaviour
  • vipsconv(), vipscompass(), vips_convsep() default to FLOAT precision
  • add FORCE resize mode to break aspect ratio
  • add vipsthumbnailimage()
  • better prefix guessing on Windows, thanks tumagonx
  • savers support a "page_height" option for multipage save
  • rename 'disc' as 'memory' and default off
  • add vipsfindtrim(), search for non-background areas
  • remove lcms1 support, it had bitrotted
  • join tagged as seq
  • support tiffsave_buffer for pyramids, thanks bubba
  • thumbnail and vipsthumbnail have an option for rendering intent, thanks kleisauke
  • set file create time on Windows, thanks dlong500
  • remove python tests ... moved to pyvips test suite
  • vips7 and vips8 python bindings default to off ... use the new pyvips binding instead
  • better svgload: larger output, handle missing width/height, thanks lovell
  • add vips_gravity() ... embed, but with direction rather than position
  • vips_text() can autofit text to a box, thanks gargsms
  • add vipscomposite() / vipscomposite2(): merge a set of images with a set of blend modes
  • better gobject-introspection annotations, thanks astavale
  • vipsimagewrite() severs all links between images, when it can ... thanks Warren and Nakilon
  • vector path for convolution is more accurate and can handle larger masks
  • linear and cubic kernels for reduce are higher quality
  • added vipsvaluesetblobfree()
  • "--size Nx" to vipsthumbnail was broken, thanks jrochkind
  • fix build with gcc 7
  • add vipsfillnearest() ... fill pixels with nearest colour
  • add VIPSCOMBINEMIN, a new combining mode for vips_compass()
  • vipshistfind_indexed() now has a @combine parameter
  • vipsaffine() and vipssimilarity() have a "background" parameter
  • fix nasty jaggies on the edges of affine output, thanks chregu
  • add gif-delay, gif-comment and gif-loop metadata
  • add dispose handling to gifload
  • dzsave outputs extra right and bottom overlap-only tiles, for closer spec adherence
  • deprecate the "centre" option for vips_resize(): it's now always on
  • setting the EXIF data block automatically sets other image tags
  • add "extend" option to affine; resize uses it to stop black edges

- C
Published by jcupitt over 8 years ago

libvips - 8.5.9

  • make --fail stop jpeg read on any libjpeg warning, thanks @mceachen
  • don't build enumtypes so often, removing perl as a compile dependency
  • fix a crash with heavy use of draw operations from language bindings, thanks @Nakilon

- C
Published by jcupitt over 8 years ago

libvips - 8.5.8

  • fix transparency detection in merge, thanks Haida
  • define env var VIPS_WARNING to hide warning messages
  • shut down dzsave output earlier to help mark-sweep bindings
  • fix webp thumbnail upscale, thanks Kleis

- C
Published by jcupitt almost 9 years ago

libvips - 8.5.7

  • better smartcrop
  • transform cmyk->rgb automatically on write if there's an embedded profile and the saver does not support cmyk
  • fix DPI mixup in svgload ... we were writing images about 20% too large, thanks Fosk

- C
Published by jcupitt almost 9 years ago

libvips - 8.6 beta

Beta of 8.6, due in December 2017.

  • supports fits images with leading non-image HDUs, thanks benepo
  • add vipsimagenewfromimage() and vipsimagenewfromimage1() ... make a constant image
  • add newfromimage() to Python as well
  • slight change to cpp newfromimage() to match py/C behaviour
  • vipsconv(), vipscompass(), vips_convsep() default to FLOAT precision
  • add FORCE resize mode to break aspect ratio
  • add vipsthumbnailimage()
  • better prefix guessing on Windows, thanks tumagonx
  • savers support a "page_height" option for multipage save
  • rename 'disc' as 'memory' and default off
  • add vipsfindtrim(), search for non-background areas
  • remove lcms1 support, it had bitrotted
  • join tagged as seq
  • support tiffsave_buffer for pyramids, thanks bubba
  • thumbnail and vipsthumbnail have an option for rendering intent, thanks kleisauke
  • try to reset create date on file create on Windows
  • remove python tests ... moved to pyvips test suite
  • vips7 and vips8 python bindings default to off ... use the new pyvips binding instead
  • better svgload: larger output, handle missing width/height, thanks lovell
  • better gobject-introspection annotations, thanks astavale
  • add vips_composite(): merge an array of images with porter-duff
  • better gobject-introspection annotations, thanks astavale
  • vipsimagewrite() severs all links between images, when it can ... thanks Warren and Nakilon
  • vector path for convolution is more accurate and can handle larger masks
  • linear and cubic kernels for reduce are higher quality
  • added vipsvaluesetblobfree()
  • "--size Nx" to vipsthumbnail was broken, thanks jrochkind
  • fix build with gcc 7
  • add vipsfillnearest() ... fill pixels with nearest colour
  • add VIPSCOMBINEMIN, a new combining mode for vips_compass()
  • vipshistfind_indexed() now has a @combine parameter
  • vipsaffine() and vipssimilarity() have a "background" parameter
  • fix nasty jaggies on the edges of affine output, thanks chregu
  • add gif-delay, gif-comment and gif-loop metadata
  • add dispose handling to gifload
  • deprecate the "centre" option for vips_resize(): it's now always on
  • setting the EXIF data block automatically sets other image tags
  • dzsave outputs extra right and bottom overlap-only tiles, for closer spec adherence

- C
Published by jcupitt almost 9 years ago

libvips - 8.5.6

  • tiff read with start page > 0 could break edge tiles or strips
  • raise b64 limit to allow for huge profiles (thanks jaume)
  • fix error return in blob save (thanks jaume)
  • tag vipsprofile as py2 (thanks ioquatix)
  • don't cache thumbnail (thanks tomasc)

- C
Published by jcupitt about 9 years ago

libvips - v8.5.5

  • doc polishing
  • more improvements for truncated PNG files, thanks juyunsang
  • improve corrupted jpg handling, thanks juyunsang
  • fix small test suite issues on os x

- C
Published by jcupitt about 9 years ago

libvips - v8.4.6

Need an 8.4 tarball on github for homebrew

- C
Published by jcupitt about 9 years ago

libvips - v8.5.4

Fix out of order read error for some image widths and thread numbers under heavy load.

- C
Published by jcupitt about 9 years ago

libvips - v8.5.3

  • more link fixing in docs
  • revise cache sizing again to help out of order errors under very heavy load, thanks @kleisauke

- C
Published by jcupitt about 9 years ago

libvips - 8.5.2

  • better behaviour for truncated PNG files, thanks Yury
  • missing proto for vipstiffsavebuffer(), thanks greut
  • move some docs from the wiki and blog into core libvips docs
  • add support for markdown in docs

- C
Published by jcupitt about 9 years ago

libvips - v8.5.1

The first supported release of libvips 8.5

https://jcupitt.github.io/libvips/2017/03/16/What's-new-in-8.5.html

has a summary of what's new in this version.

- C
Published by jcupitt about 9 years ago