Imgproxy Versions Save

Fast and secure standalone server for resizing and converting remote images

v3.23.0

1 month ago

Add

  • Add request ID, processing/info options, and source image URL to error reports.

Change

  • Support configuring OpenTelemetry with standard general and OTLP Exporter environment variables.
  • IMGPROXY_MAX_SRC_RESOLUTION default value is increased to 50.

Fix

  • Fix loading environment variables from the AWS System Manager Parameter Store when there are more than 10 parameters.
  • (pro) Fixed thumbnail generation for MKV/WebM files containing blocks invalidly marked as keyframes.

Deprecated

  • IMGPROXY_OPEN_TELEMETRY_ENDPOINT, IMGPROXY_OPEN_TELEMETRY_PROTOCOL, IMGPROXY_OPEN_TELEMETRY_GRPC_INSECURE, IMGPROXY_OPEN_TELEMETRY_SERVICE_NAME, IMGPROXY_OPEN_TELEMETRY_PROPAGATORS, and IMGPROXY_OPEN_TELEMETRY_CONNECTION_TIMEOUT config options are deprecated. Use standard OpenTelemetry environment variables instead.

v3.22.0

2 months ago

Add

Change

  • Allow relative values for gravity and watermark offsets.
  • Revised downloading errors reporting.
  • Allow IMGPROXY_TTL to be zero.
  • Don't set Expires HTTP header as it is ignored if the Cache-Control header is set.
  • Don't log health-check requests and responses.
  • Enforce IMGPROXY_WORKERS=1 when running in AWS Lambda.
  • Reduce memory usage when scaling down animated images.
  • (pro) If the step argument of the video_thumbnail_tile is negative, calculate step automatically.

Fix

  • Fix loading animated images with a huge number of frames.
  • Fix recursive presets detection.
  • (pro) Fix video_thumbnail_tile option behavior when the video has a single keyframe.
  • (pro) Fix the trim argument of the video_thumbnail_tile processing option.
  • (pro) Fix video_thumbnail_tile behavior when the step argument value is less than frame duration.
  • (pro) Fix VPx video stream duration detection.
  • (pro) Fix thumbnal generation for VP9 videos.
  • (pro) Fix thumbnal generation for videos with a large time base denumenator.

v3.21.0

5 months ago

Add

  • Add status_codes_total counter to Prometheus metrics.
  • Add client-side decryption support for S3 integration.
  • Add HEIC saving support.
  • (pro) Add the IMGPROXY_VIDEO_THUMBNAIL_KEYFRAMES config and the video_thumbnail_keyframes processing option.
  • (pro) Add the video_thumbnail_tile processing option.
  • (pro) Add the duration field to the video streams information in the /info endpoint response.
  • (pro) Add the colorspace, bands, sample_format, pages_number, and alpha info options.

Fix

  • (pro) Fix detection of some videos.
  • (pro) Fix headers and cookies passthrough when the source is a video.
  • (pro) Fix wrong behavior of the background_alpha option when the best format is used.
  • (docker) Fix saving EXIF strings containing invalid UTF-8 characters.
  • (docker) Fix possible segfaults while processing HEIC/AVIF images.
  • (docker) Fix rendering GIFs embedded in SVGs.

v3.20.0

6 months ago

Add

  • (pro) Add info options support to the /info endpoint.
  • (pro) Add video streams info to the /info endpoint response.
  • (docker) Add support for TIFFs with 16-bit float samples.
  • (docker) Add support for TIFFs with the old-style JPEG compression.

Change

  • Limit vector image sizes to IMGPROXY_MAX_SRC_RESOLUTION.
  • (pro) Respect image orientation when extracting image dimensions for the /info endpoint response.
  • (pro) Respect IMGPROXY_WORKERS and IMGPROXY_REQUESTS_QUEUE_SIZE configs in the /info endpoint.
  • (pro) Collect detailed metrics for the /info endpoint.
  • (docker) Invalid UTF-8 strings in image metadata are fixed instead of being ignored.

Fix

  • Fix parsing of HEIF files with large boxes.
  • Fix wrong colors when the source image has a linear colorspace.
  • Fix wrong colors or opacity when the source image is a TIFF with a float sample format.
  • Fix crashes during processing of large animated WebPs.
  • Fix vips_allocs OTel metric unit (was By, fixed to 1).
  • (pro) Fix generating thumbnails for WebM videos with transparency.
  • (pro) Fix style injection into some SVGs.

v3.19.0

8 months ago

Add

Change

  • Don't report The image request is cancelled errors.
  • Create and destroy a tiny image during health check to check that vips is operational.
  • (pro) Change the /info endpoint behavior to return only the first EXIF/XMP/IPTC block data of JPEG if the image contains multiple metadata blocks of the same type.

Fix

  • Fix reporting image loading errors.
  • Fix the Cache-Control and Expires headers behavior when both IMGPROXY_CACHE_CONTROL_PASSTHROUGH and IMGPROXY_FALLBACK_IMAGE_TTL configs are set.
  • (pro) Fix the IMGPROXY_FALLBACK_IMAGE_TTL config behavior when the fallback_image_url processing option is used.

v3.18.2

9 months ago

Fix

  • Fix saving to JPEG when using linear colorspace.
  • Fix the Cache-Control and Expires headers passthrough when SVG is sanitized or fixed.
  • (pro) Fix complexity calculation for still images.
  • (docker) Fix crashes during some resizing cases.

v3.18.1

9 months ago

Change

  • Change maximum and default values of IMGPROXY_AVIF_SPEED to 9.
  • (pro) Fix detection of some videos.
  • (pro) Better calculation of the image complexity during choosing the best format.
  • (docker) Fix freezes and crashes introduced in v3.18.0 by liborc.

v3.18.0

10 months ago

Add

  • Add IMGPROXY_URL_REPLACEMENTS config.
  • (pro) Add IMGPROXY_STRIP_METADATA_DPI config.
  • (pro) Add dpi processing option.
  • (pro) Add WebP EXIF and XMP to the /info response.
  • (pro) Add Photoshop resolution data to the /info response.

Change

  • Preserve GIF's bit-per-sample.
  • Respond with 422 on error during image loading.

Fix

  • (pro) Fix applying the resizing_algorithm processing option when resizing images with an alpha channel.

v3.17.0

11 months ago

Add

  • Add process_resident_memory_bytes, process_virtual_memory_bytes, go_memstats_sys_bytes, go_memstats_heap_idle_bytes, go_memstats_heap_inuse_bytes, go_goroutines, go_threads, buffer_default_size_bytes, buffer_max_size_bytes, and buffer_size_bytes metrics to OpenTelemetry.
  • Add support for the Last-Modified response header and the If-Modified-Since request header (controlled by the IMGPROXY_USE_LAST_MODIFIED config).
  • Add IMGPROXY_S3_ASSUME_ROLE_ARN config.
  • Add IMGPROXY_MALLOC Docker-only config.

Change

  • Optimized memory buffers pooling for better performance and memory reusage.
  • Optimized watermarks application.

Fix

  • Fix crushes when watermark_text has an invalid value.

v3.16.1

11 months ago

Fix

  • Fix crashes in cases where the max_bytes processing option was used and image saving failed.
  • Fix error when using the extend or extend_aspect_ratio processing option while setting zero width or height.
  • Fix color loss when applying a watermark with a palette on an image without a palette.
  • (pro) Fix crashes when using IMGPROXY_SMART_CROP_FACE_DETECTION with large IMGPROXY_CONCURRENCY.
  • (pro) Fix watermark scaling when neither watermark scale nor watermark size is specified.