Here’s a summary of what’s new in libvips 8.17. Check the ChangeLog if you need more details.
New documentation system
We were using gtk-doc for our documentation system. We’ve switched to its newer replacement, gi-docgen, and it should be a lot better.

The most interesting improvements are:
-
A much better search system – try typing in the search box at the top left!
-
Better and more consistent display of optional arguments, see for example
embed. -
The class overview page includes a useful one-line description of each operator.
-
Revised and restructured Additional documentation.
-
Support for light and dark appearance.
-
More consistent markup should make it easier to automatically generate documentation for downstream projects.
Improvements to operators
To help compatibility, the old vips7 matrix multiply
function is now available as a vips8 operator,
matrixmultiply.
We rewrote the old vips7 remosaic function for vips8 years
ago, but stupidly forgot to link it. We’ve fixed this, and
remosaic
is now proudly available. Similarly,
quadratic
has been there for years, but never worked properly. It’s been revised and
should now (finally) be useful.
The so-called magic kernel is now supported for image resize.
ICC import and transform now has an
auto option
for rendering intent.
Better file format support
File format support has been improved (again). Highlights this time are:
-
gifsavehas a newkeep_duplicate_framesoption -
svgloadhas a newstylesheetoption for custom CSS, and ahigh_bitdepthoption for scRGB output. -
heifloadhas a newunlimitedflag to remove all load limits, has better alpha channel detection, and better detection of truncated files. -
jp2kloadhas a newoneshotflag which can improve compatibility for older jp2k files. -
jxlsavehas much lower memory use for large images. -
openslideloadnow shares and reuses connections to the underlying file format library, improving speed. -
ppmloadhas a new buffer variant for convenience. -
TIFF load and save has better error handling
-
A new “convert for save” system fixes a large number of minor bugs and inconsistencies in file format support.
General improvements
There have been some smaller libvips additions and improvements too.
-
The
hough_lineoperator has better scaling to Hough space. -
shrinkis noticeably faster -
The operation cache is a lot more reliable.
-
sink_screenhas better scheduling and should render thumbnails much more quickly. -
The ICC operators are better at detecting and rejecting corrupt profiles.
Plus some even more minor bugfixes and improvements.