You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Added an endpoint supporting the IIIF Image API version 3.0 at /iiif/3.
When an image requested at max size is larger than the value of the max_pixels configuration key, it is downscaled to that value instead of the request being forbidden. This behavior aligns more closely with the IIIF Image API.
The minimum and maximum size of the built-in web server's thread pool is configurable.
Added a configuration option to control whether the health check includes dependent sources and caches.
A cache=recache URL query argument is available that reprocesses and recaches the derivative image before delivering it.
The X-IIIF-ID reverse proxy header is no longer supported. X-Forwarded-ID should be used instead.
The endpoint.iiif.content_disposition configuration key has been removed. The response-content-disposition URL query argument should be used instead.
The http.http2.enabled and https.http2.enabled configuration keys have been removed. HTTP/2 is always enabled.
The identifier path component of IIIF Image API URIs may contain a "meta-identifier," which is comprised of an identifier plus other relevant information like a page number and/or scale constraint.
The page and time query arguments have been deprecated in favor of the meta-identifier-expressed page number explained above.
Added a log_error_responses configuration key that causes all errors at all endpoints to be logged, which may help to track down errors that evade logging elsewhere.
Sources
Sources support inconsistencies between filename/identifier extensions and byte signatures.
HttpSource uses the OkHttp HTTP client library instead of Jetty.
HttpSource supports HTTP/2.
S3Source uses version 2 of the AWS SDK insead of MinIO.
Processors
ImageMagickProcessor, GraphicsMagickProcessor, and KakaduDemoProcessor have been removed.
Source image metadata is cached in derivative caches.
XMP metadata can be copied or edited using a delegate method.
The processor.metadata.respect_orientation configuration key has been removed and EXIF Orientation values are always respected.
KakaduNativeProcessor, OpenJpegProcessor, and TurboJpegProcessor respect the EXIF Orientation tag.
KakaduNativeProcessor, OpenJpegProcessor, and TurboJpegProcessor support EXIF, IPTC IIM, and XMP metadata.
Java2dProcessor supports the XPM source format.
Added a processor.downscale_linear configuration key to enable downscaling in a linear color space.
TurboJpegProcessor decompresses with "accurate" rather than "fast" DCT.
FfmpegProcessor, KakaduNativeProcessor, OpenJpegProcessor, and PdfBoxProcessor use libjpeg-turbo to write JPEGs if it is available.
Added the scaled position for image overlays.
Updated the included Kakadu library used by KakaduNativeProcessor to version 8.0.3.
Updated Apache PDFBox to version 2.0.22.
PdfBoxProcessor properties added to better control memory
processor.pdf.scratch_file_enabled allows use of a scratch file
processor.pdf.max_memory_bytes allows control over how much memory a PDF thread consumes (-1 means unlimited).
Caches
S3Cache has been updated to use version 2 of the AWS SDK.
RedisCache has been updated to use version 6.0.1 of the Lettuce client.
The delegate method invocation cache has been removed.
Delegate Script
A delegate class can be written in Java. See the user manual for more information.
Added a pre_authorize() delegate method that enables more efficient, "fail-fast" authorization.
Added local_uri and page_count keys to the delegate script context.
Corrected the structure of the cookie key in the delegate script context. See the upgrade guide for more information.
Updated JRuby to version 9.2.13.0.
Other
The application is now packaged as a JAR file and can no longer work in a Servlet container. (See #339 for background.)
Java 11 is required.
Added configuration options for logging in Logstash format. (Thanks to @cmhdave)
The redaction.enabled configuration key has been removed. The redaction() delegate method is always called and redactions are always applied if it returns any.
The overlay() delegate method may return a boolean word_wrap key value to enable automatic wrapping of overlay strings.
The -Dcantaloupe.list_fonts VM argument has been replaced with the -list-fonts command-line argument.