All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Bugfixes
- Fixed
format/2when saving without extension or saving in place - Avoid potential buffer corruption in
create/2 - Windows: Fixed
resize_to_limit/2and faster command invocation
- Fixed
-
Breaking changes
save/2andverbose/1will useconvertandidentifyexecutables instead ofmogrify(except forin_place: truepassed tosave/2). This fixes issues related to ImageMagick 6.9.12-14 and 7.0.11-13 behavior changes, where the input file would get overwritten.
-
Enhancements
- Added
identify/1which works similarly toverbose/1
- Added
-
Bugfixes
histogram/1will parse fractional RGB values- Input file will no longer be overwritten (except for
in_place: truepassed tosave/2) when using ImageMagick 6.9.12-14 or higher, and ImageMagick 7.0.11-13 or higher
-
Breaking changes
create/2andsave/2will throw an error if the ImageMagick command fails
-
Enhancements
- Added configuration options for
mogrifyandconvertexecutable paths. See README.
- Added configuration options for
- Enhancements
- Added support for Plasma via
custom(image, "plasma", ...)combined withcreate/2. See README for an example.
- Added support for Plasma via
- Bugfixes
- Create intermediate missing directories instead of silently failing
save/2andcreate/2 - Fix for
custom(image, "annotate", ...)with multi-word text - Skip Pango unit tests if Pango not installed
- Create intermediate missing directories instead of silently failing
-
Enhancements
- Added
quality/2
- Added
-
Bugfixes
- Fix commands on Windows
-
Enhancements
- Added
:bufferand:intooptions tocreate/2(notsave/2; see #56). Allows writing to an in-memory buffer, or other Collectable of your choice, instead of a file. - Added
Image.bufferfield
- Added
-
Bugfixes
- Allow nil
Image.pathwithcreate/2, helps when creating images from scratch with Pango
- Allow nil
- Fix
histogram/1for RGBA images
-
Breaking changes
- Requires Elixir 1.2 or higher
-
Enhancements
- Added support for Pango via
custom(image, "pango", ...)combined withcreate/2. See README for an example.
- Added support for Pango via
- Added
histogram/1
- Fix Erlang 19 compiler warning
- Fix hang with options without params (such as
-auto-orient)
- Fix Elixir 1.4 warnings
- Fix test failures on OS X
- Fix for spaces in file paths
- Fix for
custom/3handling of options and params with whitespace
-
New functions
create/2usesconvertCLI tool to create a new image from scratch, without requiring a base image. See mogrify_draw for an example use case.
-
Enhancements
custom/3supports "plus-form" arguments, e.g.custom(image, "+raise", 50)
-
Breaking changes
Image.widthandImage.heightare now integers instead of binaries
-
Enhancements
verbose/1no longer modifies the input file- Added
Image.frame_countinteger field for animated images, set byverbose/1
verbose/1now sets theImage.animatedfield for images containing multiple frames
- Fixed Elixir 1.3 compiler warnings
- Added
gravity/2, for example:gravity(image, "Center")
-
Breaking changes
- Mogrify 0.3 now defers commands and bulk executes them when calling
save/2. You must callsave/2for any operations to take place. save(image)by default creates a temporary filesave(image, in_place: true)gets the old behavior of overwriting the existing filesave(image, path: "/some/destination.jpg")lets you specify the path to write the new file
- Mogrify 0.3 now defers commands and bulk executes them when calling
-
New functions
auto_orient/1corresponding tomogrify -auto-orientcustom/3letting you run arbitrary commands, for example:custom(image, "gaussian-blur", 5)
-
Bugfixes
- Fixed
mix testfailures on Windows - Avoid dirty Git working directory when running
mix test
- Fixed
-
Misc
- Mogrify is now licensed under the MIT License