View Source Changelog

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.

0-9-3-2023-05-30

0.9.3 (2023-05-30)

  • Enhancements

    • Added limit/2 and limit/3 to set pixel cache limits (#112)
  • Bugfixes

    • Fix for custom(image, "morphology", ...) multi-word parameters (#114)

0-9-2-2022-06-24

0.9.2 (2022-06-24)

  • Enhancements
    • Added :format option to identify/2 (#109)

0-9-1-2021-07-06

0.9.1 (2021-07-06)

  • Bugfixes
    • Fixed format/2 when saving without extension or saving in place
    • Avoid potential buffer corruption in create/2
    • Windows: Fixed resize_to_limit/2 and faster command invocation

0-9-0-2021-07-03

0.9.0 (2021-07-03)

  • Breaking changes

    • save/2 and verbose/1 will use convert and identify executables instead of mogrify (except for in_place: true passed to save/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/1 which works similarly to verbose/1
  • Bugfixes

    • histogram/1 will parse fractional RGB values
    • Input file will no longer be overwritten (except for in_place: true passed to save/2) when using ImageMagick 6.9.12-14 or higher, and ImageMagick 7.0.11-13 or higher

0-8-0-2020-08-10

0.8.0 (2020-08-10)

  • Breaking changes

    • create/2 and save/2 will throw an error if the ImageMagick command fails
  • Enhancements

    • Added configuration options for mogrify and convert executable paths. See README.

0-7-4-2020-06-08

0.7.4 (2020-06-08)

  • Enhancements
    • Added support for Plasma via custom(image, "plasma", ...) combined with create/2. See README for an example.

0-7-3-2019-08-19

0.7.3 (2019-08-19)

  • Bugfixes
    • Create intermediate missing directories instead of silently failing save/2 and create/2
    • Fix for custom(image, "annotate", ...) with multi-word text
    • Skip Pango unit tests if Pango not installed

0-7-2-2019-03-12

0.7.2 (2019-03-12)

  • Enhancements

    • Added quality/2
  • Bugfixes

    • Fix commands on Windows

0-7-0-2018-12-14

0.7.0 (2018-12-14)

  • Enhancements

    • Added :buffer and :into options to create/2 (not save/2; see #56). Allows writing to an in-memory buffer, or other Collectable of your choice, instead of a file.
    • Added Image.buffer field
  • Bugfixes

    • Allow nil Image.path with create/2, helps when creating images from scratch with Pango

0-6-1-2018-05-08

0.6.1 (2018-05-08)

  • Fix histogram/1 for RGBA images

0-6-0-2018-04-17

0.6.0 (2018-04-17)

  • Breaking changes

    • Requires Elixir 1.2 or higher
  • Enhancements

    • Added support for Pango via custom(image, "pango", ...) combined with create/2. See README for an example.

0-5-6-2017-08-12

0.5.6 (2017-08-12)

  • Added histogram/1

0-5-5-2017-07-27

0.5.5 (2017-07-27)

  • Fix Erlang 19 compiler warning

0-5-4-2017-01-20

0.5.4 (2017-01-20)

  • Fix hang with options without params (such as -auto-orient)

0-5-3-2017-01-07

0.5.3 (2017-01-07)

  • Fix Elixir 1.4 warnings
  • Fix test failures on OS X

0-5-2-2016-12-31

0.5.2 (2016-12-31)

  • Fix for spaces in file paths

0-5-1-2016-11-19

0.5.1 (2016-11-19)

  • Fix for custom/3 handling of options and params with whitespace

0-5-0-2016-10-14

0.5.0 (2016-10-14)

  • New functions

    • create/2 uses convert CLI tool to create a new image from scratch, without requiring a base image. See mogrify_draw for an example use case.
  • Enhancements

    • custom/3 supports "plus-form" arguments, e.g. custom(image, "+raise", 50)

0-4-0-2016-08-23

0.4.0 (2016-08-23)

  • Breaking changes

    • Image.width and Image.height are now integers instead of binaries
  • Enhancements

    • verbose/1 no longer modifies the input file
    • Added Image.frame_count integer field for animated images, set by verbose/1

0-3-3-2016-08-01

0.3.3 (2016-08-01)

  • verbose/1 now sets the Image.animated field for images containing multiple frames

0-3-2-2016-06-30

0.3.2 (2016-06-30)

  • Fixed Elixir 1.3 compiler warnings

0-3-1-2016-06-15

0.3.1 (2016-06-15)

  • Added gravity/2, for example: gravity(image, "Center")

0-3-0-2016-05-12

0.3.0 (2016-05-12)

  • Breaking changes

    • Mogrify 0.3 now defers commands and bulk executes them when calling save/2. You must call save/2 for any operations to take place.
    • save(image) by default creates a temporary file
    • save(image, in_place: true) gets the old behavior of overwriting the existing file
    • save(image, path: "/some/destination.jpg") lets you specify the path to write the new file
  • New functions

    • auto_orient/1 corresponding to mogrify -auto-orient
    • custom/3 letting you run arbitrary commands, for example: custom(image, "gaussian-blur", 5)
  • Bugfixes

    • Fixed mix test failures on Windows
    • Avoid dirty Git working directory when running mix test
  • Misc

    • Mogrify is now licensed under the MIT License