Now that ImageMagick version 7 is released, we continue to maintain the legacy
release of ImageMagick, version 6, at https://legacy.imagemagick.org. Learn how
ImageMagick version 7 differs from previous versions with our porting guide.

We discovered a bug in the pseudo-random generator prior to ImageMagick
7.0.9-11, the first 3 values repeated because the random state was not
initialized properly. As a consequence of the fix, expect a different
numerical sequence when seeding (-seed).

ImageMagick best practices strongly encourages you to configure a security
policy that suits your local environment.

The ImageMagick development process ensures a stable API and ABI. Before each
ImageMagick release, we perform a comprehensive security assessment that
includes memory error, thread data race detection, and continuous fuzzing
to detect and prevent security vulnerabilities.

As an analog to linear (RGB) and non-linear (sRGB) color colorspaces, as
of ImageMagick 7.0.7-17, we introduce the LinearGray colorspace. Gray is
non-linear grayscale and LinearGray is linear (e.g. -colorspace linear-gray).

Want more performance from ImageMagick? Try these options:

  add more memory to your system;
  add more cores to your system;
  reduce lock contention with the tcmalloc memory allocation library;
  push large images to a solid-state drive, see large image support.

If these options are prohibitive, you can reduce the quality of the image
results. The default build is Q16 HDRI. If you disable HDRI, you use half
the memory and instead of predominately floating point operations, you use
the typically more efficient integer operations. The tradeoff is reduced
precision and you cannot process out of range pixel values (e.g. negative). If
you build the Q8 non-HDRI version of ImageMagick, you again reduce the memory
requirements in half-- and once again there is a tradeoff, even less precision
and no out of range pixel values. For a Q8 non-HDRI build of ImageMagick,
use these configure script options: --with-quantum-depth=8 --disable-hdri.
