Permalink
Commits on Aug 15, 2017
  1. Allow custom LoaderResult errors

    gi11es committed May 30, 2017
    Being constrained to the hardcoded list is too limiting.
    Using the actual codes is also less prone to confusion.
Commits on Jan 2, 2017
  1. Enable xheaders option for Tornado server

    gi11es committed Jan 2, 2017
    This allows discovery of the true client IP at the Thumbor level when behind a proxy.
Commits on Sep 20, 2016
  1. Implement no-op reorientate in gif engine

    gi11es committed Sep 14, 2016
    Fixes #805
Commits on Sep 15, 2016
  1. Allow loader failures to 500

    gi11es committed Sep 15, 2016
    If a loader error happens and it's not a 404, a 502 nor a 504, currently an AttributeError will happen on that condition, because engine_error doesn't exist for a FetchResult in the loader case.
Commits on Jul 13, 2016
  1. Make app_class definable in config

    gi11es authored and rfloriano committed Jun 10, 2016
    Fixes #747
    
    The command line -a argument overrides the config
    value if both are present.
Commits on Jul 6, 2016
  1. Move integration tests out of the package

    gi11es committed Jul 6, 2016
    There's no reason to have integration tests installed when one installs thumbor.
Commits on Jul 5, 2016
  1. Use generated or freely licensed test images

    gi11es committed Jul 5, 2016
    This replaces a lot of commercial images or images with unknown licensing
Commits on Jun 22, 2016
  1. Remove useless shebang in thumbor.conf

    gi11es committed Jun 22, 2016
    The file's permissions don't show it as executable anyway
Commits on Jun 10, 2016
  1. Make app_class definable in config

    gi11es committed Jun 10, 2016
    Fixes #747
    
    The command line -a argument overrides the config
    value if both are present.
Commits on Jun 3, 2016
  1. Make YCCK sample JPEG smaller and add CMYK JPEG

    gi11es committed Jun 3, 2016
    The existing YCCK image is 1.7MB and has a tendency to
    make the integration tests time out on my VM.
    
    I'm also renaming it, since it's not a CMYK JPEG. And
    I'm adding a proper CMYK JPEG.
Commits on Jun 2, 2016
  1. Make dependency on preggy explicit

    gi11es committed Jun 2, 2016
    Preggy is used a bunch in the Thumbor tests. It probably works right now because some sub-dependencies of Thumbor depend on it too.
    However, minimum version is important, since the test_load_with_utf8_url test in tests.loaders.test_http_loader.HttpLoaderTestCase relies on error_not_to_happen, which was introduced in Preggy 1.3.0.
  2. Relax pycurl version requirement

    gi11es committed Jun 2, 2016
  3. Relax mock version requirement

    gi11es committed Jun 2, 2016
Commits on May 31, 2016
  1. Remove unused python-magic dependency

    gi11es committed May 31, 2016
    No usage of that library found anywhere in the code
  2. Remove unused celery dependency

    gi11es committed May 31, 2016
    No usage of that library found anywhere in the code.
  3. Remove unused hiredis dependency

    gi11es committed May 31, 2016
    No usage of that library found anywhere in the code
  4. Remove unused gevent dependency

    gi11es committed May 31, 2016
    No usage of that library found anywhere in the code
Commits on May 29, 2016
  1. Use pyssim instead of scikit-image for SSIM calculation

    gi11es committed May 29, 2016
    scikit-image is a huge library, with some equally massive dependencies like pandas. It's overkill to use that just to calculate SSIM values, when pyssim can do the same.
    
    This change would simplify debian packaging greatly.
  2. Fix Sentry test error

    gi11es committed May 29, 2016
    It seems like Sentry has changed things around that error once again
Commits on May 19, 2016
  1. Remove Url and Signer classes

    gi11es committed May 19, 2016
    They are now part of libthumbor.
    Also removes the old url option and test,
    as the related code was removed from libthumbor
    some time ago.
Commits on May 11, 2016
  1. Add maximum versions on redis and scipy

    gi11es committed May 11, 2016
    Just in case the next major releases happen to have breaking changes
  2. Relax scipy version requirement

    gi11es committed May 11, 2016
    I don't see why it should be that restrictive. The current
    pinning makes packaging Thumbor needlessly difficult.
  3. Relax redis python client version requirement

    gi11es committed May 11, 2016
    I don't see why it should be that restrictive. The current
    pinning makes packaging Thumbor needlessly difficult.
Commits on May 5, 2016
  1. Add ability for engines to do cleanup on shutdown

    gi11es committed May 5, 2016
    The use case for this is when an engine relies on something
    that needs to be cleaned up on application shutdown.
    
    Currently there is no way for an engine to be aware of
    the application lifecycle. This seems like the most
    lightweight way to let and engine know that application
    shutdown is happening.
  2. Improve separation of concerns between server.py and the Context object

    gi11es committed May 5, 2016
    server.py seems like an odd place to call the thread pool
    cleanup. I intend to add more cleanup logic on shutdown,
    and it felt out of place to add it to server.py.
  3. Remove unused simplejson dependency

    gi11es committed May 5, 2016
    It's not used anywhere and it gets in the way of packaging.
Commits on Mar 21, 2016
  1. Fix setuptools 20.3+ compatibility

    gi11es committed Mar 21, 2016
    setuptools changes the exception being thrown here, again...
Commits on Mar 10, 2016
  1. Fix setuptools 20.2+ compatibility

    gi11es committed Mar 10, 2016
    Fixes #686
Commits on Jan 13, 2016
  1. Remove usage of shell=True

    gi11es committed Jan 13, 2016
    This is a security escalation vector (someone with edit rights for the
    thumbor config could get arbitrary shell execution):
    
    https://docs.python.org/3/library/subprocess.html#security-considerations
  2. Remove usage of shell=True

    gi11es committed Jan 13, 2016
    This is a security escalation vector (someone with edit rights for the
    thumbor config could get arbitrary shell execution):
    
    https://docs.python.org/3/library/subprocess.html#security-considerations
Commits on Dec 29, 2015
  1. Fix source image download race condition

    gi11es committed Dec 29, 2015
    If multiple requests need the same source image around the same time
    and it hasn't been downloaded them, many of those requests might
    load that content at the same time, which can be very wasteful in terms
    of bandwidth and time.
    
    By locking on the URL, we solve that race condition and ensure that
    the content is only downloaded once, with all dependent requests
    resuming their processing as soon as the content is available to them.
Commits on Dec 27, 2015
  1. Re-read storage value to allow for override

    gi11es committed Dec 27, 2015
    The use case I need this for is when a custom loader determines
    that a specific kind of content (eg. videos of a certain size) shouldn't
    be cached. By simply overriding the context's storage value, it can disable
    storage of the original for that request.
Commits on Dec 8, 2015
  1. Exceptions might happen inside engine.load

    gi11es committed Dec 7, 2015
    The example use case I'm running into is a failing subprocess command
    happening in the engine's create_image method. If that happens, there
    is no way to proceed further with the thumbnailing.
Commits on Nov 20, 2015
  1. Add pytz to setup.py

    gi11es committed Nov 20, 2015
    It's a new dependency introduced in 6b7d1d0
Commits on Nov 19, 2015
  1. Avoid image bombs by having a pixel count limit

    gi11es committed Nov 19, 2015
    This leverages PIL's built-in detection of gigantic files. The same would
    have to be done for other engines.
    
    Setting the default to 75MP, which is a sane production value
    according to our experience on Wikimedia Commons.
    
    Fixes #604