README.md in httpthumbnailer-1.0.0 vs README.md in httpthumbnailer-1.1.0
- old
+ new
@@ -5,17 +5,28 @@
It is using [ImageMagick](http://www.imagemagick.org) or [GraphicsMagick](http://www.graphicsmagick.org) via [RMagick](http://rmagick.rubyforge.org) gem as the image processing library.
## Features
* thumbnailing images with different aspect ratio keeping methods
+* identification of image foramt and size
* support of many input and output formats
* efficient API for generating multiple thumbnails from single input image with just one request
* many image scaling and loading performance optimizations
* efficient memory usage
* memory limits and disk memory offloading support
* based on [Unicorn HTTP server](http://unicorn.bogomips.org) with UNIX socket communication support
+## Changelog
+
+### 1.1.0
+
+* added identification API for image mime type and size identification
+* stripping user meta data from input image further reducing output image size
+* providing image size headers for input image and all generated thumbnails
+* X-Input-Image-Content-Type header is now deprecated in favour of X-Input-Image-Content-Type
+* not using [ImageMagick](http://www.imagemagick.org) for input image mime type resolution since it is accessing disk and behaves very inefficiently
+
## Installing
You will need the following system packages installed: `imagemagick`, `pkg-config` and `make`.
For PNG support install `libpng`. You may want to consult [ImageMagick](http://www.imagemagick.org) installation guide for more information on supported formats and required libraries.
@@ -138,10 +149,22 @@
2. 4x8 cropped JPEG
3. 16x32 colour padded JPEG
For detailed information about the API see [cucumber features](http://github.com/jpastuszek/httpthumbnailer/blob/master/features/thumbnails.feature).
+#### Identification API
+
+You can identify image mime type, width and height with **PUT** request to URI in format:
+
+ /identify
+
+Server will respond with **JSON** containing **contentType**, **width** and **height** fields:
+
+ {"mimeType":"image/jpeg","width":1239,"height":1750}
+
+For detailed information about the API see [cucumber features](http://github.com/jpastuszek/httpthumbnailer/blob/master/features/identify.feature).
+
### Ruby API client
To make it easier to use this server [httpthumbnailer-client](http://github.com/jpastuszek/httpthumbnailer-client) gem provides useful class.
### Memory limits
@@ -195,11 +218,12 @@
total_requests: 119
total_errors: 1
calling: 1
writing: 0
total_images_loaded: 115
-total_images_prescaled: 30
+total_images_reloaded: 30
+total_images_downscaled: 30
total_thumbnails_created: 147
images_loaded: 0
max_images_loaded: 3
max_images_loaded_worker: 3
total_images_created: 312
@@ -220,9 +244,14 @@
```
## See also
[HTTP Image Store](https://github.com/jpastuszek/httpimagestore) service is configurable image storage and processing HTTP API server that uses this service as thumbnailing backend.
+
+## Known Issues
+
+* When 413 error is reported due to memory limit exhaustion the disk offloading won't work any more and only requests that can fit in the memory can be processed without getting 413 - this is due to a bug in ImageMagick v6.8.6-8 (2013-08-06 6.8.6-8) or less
+* Mime type generated for images may not be the official mime type assigned for given format; please let me know of any inconsistencies or send a patch to get better output in efficient way
## Contributing to HTTP Thumbnailer
* Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet
* Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it