JVips icon indicating copy to clipboard operation
JVips copied to clipboard

Libvips 8.13 and GIF output support

Open karlvr opened this issue 2 years ago • 2 comments

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 using cgif

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.

karlvr avatar Aug 29 '22 20:08 karlvr

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 avatar Sep 01 '22 13:09 warrenseine

@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!

karlvr avatar Sep 02 '22 00:09 karlvr