- Add IMGPROXY_S3_ASSUME_ROLE_EXTERNAL_ID config.
- Automatically add
http://
scheme to theIMGPROXY_S3_ENDPOINT
value if it has no scheme. - Trim redundant slashes in the S3 object key.
- (pro) Allow specifying gradient direction as an angle in degrees.
- Fix HEIC/AVIF dimension limit handling.
- Fix SVG detection when the root element has a namespace.
- (pro) Fix style injection to SVG.
- (pro) Fix video tiles generation when the video's SAR is not
1
.
- Fix the default
IMGPROXY_WORKERS
value when cgroup limits are applied.
- Add IMGPROXY_ALWAYS_RASTERIZE_SVG config.
- Add IMGPROXY_PNG_UNLIMITED and IMGPROXY_SVG_UNLIMITED configs.
- (pro) Add
fill
,foxus_x
, andfocus_y
arguments to the video_thumbnail_tile processing option. - (pro) Add the
ch
(chessboard order) position for watermarks. - (pro) Add the watermark_rotate processing option.
- Respond with 404 when the bucket/container name or object key is empty in an S3, Google Cloud Storage, Azure Blob Storage, or OpenStack Object Storage (Swift) URL.
- Ensure that the watermark is always centered when replicated.
- (pro) Improve unsharp masking.
- (docker) Update AWS Lambda adapter to 0.8.3.
- (docker) Increase EXIF size limit to 8MB.
- Fix parsing some TIFFs.
- Fix over-shrinking during scale-on-load.
- Fix watermarks overlapping animation frames in some cases.
- (pro) Fix false-positive video detections.
- Add request ID, processing/info options, and source image URL to error reports.
- Support configuring OpenTelemetry with standard general and OTLP Exporter environment variables.
IMGPROXY_MAX_SRC_RESOLUTION
default value is increased to 50.
- 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.
IMGPROXY_OPEN_TELEMETRY_ENDPOINT
,IMGPROXY_OPEN_TELEMETRY_PROTOCOL
,IMGPROXY_OPEN_TELEMETRY_GRPC_INSECURE
,IMGPROXY_OPEN_TELEMETRY_SERVICE_NAME
,IMGPROXY_OPEN_TELEMETRY_PROPAGATORS
, andIMGPROXY_OPEN_TELEMETRY_CONNECTION_TIMEOUT
config options are deprecated. Use standard OpenTelemetry environment variables instead.
- Add the IMGPROXY_TRUSTED_SIGNATURES config.
- (pro) Add the hashsum processing and info options.
- (pro) Add the calc_hashsums info option.
- (pro) Add the IMGPROXY_VIDEO_THUMBNAIL_TILE_AUTO_KEYFRAMES config.
- (pro) Add the IMGPROXY_WEBP_SMART_SUBSAMPLE config and the
smart_subsample
argument to the webp_options processing option - (docker) Add lambda adapter to the Docker image.
- Allow relative values for
gravity
andwatermark
offsets. - Revised downloading errors reporting.
- Allow
IMGPROXY_TTL
to be zero. - Don't set
Expires
HTTP header as it is ignored if theCache-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 thevideo_thumbnail_tile
is negative, calculatestep
automatically.
- 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 thevideo_thumbnail_tile
processing option. - (pro) Fix
video_thumbnail_tile
behavior when thestep
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.
- 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.
- (pro) Improve video detection.
- (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 thebest
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.
- (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.
- 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
andIMGPROXY_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 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 (wasBy
, fixed to1
). - (pro) Fix generating thumbnails for WebM videos with transparency.
- (pro) Fix style injection into some SVGs.
- Add
IMGPROXY_WORKERS
alias for theIMGPROXY_CONCURRENCY
config. - Add multi-region mode to S3 integration.
- Add the ability to load environment variables from a file or a cloud secret.
- (pro) Add pages processing option.
- 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 reporting image loading errors.
- Fix the
Cache-Control
andExpires
headers behavior when bothIMGPROXY_CACHE_CONTROL_PASSTHROUGH
andIMGPROXY_FALLBACK_IMAGE_TTL
configs are set. - (pro) Fix the
IMGPROXY_FALLBACK_IMAGE_TTL
config behavior when thefallback_image_url
processing option is used.
- Fix saving to JPEG when using linear colorspace.
- Fix the
Cache-Control
andExpires
headers passthrough when SVG is sanitized or fixed. - (pro) Fix complexity calculation for still images.
- (docker) Fix crashes during some resizing cases.
- Change maximum and default values of
IMGPROXY_AVIF_SPEED
to9
. - (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.
- 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.
- Preserve GIF's bit-per-sample.
- Respond with 422 on error during image loading.
- (pro) Fix applying the
resizing_algorithm
processing option when resizing images with an alpha channel.
- 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
, andbuffer_size_bytes
metrics to OpenTelemetry. - Add support for the
Last-Modified
response header and theIf-Modified-Since
request header (controlled by theIMGPROXY_USE_LAST_MODIFIED
config). - Add
IMGPROXY_S3_ASSUME_ROLE_ARN
config. - Add
IMGPROXY_MALLOC
Docker-only config.
- Optimized memory buffers pooling for better performance and memory reusage.
- Optimized watermarks application.
- Fix crushes when
watermark_text
has an invalid value.
- Fix crashes in cases where the
max_bytes
processing option was used and image saving failed. - Fix error when using the
extend
orextend_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 largeIMGPROXY_CONCURRENCY
. - (pro) Fix watermark scaling when neither watermark scale nor watermark size is specified.
- Add support for
Sec-CH-DPR
andSec-CH-Width
client hints. - Add support for Base64-encoded
filename
processing option values. - Add
IMGPROXY_REQUEST_HEADERS_PASSTHROUGH
andIMGPROXY_RESPONSE_HEADERS_PASSTHROUGH
configs.
- Improved object-oriented crop.
- Fix detection of dead HTTP/2 connections.
- Fix the way the
dpr
processing option affects offsets and paddings.
- Remove suport for
Viewport-Width
client hint. - Don't set
Content-DPR
header (deprecated in the specification).
- Add the
IMGPROXY_ALLOW_LOOPBACK_SOURCE_ADDRESSES
,IMGPROXY_ALLOW_LINK_LOCAL_SOURCE_ADDRESSES
, andIMGPROXY_ALLOW_PRIVATE_SOURCE_ADDRESSES
configs.
- Connecting to loopback, link-local multicast, and link-local unicast IP addresses when requesting source images is prohibited by default.
- Tuned source image downloading flow.
- Disable extension checking if the
raw
processing option is used.
- (pro) Fix face detection during advanced smart crop in some cases.
- Add extend_aspect_ratio processing option.
- Add the
IMGPROXY_ALLOW_SECURITY_OPTIONS
config +max_src_resolution
,max_src_file_size
,max_animation_frames
, andmax_animation_frame_resolution
processing options. - (pro) Add advanced smart crop.
- Make the
expires
processing option setExpires
andCache-Control
headers. - Sanitize
use
tags in SVGs.
- Fix handling some ICC profiles.
- Remove color-related EXIF data when stripping ICC profile.
- (pro) Optimize saving to MP4.
- (pro) Fix saving with autoquality in some cases.
- (pro) Fix saving large images to MP4.
- Fix applying watermarks with replication.
- Add support for Managed Identity or Service Principal credentials to Azure Blob Storage integration.
- Optimize memory usage in some scenarios.
- Better SVG sanitization.
- (pro) Allow usage of floating-point numbers in the
IMGPROXY_VIDEO_THUMBNAIL_SECOND
config and thevideo_thumbnail_second
processing option.
- Fix crashes in some cases when using OpenTelemetry in Amazon ECS.
- (pro) Fix saving of GIF with too small frame delay to MP4
- Add
IMGPROXY_MAX_ANIMATION_FRAME_RESOLUTION
config. - Add Amazon CloudWatch support.
- (pro) Add
best
resultig image format. - (pro) Add
IMGPROXY_WEBP_COMPRESSION
config and webp_options processing option.
- Change
IMGPROXY_FORMAT_QUALITY
default value toavif=65
. - Change
IMGPROXY_AVIF_SPEED
default value to8
. - Change
IMGPROXY_PREFERRED_FORMATS
default value tojpeg,png,gif
. - Set
Cache-Control: no-cache
header to the health check responses. - Allow replacing line breaks with
\n
inIMGPROXY_OPEN_TELEMETRY_SERVER_CERT
,IMGPROXY_OPEN_TELEMETRY_CLIENT_CERT
, andIMGPROXY_OPEN_TELEMETRY_CLIENT_KEY
.
- Fix 3GP video format detection.
- Add
IMGPROXY_OPEN_TELEMETRY_GRPC_INSECURE
config. - Add
IMGPROXY_OPEN_TELEMETRY_TRACE_ID_GENERATOR
config. - (pro) Add XMP data to the
/info
response.
- Better XMP data stripping.
- Use parent-based OpenTelemetry sampler by default.
- Use fixed TraceIdRatioBased sampler with OpenTelemetry.
- Add
IMGPROXY_CLIENT_KEEP_ALIVE_TIMEOUT
config. - (pro) Add disable_animation processing option.
- (pro) Add gradient processing option.
- Fix false-positive SVG detections.
- Fix possible infinite loop during SVG sanitization.
- (pro) Fix saving of GIF with variable frame delay to MP4.
- (pro) Fix the size of video thumbnails if the video has a defined sample aspect ratio.
- Add
IMGPROXY_SVG_FIX_UNSUPPORTED
config.
- Fix HTTP response status when OpenTelemetry support is enabled.
- (docker) Fix saving of paletted PNGs with low bit-depth.
- Add raw processing option.
- Add OpenTelemetry support.
- (pro) Add encrypted source URL support.
- (pro) Add watermark_shadow processing option.
- Try to fix some invalid source URL cases that happen because of URL normalization.
- (docker) Faster images quantization.
- (docker) Faster loading of GIF.
- Fix memory bloat in some cases.
- Fix
format_quality
usage in presets.
- Add support of 16-bit BMP.
- Add
IMGPROXY_NEW_RELIC_LABELS
config. - Add support of JPEG files with differential Huffman coding or arithmetic coding.
- Add
IMGPROXY_PREFERRED_FORMATS
config. - Add
IMGPROXY_REQUESTS_QUEUE_SIZE
config. - Add
requests_in_progress
andimages_in_progress
metrics. - Add queue segment/span to request traces.
- Add sending additional metrics to Datadog and
IMGPROXY_DATADOG_ENABLE_ADDITIONAL_METRICS
config. - Add sending additional metrics to New Relic.
- Change
IMGPROXY_MAX_CLIENTS
default value to 2048. - Allow unlimited connections when
IMGPROXY_MAX_CLIENTS
is set to0
. - Change
IMGPROXY_TTL
default value to31536000
(1 year). - Better errors tracking with metrics services.
- (docker) Faster and better saving of GIF.
- (docker) Faster saving of AVIF.
- (docker) Faster loading and saving of PNG.
- Fix trimming of CMYK images.
- Respond with 404 when the source image can not be found in OpenStack Object Storage.
- Respond with 404 when file wasn't found in the GCS storage.
- Add
IMGPROXY_RETURN_ATTACHMENT
config and return_attachment processing option. - Add SVG sanitization and
IMGPROXY_SANITIZE_SVG
config.
- Better animation detection.
- Respond with 404 when file wasn't found in the local storage.
- Fallback from AVIF to JPEG/PNG if one of the result dimensions is smaller than 16px.
- (pro) Fix some PDF pages background.
- (docker) Fix loading some HEIF images.
- Add support of RLE-encoded BMP.
- Add
IMGPROXY_ENFORCE_THUMBNAIL
config and enforce_thumbnail processing option. - Add
X-Result-Width
andX-Result-Height
to debug headers. - Add
IMGPROXY_KEEP_COPYRIGHT
config and keep_copyright processing option.
- Use thumbnail embedded to HEIC/AVIF if its size is larger than or equal to the requested.
- Add
IMGPROXY_FALLBACK_IMAGE_TTL
config. - (pro) Add watermark_size processing option.
- Add OpenStack Object Storage ("Swift") support.
- Add
IMGPROXY_GCS_ENDPOINT
config.
- (pro) Don't check
Content-Length
header of videos.
- (pro) Fix custom watermarks on animated images.
- Fix
s3
scheme status codes. - (pro) Fix saving animations to MP4.
- Write logs to STDOUT instead of STDERR.
- (pro) Fix crashes when some options are used in presets.
- Fix transparrency in loaded ICO.
- (pro) Fix video thumbnails orientation.
- Add the
IMGPROXY_MAX_REDIRECTS
config. - (pro) Add the
IMGPROXY_SERVER_NAME
config. - (pro) Add the
IMGPROXY_HEALTH_CHECK_MESSAGE
config. - Add the
IMGPROXY_HEALTH_CHECK_PATH
config.
- Fix the
IMGPROXY_AVIF_SPEED
config.
- Fix support of BMP with unusual data offsets.
- (pro) Add
video_meta
to the/info
response. - Add zoom processing option.
- Add 1/2/4-bit BMP support.
- Optimized
crop
.
- Fix Datadog support.
- Fix
force
resizing + rotation. - (pro) Fix
obj
gravity.
- Fix ETag checking when S3 is used.
- (pro) Fix object detection.
- Fix crashes in some scenarios.
- Add
IMGPROXY_ETAG_BUSTER
config. - (pro) watermark_text processing option.
- Improved ICC profiles handling.
- Proper error message when the deprecated basic URL format is used.
- Watermark offsets can be applied to replicated watermarks.
- (pro) Fix parsing metadata of extended sequential JPEGs.
- (pro) Autoquality.
- (pro) Object detection:
obj
gravity type, blur_detections processing option, draw_detections processing option. - (pro) Chained pipelines
IMGPROXY_FALLBACK_IMAGE_HTTP_CODE
config.- (pro) fallback_image_url processing option.
- expires processing option.
- skip processing processing option.
- Datadog metrics.
force
andfill-down
resizing types.- min-width and min-height processing options.
- format_quality processing option.
- Add
X-Origin-Width
andX-Origin-Height
to debug headers. - Add
IMGPROXY_COOKIE_PASSTHROUGH
andIMGPROXY_COOKIE_BASE_URL
configs. - Add
client_ip
to requests and responses logs.
- ETag generator & checker uses source image ETag when possible.
304 Not Modified
responses includesCache-Control
,Expires
, andVary
headers.dpr
processing option doesn't enlarge image unlessenlarge
is true.- imgproxy responds with
500
HTTP code when the source image downloading error seems temporary (timeout, server error, etc). - When
IMGPROXY_FALLBACK_IMAGE_HTTP_CODE
is zero, imgproxy responds with the usual HTTP code. - BMP support doesn't require ImageMagick.
- Save GIFs without ImageMagick (vips 8.12+ required).
- Fix Client Hints behavior.
Width
is physical size, so we should divide it byDPR
value. - Fix scale-on-load in some rare cases.
- Fix the default Sentry release name.
- Fix the
health
command when the path prefix is set. - Escape double quotes in content disposition.
- Removed basic URL format, use advanced one instead.
- Removed
IMGPROXY_MAX_SRC_DIMENSION
config, useIMGPROXY_MAX_SRC_RESOLUTION
instead. - Removed
IMGPROXY_GZIP_COMPRESSION
config. - Removed
IMGPROXY_MAX_GIF_FRAMES
config, useIMGPROXY_MAX_ANIMATION_FRAMES
instead. - Removed
crop
resizing type, use crop processing option instead. - Dropped old libvips (<8.10) support.
- (pro) Removed advanced GIF optimizations. All optimizations are applied by default ib both OSS and Pro versions.
- Add
X-Origin-Width
andX-Origin-Height
to debug headers. - Add
IMGPROXY_COOKIE_PASSTHROUGH
andIMGPROXY_COOKIE_BASE_URL
configs.
dpr
processing option doesn't enlarge image unlessenlarge
is true.304 Not Modified
responses includesCache-Control
,Expires
, andVary
headers.- imgproxy responds with
500
HTTP code when the source image downloading error seems temporary (timeout, server error, etc). - When
IMGPROXY_FALLBACK_IMAGE_HTTP_CODE
is zero, imgproxy responds with the usual HTTP code. - BMP support doesn't require ImageMagick.
- Fix Client Hints behavior.
Width
is physical size, so we should divide it byDPR
value. - Fix scale-on-load in some rare cases.
- Fix
requests_total
counter in Prometheus.
- (pro) Autoquality.
- (pro) Object detection:
obj
gravity type, blur_detections processing option, draw_detections processing option. - (pro) Chained pipelines
IMGPROXY_FALLBACK_IMAGE_HTTP_CODE
config.- (pro) fallback_image_url processing option.
- expires processing option.
- skip processing processing option.
- Datadog metrics.
force
andfill-down
resizing types.- min-width and min-height processing options.
- format_quality processing option.
- ETag generator & checker uses source image ETag when possible.
- Removed basic URL format, use advanced one instead.
- Removed
IMGPROXY_MAX_SRC_DIMENSION
config, useIMGPROXY_MAX_SRC_RESOLUTION
instead. - Removed
IMGPROXY_GZIP_COMPRESSION
config. - Removed
IMGPROXY_MAX_GIF_FRAMES
config, useIMGPROXY_MAX_ANIMATION_FRAMES
instead. - Removed
crop
resizing type, use crop processing option instead. - Dropped old libvips (<8.8) support.
- Wildcard support in
IMGPROXY_ALLOWED_SOURCES
.
- If the source URL contains the
IMGPROXY_BASE_URL
prefix, it won't be added.
- (pro) Fix path prefix support in the
/info
handler.
- The basic URL format is deprecated and can be removed in future versions. Use advanced URL format instead.
- Reset DPI while stripping meta.
- Fix performance regression in ICC profile handling.
- Fix crashes while processing CMYK images without ICC profile.
- More clear downloading errors.
- Fix ICC profile handling in some cases.
- Fix handling of negative height value for BMP.
- Use magenta (ff00ff) as a transparency key in
trim
.
- Fix crashes while processing some SVGs (dockerized version).
- (pro) Fix parsing HEIF/AVIF meta.
- Fix PNG quantization palette size.
- Fix parsing HEIF meta.
- Fix debig header.
- Updated dependencies in Docker.
- Fix delays and loop numbers of animated images.
- Fix scale-on-load of huge SVGs.
- (pro) Fix loading of PDFs with transparent background.
- AVIF support.
- Azure Blob Storage support.
IMGPROXY_STRIP_COLOR_PROFILE
config and strip_color_profile processing option.IMGPROXY_FORMAT_QUALITY
config.IMGPROXY_AUTO_ROTATE
config and auto_rotate processing option.- rotate processing option.
width
andheight
arguments of the crop processing option can be less than1
that is treated by imgproxy as a relative value (a.k.a. crop by percentage).- (pro) Remove Adobe Illustrator garbage from SVGs.
- (pro) Add IPTC tags to the
/info
response.
- Disable scale-on-load for animated images since it causes many problems. Currently, only animated WebP is affected.
- Improved ICC profiles handling.
- (pro) Improved and optimized video thumbnails generation.
- Fix
dpr
option. - Fix non-strict SVG detection.
- Fix non-UTF8 SVG detection.
- Fix checking of connections in queue.
- (pro) Fix video thumbnail orientation.
- (pro) Fix EXIF fields titles in the
/info
response.
- Ability to skip processing of some formats. See Skip processing.
- (pro) PDF support.
- (pro) video_thumbnail_second processing option.
- (pro) page processing option.
- (pro) background_alpha processing option.
- (pro)
IMGPROXY_VIDEO_THUMBNAIL_PROBE_SIZE
andIMGPROXY_VIDEO_THUMBNAIL_MAX_ANALYZE_DURATION
configs.
- Speed up generation of video thumbnails with large timestamps.
- Fix
padding
andextend
behaior when converting from a fromat without alpha support to one with alpha support. - Fix WebP dimension limit handling.
- (pro) Fix thumbnails generation of some videos.
- Fix ICO saving.
IMGPROXY_PROMETHEUS_NAMESPACE
config.- strip_metadata processing option.
- (pro) Configurable unsharpening. See Unsharpening configs and unsharpening processing option.
- Better for libvips memory metrics for Prometheus.
- Docker image includes the latest versions of dependencies.
- Optimize processing of animated images.
- Fix error when requested WebP dimension exceeds the WebP dimension limit.
- Fix path parsing in some rare cases.
- Fix HEIC/HEIF header parsing bug.
- (pro)
IMGPROXY_APPLY_UNSHARPEN_MASKING
config is deprecated, useIMGPROXY_UNSHARPENING_MODE
instead.
- Fix and optimize processing of animated images.
- Fallback images.
- padding processing option.
- Optimized memory usage. Especially when dealing with animated images.
- Fix crashes during animated images processing.
IMGPROXY_PATH_PREFIX
config.- (pro) Video thumbnails.
- (pro) Getting the image info.
- Improved
trim
processing option. - Quantizr updated to 0.2.0 in Docker image.
- Replaced imagequant with Quantizr in docker image.
- Removed HEIC saving support.
- Removed JBIG compressin support in TIFF.
imgproxy -v
is replaced withimgproxy version
.
- Fix loadind BMP stored in ICO.
- Fix ambiguous HEIC magic bytes (MP4 videos has been detected as HEIC).
- Fix build with libvips < 8.6.
- Fix build with Go 1.14.
- Fix go module naming. Use
github.com/imgproxy/imgproxy/v2
to build imgproxy from source.
IMGPROXY_NETWORK
config. Allows to bind on Unix socket.IMGPROXY_CACHE_CONTROL_PASSTHROUGH
config.imgproxy health
command.- (pro)
IMGPROXY_GIF_OPTIMIZE_FRAMES
&IMGPROXY_GIF_OPTIMIZE_TRANSPARENCY
configs andgif_options
processing option. - (pro)
IMGPROXY_CUSTOM_REQUEST_HEADERS
,IMGPROXY_CUSTOM_RESPONSE_HEADERS
, andIMGPROXY_CUSTOM_HEADERS_SEPARATOR
configs.
- Better SVG detection.
- Fix detection of SVG starting with a comment.
trim
processing option.IMGPROXY_STRIP_METADATA
config.
- Fixed focus point crop calculation.
- Optimized memory usage.
- Fixed
IMGPROXY_ALLOWED_SOURCES
config.
- Fix watermark top offset calculation.
IMGPROXY_LOG_LEVEL
config.max_bytes
processing option.IMGPROXY_ALLOWED_SOURCES
config.
- Docker image base is changed to Debian 10 for better stability and performance.
extend
option now supports gravity.
- Boolean processing options such as
enlarge
andextend
are properly parsed.1
,t
,TRUE
,true
,True
are truthy,0
,f
,F
,FALSE
,false
,False
are falsy. All other values are treated as falsy and generate a warning message.
- Fix segfaults on watermarking in some cases
- Fix
format
option in presets.
- Fix loading of some GIFs by using the edge version of giflib.
- TIFF and BMP support.
IMGPROXY_REPORT_DOWNLOADING_ERRORS
config. Setting it tofalse
disables reporting of downloading errors.- SVG passthrough. When source image and requested format are SVG, image will be returned without changes.
IMGPROXY_USE_GCS
config. When it set to true andIMGPROXY_GCS_KEY
is not set, imgproxy tries to use Application Default Credentials to get access to GCS bucket.
- Reimplemented and more errors-tolerant image size parsing.
- Log only modified processing options.
- Fixed sharpening+watermarking.
- Fixed path parsing when no options is provided and image URL is Base64 encoded.
- Using
IMGPROXY_GCS_KEY
withoutIMGPROXY_USE_GCS
set totrue
is deprecated.
structured
andjson
log formats. Can be set withIMGPROXY_LOG_FORMAT
.
- New default log format.
- Better watermarking: image transparency doesn't affect watermarks, faster watermark scaling.
- More verbose URL parsing errors.
SO_REUSEPORT
socker option support. Can be enabled withIMGPROXY_SO_REUSEPORT
.- filename option.
- Better handling if non-sRGB images.
dpr
option always changes the resulting size even if it leads to enlarge andenlarge
is falsey.- Log to STDOUT.
- Only unexpected errors are reported to Bugsnag/Honeybadger/Sentry.
- Better Sentry support.
- GZip compression support is deprecated.
libvips
v8.8 support: better processing of animated GIFs, built-in CMYK profile, better WebP scale-on-load, etc;- Animated WebP support.
IMGPROXY_MAX_GIF_FRAMES
is deprecated, useIMGPROXY_MAX_ANIMATION_FRAMES
; - HEIC support;
- crop processing option.
resizing_type:crop
is deprecated; - Offsets for gravity;
- Resizing type
auto
. If both source and resulting dimensions have the same orientation (portrait or landscape), imgproxy will usefill
. Otherwise, it will usefit
; - Development errors mode. When
IMGPROXY_DEVELOPMENT_ERRORS_MODE
is true, imgproxy will respond with detailed error messages. Not recommended for production because some errors may contain stack trace; IMGPROXY_KEEP_ALIVE_TIMEOUT
config.
- Allow URL query for
/health
; - Better stack trace for image processing errors;
- Send
X-Request-ID
header in response.
- Better shrink-on-load.
- Don't import common sRGB IEC61966-2.1 ICC profile unless linear colorspace is used.
- Don't fail on recursive preset usage, just ignore already used preset and log warning.
- Don't fail processing when embedded ICC profile is not compatible with the image.
- Optimized ICC import when linear colorspace usage is disabled.
- PNG quantization. Can be enabled with
IMGPROXY_PNG_QUANTIZE
. Palette size can be specified withIMGPROXY_PNG_QUANTIZATION_COLORS
.
- Resizing images in linear colorspace is disabled by default. Can be enabled with
IMGPROXY_USE_LINEAR_COLORSPACE
;
Fixed processing of images with embedded profiles that was broken in v2.2.8.
- Resizing in linear colorspace;
IMGPROXY_DISABLE_SHRINK_ON_LOAD
config to disable shring-on-load of JPEG and WebP.
- Remove orc from Docker image (causes segfaults in some cases).
- Memory usage optimizations.
- Fix color management.
- Fix signature check when source URL is escaped.
- extend processing option.
vips_memory_bytes
,vips_max_memory_bytes
andvips_allocs
metrics for Prometheus.
- Fix SVG detection.
- Minor improvements.
- Simple filesystem transport withh less memory usage.
- Fix critical bug with cached C strings;
- Memory usage optimizations.
- Source file size limit.
- More memory usage optimizations.
- Optimized memory usage. Memory usage tweaks.
Vary
header is set when WebP detection, client hints or GZip compression are enabled.- Health check doesn't require
Authorization
header anymore.
- Sentry support (thanks to @koenpunt).
- Syslog support.
- Fix detection of some kind of WebP images;
- SVG sources support.
- Memory usage optimizations.
- Proper filename in the
Content-Disposition
header.
- Fix support for not animated GIFs.
- ICO support
- When libvips failed to save PNG, imgproxy will try to save is without embedded ICC profile.
- Fixed EXIF orientation fetching.
- Plain source URLs support.
- Serving images from Google Cloud Storage.
- Full support of GIFs including animated ones.
- Watermarks.
- New Relic metrics.
- Prometheus metrics.
- DPR option (thanks to selul).
- Cache buster option.
- Quality option.
- Support for custom Amazon S3 endpoints.
- Support for Amazon S3 versioning.
- Client hints support (thanks to selul).
- Truncated signature support (thanks to printercu).
- imgproxy uses source image format by default for the resulting image.
- Send
User-Agent
header when downloading a source image. - Proper filename in
Content-Disposition
header in the response.
IMGPROXY_MAX_SRC_DIMENSION
is deprecated, useIMGPROXY_MAX_SRC_RESOLUTION
instead.
- Fix URL validation when IMGPROXY_BASE_URL is used.
- Fix smart crop + blur/sharpen SIGSEGV on Alpine.
- Minor fixes.
All-You-Ever-Wanted release! 🎉
- New advanced URL format. Unleash the full power of imgproxy v2.0.
- Presets. Shorten your urls by reusing processing options.
- Serving images from Amazon S3. Thanks to @crohr, now we have a way to serve files from private S3 buckets.
- Autoconverting to WebP when supported by browser (disabled by default). Use WebP as resulting format when browser supports it.
- Gaussian blur and sharpen filters. Make your images look better than before.
- Focus point gravity. Tell imgproxy what point will be the center of the image.
- Background color. Control the color of background when converting PNG with alpha-channel to JPEG.
- Key and salt are not required anymore. When key or salt is not specified, signature checking is disabled.
- Imgproxy calcs resulting width/height automaticly when one specified as zero.
- Memory usage is optimized.
- Disable libvips cache to prevent SIGSEGV on Alpine.
- Improved ETag generation.
- Progressive JPEG and interlaced PNG support.
- Fix autorotation when image is not resized.
- CORS headers.
IMGPROXY_BASE_URL
config.Content-Length
header.
- Request ID in the logs.
- Idle time does not causes timeout.
- Increased default maximum number of simultaneous active connections.