Releases: thumbor/thumbor
Release 6.5.0
Changelog
There's an automated conversion from PNG to JPEG if the source image has no transparency. In order to enable this feature, there's a new flag called AUTO_PNG_TO_JPG that must be set to True in your thumbor.conf file.
WARNING
Enabling this behavior may lead to degradation of the image, or increase in final size. Usually images with texts, or dark images may experience this behavior. You should evaluate that this is a good choice for your own use case. At globo.com, we deal mostly with photos and this category of images renders itself very well to this type of conversion.
Features
- Enabling auto PNG to JPEG conversion (@caeugusmao) (@rfloriano)
Tks @heynemann and @kkopachev for conversations and suggestions!
Release 6.4.3
Changelog
Improvements
- Defensive code to run optimizers (@caeugusmao)
- Optimize travis build: static ffmpeg and pyexiv2 from sources(@kkopachev)
- Add adaptive and full fit-in documentation(@cristiandean)
- Update available detector documentation (@Enalmada)
- Allow Pillow up to 5.1(@kkopachev)
- Allowing the usage of environment variables to override configs(@caeugusmao)
- Bump minimal pillow version to 4.3 to remove 16b tiff load workaround(@kkopachev)
Bug fixes
- Fix expiry check in file storage (@eax64)
- Return a 404 if a request tries to fetch a dir (@shabadoo75)
- Don't decode twice and encode unnecessarily (@savar)
- Fail silently on piexif errors(@nicolaspanel)
- Fix blur filter with zero value(@cristiandean)
Release 6.4.2
Changelog
Improvements
- Optimize resizing of some jpegs using pillow draft (@kkopachev)
Bug fixes
- Fix Context object memory leak caused by circular references (@kkopachev)
- Bring back 'headers' context property as it is used by result storages (@kkopachev)
- Fix posterization issues for P mode PNG without transparency (and with) (@kkopachev)
- Check for quantization method existence in pillow before use (@kkopachev)
Release 6.4.1
Changelog
Improvements
- Default HTTP Loader now returns response headers in metadata (@heynemann)
Bug fixes
- fix issues with the jpegtran optimizer and the epoll IOLoop (@savar)
Maintenance & Python 3 support
- replaced the deprecated library dlitz/pycrypto by legrandin/pycryptome (@afbase)
- fixing codacy trailing space issue (@afbase)
- using proper ubuntu apt repository in travis (@heynemann)
Documentation
- Fix upscale example in the documentation (@Kmaschta)
Release 6.4.0
Changelog
Warning
This release has a breaking change if you are using the distributed collage filter. We did not update the major version number, though, because this is an undocumented filter.
It introduces hard dependencies on OpenCV and NumPy that should not be there in the first place. Other than that, thumbor is engineered to allow dependencies to be injected depending on each use case.
If you require the distributed collage filter, it's very simple to keep using it. Just check the instructions at the new repo at: https://github.com/globocom/thumbor-distributed-collage-filter
We are working hard to reduce thumbor's codebase as it is a tough job keeping a codebase, that does as much as thumbor does, since 2011 and still improving. We require the help of the whole community in ensuring this is the case and have been very fortunate so far.
There are many very talented individuals that work with us to ensure thumbor keeps evolving and improving. We wholeheartedly thank you and welcome new contributors to step forward and help us keep trailing the continuous improvement path we're in.
Features
- #905 Add manual garbage collection to free memory (@okor)
- #878 Add new filter
upscale()[fixes #726 #856] (@savar) - #908 Add new timeout setting if using curl HTTP client (@savar)
- #907 Add
background_coloroption to gifv (@okor) - #940 Add new
strip_exiffilter in order to remove exif on demand (@franek) - #928 Add the ability to return custom HTTP error code (@gi11es)
- #963 Add options to allow header forwarding for the HTTP_Loader (@asvinours)
- #890 Add options for watermark resizing relative to image [fixes #874] (@savar)
Improvements
- #892 Improve the way to determine extention using the content detection (@savar)
- #902 Jpegtran now preserves ICC profile if not forced to strip (@kkopachev)
- #934 Pillow 4.X is now allowed [fixes #931] (@kkopachev)
- #886 Resync BaseEngine API with existing implementations (@savar)
- 98d90b0 Improve the red eye filter based on cv2/cv3 (@kkopachev)
Bug fixes
- #877 Fix issue with full-fit-in and requested width/height (@savar)
- #883 Fix exception with smart detection + gif + meta endpoint (@savar)
- #890 Fix watermark resizing relative to image [fixes #874] (@savar)
- #901 Fix race condition for preserving exif data (@mb-m)
- 4bb3da9 Fix memory usage explosion [fixes #753] (@SergioJorge)
- #887 Fix
_composite.applywith bigger source images (@savar) - 58d4bb9 Fix resize causing transparency loss on paletted images [fixes #987 #945 #943] (@kkopachev)
- #995 Fix exception thrown when
fit-inand requested size has "orig" (@kkopachev) - #995 Fix transformer tests and fix exception thrown when fit-in + requested size has "orig" (@kkopachev)
- #997 Fix the error when combining watermark with an S3 loader [fixes #996] (@gingerlime)
Maintenance & Python 3 support
- #948 print(), xrange(), unicode(), basestring, exception changes for Python 3 (@raphamorim)
- #961 Define unicode() for Python 3 (@cclauss)
- #973 Remove useless IGNORE_DECODING_ERRORS constant (@homm)
- #975 Improve Travis build time (@marcelometal)
- #977 Remove debian folder (@marcelometal)
- #970 Add a Travis build to test linting (@marcelometal)
- #982 Replaced 'pexif' dependency with 'piexif' (@marcelometal)
- #983 Fixed urllib Python 2 and 3 compatibility (@marcelometal)
- 1d5ecf1 Update noise filter test image to be png, so SSIM will work (@kkopachev)
- #974 Fix some tests, improve Travis builds & Python 3 support (@kkopachev)
Documentation
- #947 Fix typos in the documentation (@crowchirp)
- #953 Add convenience links to docs in README.mkd (@combs)
- #958 Add 5.0.5 to 6.3.2 from GitHub releases to the CHANGELOG (@pda)
- #960 Remove Python 2.6 from documentation (@cclauss)
- #981 Fix links on the getting started guide (@marcelometal)
- #1014 Add precisions on "How to upload images" documentation (@tomsaleeba)
- #1026 Add Bumbo to Libraries (@guilhermearaujo)
Thanks @Kmaschta and @sgoger for the hard work towards releasing this version.
6.3.2
Release 6.3.1
Features:
- Raises error only when gifsicle returns empty result, logs any gifsicle errors/warnings
Release 6.3.0
Features
- New
background_colorfilter (thanks @hermanmaritz – #875) - Enable
xheadersfor Tornado, allowing discovery of the true client IP at the Thumbor level when behind a proxy (thanks @gi11es – #847) - Allow specifying
validate_certto Tornado via the newHTTP_LOADER_VALIDATE_CERTSconfig variable (default isNone) (thanks @kkopachev – #751) - Allow specifying PNG compression level by means of the
PNG_COMPRESSION_LEVELconfig variable (default is6) (thanks @dkhabarov – #825)
Fixes / Improvements
- Fix reorientation when no Exif information is available (thanks @seffenberg-naspers – #849)
- Fix a quality loss issue by removing the
draftoption so PNGs get colorspace converted before resizing operations (thanks @okor – #858) - Convert 1bit PNGs before resizing (thanks @kevin1024 – #859)
- Make
Transformer.smart_detect()a coroutine and fix issues with S3 storage (thanks @mpilar and @decebal – #859, #721 and #722) - Improve SVG detection and conversion
- Improve the
distributed_collagefilter - Fix unhandled
'NoneType' object has no attribute 'mode'detector exceptions (thanks @mvdklip – #841) - Return
400 - Bad Requeston watermark errors (thanks @noamsml and @nerdrew – #854) - Convert indexed color images back to their original mode after resizing (thanks @okor – #873)
- Do not hang request on
Engine.read()exceptions (thanks @savar – #871) - Do not hang request on
Storage.get()exceptions
Docs
Release 6.1.4
Features:
- Fix: Catching exception in ThreadPool to force callback to be executed
- Raises error when gitsicle returns error in GifEngine