JVips
JVips copied to clipboard
Libvips 8.13 and GIF output support
Upgrade to libvips 8.13.
- Added support for the new
vips_block_untrusted_set
(see https://www.libvips.org/2022/05/28/What's-new-in-8.13.html) - Added
.gif
output support usingcgif
A note about adding support for more operations... I have created a code generator in TypeScript to read the metadata about supported operations and arguments and to generate the JVips API automatically. You can see it at https://github.com/cactuslab/JVips/tree/generate. When you have a moment I'd love to see whether you'd like to integrate these ideas. I have made a few opinionated decisions that change the API, like using "apply" for the in-place modification vs returning a new Image
.
Thanks for contributing these features upstream! I can see that your own fork has many more commits 🙂
The idea to generate the code is not new to the project, and we actually already generate the enums, but generating all the classes sounds even better. It is a breaking change however, so I don't think we can integrate it as is (even if I like the proposed API changes). We'll need to cherry-pick the ideas and integrate it in a non-breaking way, unless a new major version of libvips is released.
@warrenseine yes, it's a tricky one... there's inconsistency in the API at the moment I think as mentioned in other issues regarding do we return a new image vs update the current one. It's a particularly tricky transition due to no warning in Java when you ignore a return value... so null
returning methods can't safely change to non-null returning... subtle bugs result.
Please feel free to lift anything from that branch. Or I'm happy to continue a discussion around a design for the naming that doesn't break backwards compatibility and make the changes myself. I'm keen to get our projects back on your releases!