Changelog
View Source0.6.0
- Requested TIF image images are now written to a temporary file instead of to memory by default.
- Also a new plug option
:temp_dirwas added to define a custom temporary directory path for the generated TIF files. In memory creation is still possible by passing:bufferinstead. - Added support for
:rawand:vipsimage output formats. - Rewrote the core V3 plug module to support the
usekeyword instead of having to pass callback functions as options. - Removed the
rights,see_also,part_ofandservicecallbacks. Instead, you are now required to provide two callback functions: One for theinfo.jsoncreation and one for the image data retrieval. - HTTP response headers can now be set in the new info and data request callbacks based on the requested identifier (thanks neilberkman).
0.5.0
- Changed override options
:port,:hostand:schemeinto callbacks to make values configurable at runtime. - Fixed "height" key typo in
info.json - Fixed handling of files that contain exif orientation metadata tags.
0.4.0
Made some minor additional changes to align with the IIIF image API spec:
- Fixed the static value for key "type" in the
info.json. - Return 404 status code for invalid paths (instead of the 400 in the initial implementation).
- Redirect to
info.jsonif the request ends with the identifier (i.e. from/path/to/plug/my-imageto/path/to/plug/my-image/info.json). - Reintroduced override options
:port,:hostand:schemefor proxy scenarios.
0.3.1
Fixed error where pyramid page optimization was not applied if no vertical scaling was requested. This caused a fallback to the default full scale processing.
0.3.0
Removed the :scheme, :host, :port and :prefix options, those are now evaluated directly from the %Plug.Conn{}.
0.2.0
Added optimization for pyramid tiffs:
- The
info.jsonmay now contain the sizes property, if the identifier refers to a pyramid image. - When image data is requested based off an pyramid image, the plug now should select the best matching image from the pyramid and apply an adjusted transformation on that preprocessed lower resolution image (instead of always working on the maximum resolution).
0.1.0
Minimal viable v3 plug.