With this, vips8 is now done, phew!! We'll spend the next few months updating the website and doing some final polishing, then bump the libvips version to 8.0 in April.
New Python interface
The new Python interface works on Windows, OS X and Linux, works with python2 and python3, and supports the complete vips8 API. It has a full set of operator overloads, it supports optional arguments, and it has a full set of docstrings.Best of all, the whole thing is written in Python and it's dynamic, so any changes to libvips appear immediately in Python with no extra coding. This should mean it'll work anywhere and be easy to keep updated.
There's a chapter in the libvips manual about it, with examples. There's a binding for Ruby done in the same way, but that's not quite ready yet.
New C++ interface
In the same vein, there's a new C++ interface. Again, there's a chapter in the libvips manual introducing it. It's very similar to the new Python interface, except that parts of it need to be statically generated. It's a very nice improvement over the old C++ interface.Test suite
libvips finally has a test suite. This comes in two main parts: first, a set of shell-scripts test the command-line interface, the threading system, and file format support. Second, a set of Python unittests exercise each libvips operator in detail. The unittests aren't quite complete yet, hopefully for the next version they will be.Small improvements
There are a range of small improvements, mostly to the file format support:- one-bit pbm images are now supported
- pfm support is much better
- libvips now supports XMP metadata in TIFF files
- you can specify a DPI to load vector formats at
- all savers now have a background parameter you can use to control how alpha channels are flattened
- jpeg load supports autorotate
- you can control png save filtering
- support for automatic loading of vips8 plugins
No comments:
Post a Comment