Release Notes

1.7.55

πŸ› Bug Fixes

  • api: fixes a regression that prevented gif files from being used as sources

1.7.54

πŸ› Bug Fixes

  • api: fixes a regression with refit-cover dimensions

1.7.53

πŸ› Bug Fixes

  • api: makes refit margins entirely accurate even with a mix of pixels and percentages
  • api: fixes a bug that prevented video handling when the first frame timestamp was not close to zero

πŸš€ Features

  • api: makes it possible to scale watermarks through path configuration
  • api: makes it possible to prevent upscaling of images through path configuration
  • api: adds colorize transformation
  • api: adds noop transformation
  • api: enables alpha masking through path configuration

1.7.52

πŸš€ Features

  • api: adds refit-inside transformation
  • api: refit is now an alias of refit-cover for consistency
  • api: adds anchoring to cover transformation
  • api: makes border handling much more consistent even when the end product falls outside the bounds of the original image

πŸ› Bug Fixes

  • api: fixes a bug that prevented flipping a video when dimensions were not even
  • script: fixes a bug that prevented globally configured class from starting with the letter s

1.7.49

  • api: adds non-media assets filtering through path configuration
  • api: adds referrer filtering through path configuration

1.7.48

  • api: now takes video rotate metadata into account
  • api: makes sure previews are not indexed by search engines

1.7.47

πŸ› Bug Fixes

  • api: fixes a regression with refit margins

1.7.46

πŸš€ Features

  • api: adds download transformation

πŸ› Bug Fixes

  • api: takes video aspect-ratio metadata into account

1.7.45

πŸ› Bug Fixes

  • api: upgrades libwebp to neuter zero-day vulnerability

1.7.44

πŸ› Bug Fixes

  • api: prevents crashes when using refit and background=remove on videos

1.7.43

πŸ› Bug Fixes

  • api: fixes a bad interaction between anchors and the focus transformation

1.7.42

πŸš€ Features

  • api: adds blurhash output

1.7.39

πŸš€ Features

  • api: adds video slicing transformations (from, to and duration)
  • api: adds background removal through background=remove

1.7.38

πŸ› Bug Fixes

  • script: fixes a regression that made compound shortcuts (contain-max, contain-min, etc) unusable

1.7.35

πŸ› Bug Fixes

  • api: fixes a regression that had quality simply ignored for videos

1.7.34

πŸ› Bug Fixes

  • api: fallback images now have much shorter cache retention

πŸš€ Features

  • api: optimizes performance of AI-related transformations for multiple variants of the same source media
  • api: optimizes previews generation
  • api: changes quality interpolation based on output format so that quality scale is more cohesive throughout all formats

1.7.33

πŸ› Bug Fixes

  • api: ensures non-media assets have a proper cache-control header

1.7.32

πŸ› Bug Fixes

  • api: stops trusting master images colorspace-related metadata, sometimes they just lie and make our image-processing choke

1.7.31

πŸ› Bug Fixes

  • api: filters out source media content-security-policy header so that it does not break svg-based outputs client-side

1.7.29

πŸ› Bug Fixes

  • api: prevents focus=auto from ending out of bounds in certain situations following a crop
  • script: a regression prevented multiple backgrounds from being handled properly

1.7.28

πŸ› Bug Fixes

  • script: a regression prevented the path option from being taken into consideration when generating URLs

1.7.27

πŸš€ Features

  • script: media path can now be specified using the media: and video: protocols in addition to image:

1.7.25

πŸš€ Features

  • admin: limits of master media in both bytes and pixels can be overridden
  • admin/api: adds encrypted paths to manipulate arbitrary URLs
  • script: data-twic-src now accepts fully qualified TwicPics URLs

πŸ› Bug Fixes

  • api: makes inside truely chainable
  • api: turn is now compatible with inside
  • script: properly detects implicit dimensions even when width and/or height attributes are set
  • script: more search engine bots will trigger data-twic-bot

1.7.24

