14 KiB
Changelog
This file contains all notable changes to imageproxy. The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased
0.10.0 (2020-04-02)
Added
- add support for multiple signature keys to support key rotation (ef09c1b, #209, maurociancio)
- added option to include referer header in remote requests (#216)
- added basic support for recording prometheus metrics (#121 benhaan)
Fixed
- improved content type detection for some hosts, particularly S3 (ea95ad9, shahan312)
- fix signature verification for some proxied URLs (3589510, #212, (#215, thanks to aaronpk for helping debug and fieldistor for the suggested fix)
0.9.0 (2019-06-10)
Added
- allow request signatures to cover options (#145)
- add simple imageproxy-sign tool for calculating signatures (e1558d5)
- allow overriding the Logger used by Proxy (#174, hmhealey)
- allow using environment variables for configuration (50e0d11)
- add support for BMP images (d4ba520)
Changed
-
improvements to docker image: run as non-privileged user, use go1.12 compiler, and build imageproxy as a go module.
-
options are now sorted when converting to string. This is a breaking change for anyone relying on the option order, and will additionally invalidate most cached values, since the option string is part of the cache key.
Both the original remote image, as well as any transformations on that image are cached, but only the transformed images will be impacted by this change. This will result in imageproxy having to re-perform the transformations, but should not result in re-fetching the remote image, unless it has already otherwise expired.
Fixed
- properly include Accept header on remote URL requests (#165, 6aca1e0)
- detect response content type if content-type header is missing (cf54b2c)
Removed
- removed deprecated
whitelist
flag andProxy.Whitelist
struct field. UseallowHosts
andProxy.AllowHosts
instead.
0.8.0 (2019-03-21)
Added
- added support for restricting proxied URLs based on Content-Type headers (#141, ccbrown)
- added ability to deny requests for certain remote hosts (#85, geriljaSA)
- added
userAgent
flag to specify a custom user agent when fetching images (#83, huguesalary) - added support for s3 compatible storage providers (#147, ruledio)
- log URL when image transform fails for easier debugging (#149, daohoangson)
- added support for building imageproxy as a go module. A future version will remove vendored dependencies, at which point building as a module will be the only supported method of building imageproxy.
Changed
- when a remote URL is denied, return a generic error message that does not specify exactly why it failed (7e19b5c)
Deprecated
whitelist
flag andProxy.Whitelist
struct field renamed toallowHosts
andProxy.AllowHosts
. Old values are still supported, but will be removed in a future release.
Fixed
0.7.0 (2018-02-06)
Added
- added support for arbitrary rectangular crops (#90, maciejtarnowski)
- added support for tiff images (#109, mikecx)
- added support for additional caching backends:
- added support for EXIF orientation tags (#63, 67619a6)
- added smart crop feature (#55, afbd254)
Changed
- rotate values are normalized, such that
r-90
is the same asr270
(07c54b4) - now return
200 OK
response for requests to root/
(5ee7e28) - switch to using official AWS Go SDK for s3 cache storage. This is a breaking change for anyone using that cache implementation, since the URL syntax has changed. This adds support for the newer v4 auth method, as well as additional s3 regions. (0ee5167)
- switched to standard go log library. Added
-verbose
flag for more logging in-memory cache backend supports limiting the max cache size (a57047f) - docker image sized reduced by using scratch image and multistage build (#113, matematik7)
Removed
- removed deprecated
cacheDir
andcacheSize
flags
Fixed
- fixed interpretation of
Last-Modified
andIf-Modified-Since
headers (#108, jamesreggio) - preserve original URL encoding (#115)
0.6.0 (2017-08-29)
Added
- added health check endpoint (#54, immunda)
- preserve Link headers from remote image (#68, xavren)
- added support for per-request timeout (#75)
- added support for specifying output image format (b9cc9df)
- added webp support (decode only) (3280445)
- added CORS support (#96, romdim)
Fixed
- improved error messages for some authorization failures (27d5378)
- skip transformation when not needed (#64)
- properly handled "cleaned" remote URLs (a1af9aa, b61992e)
0.5.1 (2015-12-07)
Fixed
- fixed bug in gif resizing (gifresize@104a7cd)
0.5.0 (2015-12-07)
Added
- added Dockerfile (#29, sevki)
- allow scaling image beyond its original size with
-scaleUp
flag (#37, runemadsen) - add ability to restrict HTTP referrer (9213c93, connor4312)
- preserve cache-control header from remote image (#43, runemadsen)
- add support for caching images on Amazon S3 (ec96fcb victortrac)
Changed
- change default cache to none, and add
-cache
flag for specifying caches. This deprecates the-cacheDir
flag. - on-disk cache now stores files in a two-level trie. For example, for a file named "c0ffee", store file as "c0/ff/c0ffee".
Fixed
0.4.0 (2015-05-21)
Added
- added support for animated gifs (#23)
Changed
- non-200 responses from remote servers are proxied as-is
0.3.0 (2015-12-07)
Added
- added support for signing requests using a sha-256 HMAC. (a9efefc)
- more complete logging of requests and whether response is from the cache (#17)
- added support for a base URL for remote images. This allows shorter relative URLs to be specified in requests. (#15)
Fixed
- be more precise in copying over all headers from remote image response (1bf0515)
0.2.3 (2015-02-20)
Added
0.2.2 (2014-12-08)
Added
- added
cacheSize
flag to command line
Changed
- improved documentation and error messages
- negative width or height transformation values interpreted as 0
0.2.1 (2014-08-13)
Changed
- restructured package so that the command line tools is now installed from
willnorris.com/go/imageproxy/cmd/imageproxy
0.2.0 (2014-07-02)
Added
- transformed images are cached in addition to the original image (#1)
- support etag and last-modified headers on incoming requests (#3)
- support wildcards in list of allowed hosts
Changed
- options can be specified in any order
- images cannot be resized larger than their original dimensions
0.1.0 (2013-12-26)
Initial release. Supported transformation options include:
- width and height
- different crop modes
- rotation (in 90 degree increments)
- flip (horizontal or vertical)
Images can be cached in-memory or on-disk.