# 0.4.0 – friendlier API
* Lazy-loading of provider configuration is done in a way that does not require
  the user to keep a mutable reference to `AMT`.
* The configuration is moved to a separate struct `AMTConfiguration`.
  This reduces the risk of API-breaking changes in the future.
* `AMT::get` uses `Path` now for the input file instead of a String.
  It's used as a `Path` internally anyway and gives users an easier interface.
  Turning strings into `Path` instances is more straightforward than creating a string
  from a `Path`.

# 0.3.0 – thumbs for anything
* Use “providers” to create thumbs for files other than images
* Implement providers for PDF, PS, SVG, and many video types
* Allow definition of custom providers in a YAML file
Implements #13 and related issues.

# 0.2.0 – richer API
* Add switch `--extensive` to print out additional information, incl. thumb meta-data (#21)
* Write AMT version to thumb meta data (#20)
* Annotate applied re-orientation to thumb meta data (#24)
* Write dimension of input image to thumb meta data
* Provide thumb URI hash on API (#26)
* Provide thumb meta data on API (#25)
* Significant refactoring of the code structure (#37)

# 0.1.0 – make it proper
* Abort with error on non-regular file input (#22)
* Use `warn` log level by default (#33)

This solves milestone %1 (basic compliance to the freedesktop.org standard and basic robustness).

# 0.0.7 – moving to a new home
* Repository moved to [new location](https://gitlab.com/allmytoes/allmytoes)
* Smaller binary size
* Provide binaries on GitLab's release page (experimental)

# 0.0.6 – better dealing with image sizes
Proper handling of small input images and refactoring of behavior and code.
* Change of thumb-creation strategy.
  AMT does not create all thumb sizes anymore.
  Instead, only the size to be returned size is created, if it does not exist.
  For re-consideration of a similar feature, #29 has been created.
* Thumbs are never larger than the original image. (Solves #15)
* AMT picks the most feasible size for small images when the requested thumb size does not exist.
  Therewith, introduced the `-F` switch.
  (See [this comment](https://gitlab.com/DLF/allmytoes/-/issues/15#note_1592136996).)
* Remove `--debug` option (needs to be done in a better way, #28)
* Refactor structure of functions in `allmytoes.rs`
* Introduce a struct to cover all config options


# 0.0.5 – EXIF orientation
Evaluate EXIF orientation of JPEG and TIFF input files and re-orientate thumbnails accordingly. (#4)


# 0.0.4 – standard conformity
Implements a few missing requirements from the freedesktop.org standard
and adds a test suite.
* All thumbs are 8 bit per channel with an alpha channel (#16 and #14)
* Don't create thumbs for thumbs (#18)
* Create the `thumbnail` sub-directory in the cache directory if it does not exist
* Created directories have permissions 700 (#6)
* Created thumbnail files have permissions 600 (#6)
* In case of an error, the exit code of AllMyToes is error specific and not simply `1` for all kind of errors
* BDD test suite added


# 0.0.3 – MIME-sniffing
Adds MIME sniffing support. AMT does not depend on file extensions anymore.
* Decoding by MIME sniffing:
  If the source file can't be decoded based on the file extension (missing or wrong one), the file format is actively probed (#3)
* MIME type of file is annotated in a tEXt chunk of the thumbs like suggested by the freedesktop.org standard (#5)


# 0.0.2 – first bug
Bugfix release.
* Fix endianness bug (#1) which messed up 16 bit-per-color thumbs
* Add `--force-creation` switch
* Changed interface for lib-usage


# 0.0.1 – first feature
Initial release. Providing thumbs for images works.