πŸš€ Features

  • api: adds inside transformation which works similarly to contain but with added borders
  • api: adds border transformation to set color of inside borders
  • api: adds achromatopsia, deuteranopia, protanopia and tritanopia experimental color blindness filters
  • api: adds anchors as possible focus values (left, bottom-right, etc)
  • script: adds data-twic-intrinsic to limit the number of variants and prevent upscaling

1.7.18

πŸš€ Features

  • api: adds blank output to create lightweight, empty versions of images

1.7.16

πŸš€ Features

  • script: ensures step is always at minimum 100 pixels for videos

1.7.13

πŸ› Bug Fixes

  • script: dynamic style changes are taken into account more eagerly

πŸš€ Features

  • api: adds support for h265 and vp9 output video codecs
  • script: adds data-twic-eager marker to bypass lazy loading on a per-element basis

1.7.12

πŸ› Bug Fixes

  • script: now properly detects shadow roots

1.7.11

πŸš€ Features

  • admin: removes watermark modes none and tile
  • admin: removes watermark dpr property
  • api: deprecates dpr transformation
  • api: adds debug transformation
  • script: adds debug mode

πŸ› Bug Fixes

  • script: step now limits upscales to 10% which enhances visuals for smaller images

1.7.9

πŸ› Bug Fixes

  • script: stops using IntersectionObserver on browsers that implement it poorly

1.7.8

πŸ› Bug Fixes

  • api: ensures fallbacks are not kept in the CDN for more than 30 minutes

1.7.7

πŸ› Bug Fixes

  • api: flip and turn should no longer create stretched results

1.7.6

πŸš€ Features

  • script: adds data-twic-bot as an alternative to data-twic-transform for Google and Bing bots
  • script: adds path configuration so that prepending srcs for an entire page is not a chore anymore

1.7.5

πŸ› Bug Fixes

  • admin/api: fixes a bug in format handling when a default manipulation was set

1.7.4

πŸš€ Features

  • admin: video can be enabled on a path basis
  • api: adds image output so that extracting an image from a video can leverage webp support detection

πŸ› Bug Fixes

  • api: fixes an issue where image with transparent background could be slightly degraded
  • api: fixes refit syntax so as to be compatible with attribute splitting
  • api: turn=left and turn=right were inadvertendly switched
  • script: ensures multiple values in data-twic-focus, data-twic-step and data-twic-transform do not break srcs and posters

1.7.3

πŸ› Bug Fixes

  • api: fixes meancolor output
  • api: properly issues a 403 response rather than a 500 response when a bad token was used
  • script: fixes a bug in Safari with image elements that had a title attribute

1.7.2

πŸ› Bug Fixes

  • api: exif orientation was not properly taken into account when resizing

1.7.0

πŸš€ Features

  • api: adds video src handling
  • api: adds flip and turn transformations

1.6.20

πŸ› Bug Fixes

  • script: fixes a bug in older Safaris when CSS returned auto as a size

1.6.19

πŸš€ Features

  • api: adds refit transformation

πŸ› Bug Fixes

  • script: fixes flickering issues (image changing size continously)

1.6.18

πŸš€ Features

  • api: adds support for video element poster attribute using data-twic-poster-* attributes
  • api: adds generic attributes shared amongst src, background and poster: data-twic-focus, data-twic-step and data-twic-transform

1.6.16

πŸš€ Features

  • api: adds maincolor, meancolor and preview outputs

1.6.15

πŸ› Bug Fixes

  • api: rounds crops much more reliably and gracefully handles subpixel crops

1.6.14

πŸš€ Features

  • script: adds data-twic-* attributes as an alternative to using a class
  • script: makes script configurable through query string

1.6.13

πŸ› Bug Fixes

  • api: fixes lost focus when cropping with no origin
  • api: fixes a rare but nasty bug when cropping with origin

1.6.12

πŸ› Bug Fixes

  • api: fixes a crash on save with CMYK JPEGs

1.6.11

πŸš€ Features

  • api: properly blends multiple background colors

πŸ› Bug Fixes

  • api: stops checking origin SSL certificates
  • api: fixes color parsing

1.6.10

πŸš€ Features

  • api: boolean expressions can be specified with more keywords

