- 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.