2.7.2
  - Reintroduce a separate image_coalesce() function (cf image_animate)
  - Automatically coalesce gif images when reading by default
  - Fix compatibility with super old ImageMagick for CentOS < 7.7
  - Fix build for ucrt64 on Windows

2.7.1
  - Win/Mac: update to imagemagick 6.9.12-3 + thresholds.xml bugfix.

2.7.0
  - New functions image_shade, image_motion_blur, image_ordered_dither,
    image_level to support ggfx.

2.6.0
  - image_write() gains a compression parameter
  - Updated binaries for Windows/MacOS to ImageMagick-6.9.11-57
  - Added libraw and libheif delegates to Windows/MacOS binaries

2.5.2
  - Fixes for CRAN
  - Remove some accidental files from source pkg

2.5.1
  - Fix encoding bug for image_read() filepaths on Windows
  - Re-allow iter = -1 in image_morphology()
  - Do not require bash in configure script

2.5.0
  - Windows / MacOS: binary packages to imagemagick 6.9.11-32
  - Windows: new imagemagick should work again with latest GhostScript
  - New function image_distort()
  - image_montage() gains a few parameters similar to the command line
  - image_convert() gains a parameter 'interlace' (#269)
  - image_ggplot() no longer inverts y-scale, to avoid bug in R/ggplot2
  - Add 'defines' parameter to image_write (#261)

2.4.0
  - New functions: image_fx_sequence, image_deskew_angle, image_get_artifacts
  - Add 'defines' parameter to image_read and image_blank
  - Print imagemagick version during CMD check
  - Prepare for R_GE_version 13 (R_GE_definitions) by Paul Murrell
  - Try to limit to 2 threads during CMD check, as per CRAN policy
  - Image_blank() gains an options parameter
  - Some tweaks to image_crop() again

2.3
  - Call Magick::InitializeMagick("") before init, fixes crash with openmp on OSX.
  - Double loop fix in image_shadow
  - image_animate() can now optimize animated gifs, by storing only the
    differences between frames.
  - image_animate() can now create animations with variable delays between frames.
  - image_read() now supports cimg objects (from the imager package)

2.2
  - New function image_read_video() to sample images from a video file
  - RStudio: automatic preview now displays max 10 frames at 800px for videos.
    This prevents R from freezing due to rendering large videos in a preview.
    You can override the preview function via options('magick.viewer')
  - New functions image_separate() and image_combine()
  - image_composite() now has separate parameters 'offset' and 'gravity'
  - image_annotate() gains parameters 'kerning' and 'decoration'
  - image_crop() now uses the CropImageToTiles API which is more sophisticated

2.1
  - New website at https://docs.ropensci.org/magick
  - Fix compilation for IM 6.8.8 (Suse Linux 12)
  - Add image_destroy() to release memory immediately without waiting for GC
  - New functions image_shadow() and image_shadow_mask()
  - image_annotate() is now vectorized over the 'text' parameter
  - rewrite image_ggplot() to use ggplot2::annotation_raster for performance
  - image_fill() gains a new argument 'refcolor'
  - the mac binary package now bundles the same fontconfig data as xQuarts to prevent conflicts
  - image_convert() gains a parameter matte to enable/disable the alpha channel
  - image_crop() gains a gravity argument
  - the 'offset' parameter in image_composite() can now also be a gravity type
  - New functions image_extent() and image_shear()
  - image_annotate() gains parameters 'weight' and 'style'
  - Windows: support upcoming GCC 8.x toolchain
  - Windows: fix for reading UTF-8 files in image_read()
  - Ubuntu: mention the new PPA location in readme and configure files
  - MacOS: workaround for OpenMP conflicts when building from source against homebrew IM7.
    This is still not working properly, better build with homebrew imagemagick@6.

2.0
  - Ignore attribute warnings in image_read() instead of error (fixes #134)
  - New functions image_threshold() and image_lat(), tnx Jan Wijffels
  - New functions image_hough_draw() and image_hough_txt()
  - New function image_morphology()
  - New function image_fx() (Jan Wijffels #138)
  - Knitr is now a Suggests package instead of Imports (#150)
  - Set magick temp dir via C instead of env vars
  - Add 'tibble' class to df returned by image_info()
  - Added a rep() method for images

1.9
  - New function image_attributes()
  - MacOS: new autobrew script uses prebuilt static bottle

1.8
  - Export image_read_svg() and image_read_pdf()
  - Add image_raster() (thanks Thomas for the hint)
  - Vectorize and add 'fuzz' parameter to image_compare()
  - Added image_ggplot() with examples of using magick + ggplot2
  - Added 'pseudo_image' parameter to image_blank()

1.7
  - Several fixes for IM7, mostly related to alpha channels
  - Images rendered in knitr/rmarkdown are now stored in 'figures' (#108)
  - Add support for displaying images in Jupyter notebook
  - Export example images: logo, wizard, rose, granite
  - Better mapping of R internal colors to proper RGB strings
  - Added image_orient() to (auto) orient image
  - Add 'density' to image_info()
  - Fixes for Solaris

1.6
  - Automatically repage transformations that may modify image size
  - Added image_repage() to be consistent with command line tool
  - image_composite() now vectorizes over both 1st and 2nd argument
  - Support EBImage S4 Image class in image_read() and as_EBImage()
  - Fix a bug where 1 channel image array would read as 'Green' instead of 'Gray'
  - Include alpha channel in as.raster() for magick images
  - Export image_data() function to export raw bitmap data
  - Round the clipping coordinates to fix problem with 1px edge around graphics
  - Reset clipping area when magick graphics device is closed or starts new page
  - Change default colorspace for image_quantize() to RGB which is safer
  - Breaking: 'fuzz' parameter rescaled to be a percentage (0-100)
  - Add image_strip() as well as 'strip = TRUE' paremeter to image_read()
  - Adding image_blank() to create empty images
  - Graphics device: hardcode font aliases for families used by R, issue #80
  - Better font family lookup in graphics and image_annotate()
  - Switch to DrawableRotation() api for rotation in text and graphics
  - Autobrew: build gdk-pixbuf without modules (for rendering svg with rasters)
  - New functions option_types() and option_values() to list possible options
  - Drop support for GraphicsMagick (it never really worked)
  - RStudio viewer: convert to png for unsupported formats

1.5
  - Add knit_print.magick-image() method so that images automatically appear in knitr docs
  - Adding vignette examples for image_modulate() and image_convolve()

1.4
  - Windows/OSX: update imagemagick fixes a rare png writing bug
  - Set MAGICK_TMPDIR to match R session tempdir() instead of global TMPDIR
  - Explicitly set channels in image_negate() for IM7 compatibility
  - Added image_channel() to extract a single channel from an image
  - Added new image_convolve() function

1.3
  - Automatically import + export magrittr::`%>%` for easy pipelining
  - Fix 'zero-configuration' in magick_config() to use the proper macro
  - BREAKING: image_compare() now returns an image with a 'distortion' attribute
  - Workaround for broken std::string(Magick::Color) in GCC-7

1.2
  - Documentation! Split manuals into meaningful pages
  - Windows / MacOS: update ImageMagick to 6.9.9-9 (fixes a png bug and one for linejoins)
  - Added image_modulate() for setting brightness, saturation, hue
  - Added image_quantize() option for reducing number of colors in an image
  - Added image_resize() which supports custom resize filters
  - image_border() now takes a operator parameter, fixes transparency bug
  - image_write() gains a parameter 'comment' to add metadata to the file
  - image_convert() gain 'type' and 'colorspace' parameters e.g. to convert to grayscale
  - image_animate() has been merged with image_coalesce()

1.1
  - Change default 'bg' in image_graph() to 'white'
  - Fix positioning of rasterImage() when raster image is rotated
  - Use TriangleFilter for interpolating rasterImage()
  - Improve support for 'symbol' fonts (metrics are still not 100%)
  - Rotate text using affine transformations
  - image_composite() gains a 'composite_args' parameter needed for e.g. blend
  - Fix support for demo images e.g. image_read("wizard:") or image_read("logo:")

1.0
  - Vectorize image_draw() (all drawing should be applied to each frame)
  - Rename 'image_device' to 'image_graph'
  - Add 'antialias' parameter to image_graph() and image_draw() and image_convert()
  - New function image_apply() to apply a transformation to each frame individually
  - New function image_ocr() for easy text extraction
  - Added image_despeckle(), image_median(), image_reducenoise() (tnx Noam Ross)
  - image_background() now flattens each frame by default
  - Support dev.capture() for in image_graph() and image_draw() device
  - Support type nativeRaster, raster, and matrix in image_read()
  - Drawing rasters reimplemented DrawableCompositeImage()
  - OSX: Fix performance issue with font caching
  - Windows: Fix performance issue with font rendering
  - Windows: Add back support for gcc-4.6.3 on Windows

0.5
  - NEW: native graphics device for producing images! See ?magick_device
  - NEW: easy drawing on top of images using magick_draw()
  - Windows: updated build to 6.9.9-3
  - Various fixes to support upcoming IM7 (IM6 is still recommended)
  - Update vignette with new features

0.4
  - Extract autobrew script

0.3
  - Add [<-.magick-image to support for assigning layers to image by index
  - Revert Windows build to ImageMagick 6 because IM7 is too buggy
  - Add plot(image) method
  - Added intro vignette

0.2.2
  - Try again to fix the mac binary package
  - Switch the Windows package to ImageMagick 7

0.2.1
  - Try to fix the mac binary package

0.2
  - Build binary package on macOS --with-zero-configuation (fixes "config xml file" errors).
  - image_read now reads straight from disk rather than via R.
  - Add as.raster() method for images
  - image_write gains a 'flatten' argument
  - Lots of small tweaks here and there

0.1
  - Initial CRAN release