1.6.8

πŸš€ Features

  • api: adds possibility to specify alpha in color using short or long hexa for short/long hexa colors (like fff8 or f0a5d142)

πŸ› Bug Fixes

  • api: fixes subpixel resizing

1.6.3

πŸ› Bug Fixes

  • api: re-enables CORS (was broken by a typo)
  • api: fixes bad extract area error for watermarks
  • api: fixes artefacts around translucency edges when resizing
  • script: properly detects detached elements to avoid nasty exception

1.6.2

πŸ› Bug Fixes

  • api: fixes token-based sources

1.6.1

πŸ› Bug Fixes

  • script: fixes bad sizing of flex elements

1.6.0

πŸš€ Features

  • admin: adds watermarking
  • admin: adds fallback support in case of 4xx errors
  • api: overall performance boost
  • api: much enhanced focus=auto
  • api: introduces focus=faces
  • api: adds heif and avif support

πŸ› Bug Fixes

  • script: much better dimension computations across the board

1.5.10

πŸ› Bug Fixes

  • script: properly estimates auto dimensions for loading=lazy images

1.5.9

πŸ› Bug Fixes

  • script: properly compute bottom and right

1.5.8

πŸ› Bug Fixes

  • admin: Accept-Encoding can be overidden from path configuration

1.5.7

πŸš€ Features

  • api: adds Timing-Allow-Origin to CORS headers
  • script: ensures minimum support for gimped/older browsers (like SlimBoat)

πŸ› Bug Fixes

  • script: properly determines min/max width when parent is inline

1.5.6

πŸš€ Features

  • api: accepts corrupted images and transform them anyway
  • api: sets CORS headers wide open

1.5.4

πŸ› Bug Fixes

  • script: fixes parent sizing computation
  • script: fixes auto dimensions detection
  • script: fixes multiple backgrounds for all supported browsers

1.5.3

πŸ› Bug Fixes

  • script: avoids intermittent race condition between DOM readyness and getting anticipation value

1.5.2

πŸ› Bug Fixes

  • script: fixes readyState check for old IEs so that the script can be dynamically inserted during DOM parsing and actually work

1.5.0

πŸš€ Features

  • api: adds math functions
  • api: much enhanced focus=auto
  • api: outputs 8-bits pngs by default and introduces truecolor transformation
  • script: now supports max-width, max-height, min-width, and min-height

πŸ› Bug Fixes

  • api: fixes grammar so that expressions like max=-x615 are valid as they should
  • api: properly handles ICC profiles
  • script: handles cases of floating containers not having proper sizing
  • script: properly cleans up DOM-attached data

1.4.0

πŸš€ Features

  • script: adds anticipation config

πŸ› Bug Fixes

  • api: fixes random crop outside errors
  • api: properly follows origin server redirections

1.3.0

πŸš€ Features

  • api: adds new query-based syntax
  • api: adds x-twicpics-source and x-twicpics-quality response headers

πŸ› Bug Fixes

  • api: issues a 502 response rather than a 422 reponse when source image size is too large
  • api: ensures consistent vary for both 200 and 304 responses
  • api: removes TwicPics user agent for requests to the origin server
  • script: fixes false URLs in background transformations when a background has a transformation but no size

1.2.11

πŸ› Bug Fixes

  • api: forwards 404 and 410 responses

1.2.10

πŸš€ Features

  • api: issues 504 responses when origin server times out

1.2.8

πŸš€ Features

  • api: adds support for Save-Data and ECT headers

πŸ› Bug Fixes

  • api: rationalizes headers management from and to the origin

1.2.7

πŸš€ Features

  • api: adds zoom transformation

πŸ› Bug Fixes

  • api: makes cover with ratio consistent with cover with pixels

1.2.4

πŸ› Bug Fixes

  • api: removes trailing double quotes from access-control-allow-methods

1.2.3

πŸ› Bug Fixes

  • api: allows WebP as an input format

1.2.2

πŸ› Bug Fixes

  • api: lets animated gifs pass through as is

1.2.1

πŸ› Bug Fixes

  • api: gzips scripts