Rename IMGPROXY_ENABLE_*_DETECTION configs to IMGPROXY_AUTO_*

This commit is contained in:
DarthSim
2024-12-08 19:26:58 +03:00
parent 3f4edb91f7
commit 90e5f19a6e
5 changed files with 36 additions and 19 deletions

View File

@@ -3,10 +3,14 @@
## [Unreleased]
### Add
- Add JPEL XL (JXL) support.
- Add [IMGPROXY_ENABLE_JXL_DETECTION](https://docs.imgproxy.net/latest/configuration/options#IMGPROXY_ENABLE_JXL_DETECTION), [IMGPROXY_ENFORCE_JXL](https://docs.imgproxy.net/latest/configuration/options#IMGPROXY_ENFORCE_JXL), and [IMGPROXY_JXL_EFFORT](https://docs.imgproxy.net/latest/configuration/options#IMGPROXY_JXL_EFFORT) configs.
- Add [IMGPROXY_AUTO_JXL](https://docs.imgproxy.net/latest/configuration/options#IMGPROXY_AUTO_JXL), [IMGPROXY_ENFORCE_JXL](https://docs.imgproxy.net/latest/configuration/options#IMGPROXY_ENFORCE_JXL), and [IMGPROXY_JXL_EFFORT](https://docs.imgproxy.net/latest/configuration/options#IMGPROXY_JXL_EFFORT) configs.
- (pro) Add [objects_position](https://docs.imgproxy.net/latest/usage/processing#objects-position) processing and info options.
- (pro) Add [IMGPROXY_OBJECT_DETECTION_SWAP_RB](https://docs.imgproxy.net/latest/configuration/options#IMGPROXY_OBJECT_DETECTION_SWAP_RB) config.
### Changed
- Rename `IMGPROXY_ENABLE_WEBP_DETECTION` to `IMGPROXY_AUTO_WEBP`. The old name is deprecated but still supported.
- Rename `IMGPROXY_ENABLE_AVIF_DETECTION` to `IMGPROXY_AUTO_AVIF`. The old name is deprecated but still supported.
### Fixed
- Fix detecting of width and height of HEIF images that include `irot` boxes.
- Set `Error` status for errorred traces in OpenTelemetry.
@@ -16,6 +20,10 @@
- (pro) Fix detecting of width and height when orientation is specified in EXIF but EXIF info is not requested.
- (pro) Fix watermark shadow clipping.
### Deprecated
- `IMGPROXY_ENABLE_WEBP_DETECTION` config is deprecated. Use `IMGPROXY_AUTO_WEBP` instead.
- `IMGPROXY_ENABLE_AVIF_DETECTION` config is deprecated. Use `IMGPROXY_AUTO_AVIF` instead.
## [3.26.1] - 2024-10-28
### Changed
- (pro) Improve `monochrome` and `duotone` processing options.

View File

@@ -65,11 +65,11 @@ var (
ReturnAttachment bool
SvgFixUnsupported bool
EnableWebpDetection bool
AutoWebp bool
EnforceWebp bool
EnableAvifDetection bool
AutoAvif bool
EnforceAvif bool
EnableJxlDetection bool
AutoJxl bool
EnforceJxl bool
EnableClientHints bool
@@ -267,11 +267,11 @@ func Reset() {
ReturnAttachment = false
SvgFixUnsupported = false
EnableWebpDetection = false
AutoWebp = false
EnforceWebp = false
EnableAvifDetection = false
AutoAvif = false
EnforceAvif = false
EnableJxlDetection = false
AutoJxl = false
EnforceJxl = false
EnableClientHints = false
@@ -494,11 +494,20 @@ func Configure() error {
configurators.Bool(&ReturnAttachment, "IMGPROXY_RETURN_ATTACHMENT")
configurators.Bool(&SvgFixUnsupported, "IMGPROXY_SVG_FIX_UNSUPPORTED")
configurators.Bool(&EnableWebpDetection, "IMGPROXY_ENABLE_WEBP_DETECTION")
if _, ok := os.LookupEnv("IMGPROXY_ENABLE_WEBP_DETECTION"); ok {
log.Warning("IMGPROXY_ENABLE_WEBP_DETECTION is deprecated, use IMGPROXY_AUTO_WEBP instead")
configurators.Bool(&AutoWebp, "IMGPROXY_ENABLE_WEBP_DETECTION")
}
if _, ok := os.LookupEnv("IMGPROXY_ENABLE_AVIF_DETECTION"); ok {
log.Warning("IMGPROXY_ENABLE_AVIF_DETECTION is deprecated, use IMGPROXY_AUTO_AVIF instead")
configurators.Bool(&AutoAvif, "IMGPROXY_ENABLE_AVIF_DETECTION")
}
configurators.Bool(&AutoWebp, "IMGPROXY_AUTO_WEBP")
configurators.Bool(&EnforceWebp, "IMGPROXY_ENFORCE_WEBP")
configurators.Bool(&EnableAvifDetection, "IMGPROXY_ENABLE_AVIF_DETECTION")
configurators.Bool(&AutoAvif, "IMGPROXY_AUTO_AVIF")
configurators.Bool(&EnforceAvif, "IMGPROXY_ENFORCE_AVIF")
configurators.Bool(&EnableJxlDetection, "IMGPROXY_ENABLE_JXL_DETECTION")
configurators.Bool(&AutoJxl, "IMGPROXY_AUTO_JXL")
configurators.Bool(&EnforceJxl, "IMGPROXY_ENFORCE_JXL")
configurators.Bool(&EnableClientHints, "IMGPROXY_ENABLE_CLIENT_HINTS")

View File

@@ -1081,17 +1081,17 @@ func defaultProcessingOptions(headers http.Header) (*ProcessingOptions, error) {
headerAccept := headers.Get("Accept")
if strings.Contains(headerAccept, "image/webp") {
po.PreferWebP = config.EnableWebpDetection || config.EnforceWebp
po.PreferWebP = config.AutoWebp || config.EnforceWebp
po.EnforceWebP = config.EnforceWebp
}
if strings.Contains(headerAccept, "image/avif") {
po.PreferAvif = config.EnableAvifDetection || config.EnforceAvif
po.PreferAvif = config.AutoAvif || config.EnforceAvif
po.EnforceAvif = config.EnforceAvif
}
if strings.Contains(headerAccept, "image/jxl") {
po.PreferJxl = config.EnableJxlDetection || config.EnforceJxl
po.PreferJxl = config.AutoJxl || config.EnforceJxl
po.EnforceJxl = config.EnforceJxl
}

View File

@@ -478,7 +478,7 @@ func (s *ProcessingOptionsTestSuite) TestParsePathStripMetadata() {
}
func (s *ProcessingOptionsTestSuite) TestParsePathWebpDetection() {
config.EnableWebpDetection = true
config.AutoWebp = true
path := "/plain/http://images.dev/lorem/ipsum.jpg"
headers := http.Header{"Accept": []string{"image/webp"}}

View File

@@ -46,7 +46,7 @@ func initProcessingHandler() {
vary := make([]string, 0)
if config.EnableWebpDetection || config.EnforceWebp || config.EnableAvifDetection || config.EnforceAvif {
if config.AutoWebp || config.EnforceWebp || config.AutoAvif || config.EnforceAvif {
vary = append(vary, "Accept")
}