Skip to content

v2.17.0

Choose a tag to compare

@davidbyttow davidbyttow released this 01 Mar 23:52
· 22 commits to master since this release
12bbea8

What's Changed

New Features

  • Add built-in vipsgen code generator for auto-generating C bridge wrappers
  • Add NewTransparentCanvas helper for creating transparent RGBA images
  • Add Grey() constructor for creating gradient images
  • Add fast Go image.Image interop: ToGoImage and NewImageFromGoImage
  • Add Loop API and preserve loop/delay metadata in RemoveMetadata
  • Add gravity function
  • Add PSD support
  • Add Magick Save, support ICO load
  • Add access options while loading image
  • Add additional image operation functions

Bug Fixes

  • Fix memory leak, panics, and race condition
  • Fix memory leak when using multi pages
  • Fix animated resize producing toilet-roll images
  • Fix CMYK ICC profile ignored when embedded profile exists
  • Fix TIFF tile dimensions zero-value crash
  • Fix JXL type detection for ISOBMFF containers with varying box sizes
  • Add runtime.KeepAlive to prevent GC finalization during CGo calls
  • Stop implicitly converting BMP files to PNG

Internal Improvements

  • Consolidate generated C bridge files into generated.{c,h,go}
  • Consolidate hand-written C bridge files into operations.{c,h,go}
  • Reduce hand-written C bridge code by using generated wrappers
  • Remove dead code (INT_TO_GBOOLEAN, unused max_alpha())
  • Split golden tests by format for better organization

Security

  • Update gopkg.in/yaml.v3 v3.0.0 to v3.0.1 (security fix)
  • Bump golang.org/x/net from 0.25.0 to 0.38.0

Other

  • Add new HEIC magic numbers
  • Document GIF quality param limitation with native gifsave
  • Add side effects import for golang.org/x/image/webp