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:
-
gifsave
has a newkeep_duplicate_frames
option -
svgload
has a newstylesheet
option for custom CSS, and ahigh_bitdepth
option for scRGB output. -
heifload
has a newunlimited
flag to remove all load limits, has better alpha channel detection, and better detection of truncated files. -
jp2kload
has a newoneshot
flag which can improve compatibility for older jp2k files. -
jxlsave
has much lower memory use for large images. -
openslideload
now shares and reuses connections to the underlying file format library, improving speed. -
ppmload
has 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_line
operator has better scaling to Hough space. -
shrink
is noticeably faster -
The operation cache is a lot more reliable.
-
sink_screen
has 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.