These days in Ameto – Java client v1.3.0

Michael Seifert, 2018-11-05

This update is geared towards the technical crowd. Release 1.3.0 of the Java client is a stabilization and maintenance release with no new features added. However, we introduced some significant quality of life improvements for users of our client!

Explicit operator versioning is now deprecated. It is already enough effort to manage library versions and dependencies, so we wanted to relieve you from managing operator versions. Operator versions are now based on the version of the client library you are using. Pipelines generated with older operator versions will not be changed, unless the Pipeline is recreated.

Creating Pipelines no longer involves creating separate Operator objects. Pipelines are instead created via a Pipeline.Builder that allows configuring the different steps. For example:

Pipeline thumbnailPipeline = ameto.add("thumbnail", new Resize("1.0.0", 128, 128), new Shrink("1.1.0"));

becomes

Pipeline thumbnailPipeline = ameto.addPipeline("thumbnail")
                              .resize(128, 128)
                              .format(Pipeline.Format.Jpeg)
                              .build();

The shrink operation is now performed automatically when JPEG is specified as Pipeline output. We enabled this by default, because Ameto uses an optimized JPEG encoder that performs better than conventional encoders and this is generally useful.

As always, the updated documentation can be found on docs.ameto.de. Please make sure to upgrade your client library in a timely manner. The deprecated functionality will be dropped sooner rather than later.