* release/4.0.2:
Bump version to 4.0.2
Do not leak open files after generation
Fix `ImageCacheFile.__repr__` to not send signals
Make generateimages support pre Django 1.8 versions
generateimages: fix taking arguments
README - use Python 3 print function
In Python 3 files should be opened as binary
Fixed#368 use specs directly in ProcessedImageField
...for now. Eventually, we will want a signal that tells us when sources
are no longer used, however that isn't just limited to when they're
deleted! This new signal should also be dispatched, for example, when
a source image field is set to `None`. Since none of the built-in
strategies are currently using the source_deleted signal, I've decided
to remove it until we have a more complete solution.
As discussed in #214, source_created and source_changed didn't really
have clear definitions. In truth, their names and separation betray
their origins as model receivers in earlier versions. The "source group"
abstraction helped us get away from thinking about things exclusively in
terms of models, but these remained as an artifact.
Differentiating between when the generated file content is required and
when the generated file is just required to exist gives us more
flexibility with strategies.
Changed my mind about 04aa72c1f9. It's
just a better description, even if different strategies can change the
behavior so it isn't really very cache-like.
* develop:
IKContentFile accepts format hint
Additional mimetype utils
Don't get extension of empty filename
Tell people to import fields from the models module
Refactored AutoConvert into prepare_image
Docstring for save_image
Kill PIL's chattiness; fixes#91
PIL bug workaround
Use StringIO instead of temp file
Extract reusable save_image function
Rename SpecFile and move it to utils
Extract suggest_extension util from generator
Woah, globals
Add SpecFile.__unicode__