Changes in version 2.9.1 (2026-02-28) o Update image_ggplot to fix some ggplot2 deprecation warnings Changes in version 2.9.0 (2025-09-08) o Windows / MacOS: update ImageMagick stack o New function image_virtual_pixel() (#417) Changes in version 2.8.7 (2025-06-06) o Vendor a static build on Linux libc++ systems (due to incompatibility with the local ImageMagick-7, see CRAN notes) o Warn Conda users that they should use conda to install this package Changes in version 2.8.6 (2025-03-23) o Add dependency on R (>= 4.1.0) Changes in version 2.8.5 (2024-09-20) o Reduce some test verbosity as per CRAN request o Update maintainer email address Changes in version 2.8.4 (2024-07-14) o image_convert() gains a parameter 'profile' Changes in version 2.8.3 (2024-02-18) o Switch to base-R pipe in examples and vignette o New functions magick_fonts() and dump_option_info() Changes in version 2.8.2 (2023-12-20) o Fix image_draw() for small images: #317 o Change image_shadow() to transparent background by default o Downloading from a URL no longer requires 'curl' (to work in webR) Changes in version 2.8.1 (2023-10-22) o Windows: update to libmagick 6.9.12-98 Changes in version 2.8.0 (2023-09-25) o Windows: update to libmagick 6.9.12-96 Changes in version 2.7.5 (2023-08-07) o Win/Mac: update to libmagick 6.9.12-93 Changes in version 2.7.4 (2023-03-09) o New function magick_set_seed() o Fix signature of as.raster.magick-image() Changes in version 2.7.3 (2021-08-18) o MacOS: fix for changed fonts.conf location in latest xQuartz versions Changes in version 2.7.2 (2021-05-02) o Reintroduce a separate image_coalesce() function (cf image_animate) o Automatically coalesce gif images when reading by default o Fix compatibility with super old ImageMagick for CentOS < 7.7 o Fix build for ucrt64 on Windows Changes in version 2.7.1 (2021-03-20) o Win/Mac: update to imagemagick 6.9.12-3 + thresholds.xml bugfix. Changes in version 2.7.0 (2021-03-09) o New functions image_shade, image_motion_blur, image_ordered_dither, image_level to support ggfx. Changes in version 2.6.0 (2021-01-13) o image_write() gains a compression parameter o Updated binaries for Windows/MacOS to ImageMagick-6.9.11-57 o Added libraw and libheif delegates to Windows/MacOS binaries Changes in version 2.5.2 (2020-11-10) o Fixes for CRAN o Remove some accidental files from source pkg Changes in version 2.5.1 (2020-11-05) o Fix encoding bug for image_read() filepaths on Windows o Re-allow iter = -1 in image_morphology() o Do not require bash in configure script Changes in version 2.5.0 (2020-10-16) o Windows / MacOS: binary packages to imagemagick 6.9.11-32 o Windows: new imagemagick should work again with latest GhostScript o New function image_distort() o image_montage() gains a few parameters similar to the command line o image_convert() gains a parameter 'interlace' (#269) o image_ggplot() no longer inverts y-scale, to avoid bug in R/ggplot2 o Add 'defines' parameter to image_write (#261) Changes in version 2.4.0 (2020-06-23) o New functions: image_fx_sequence, image_deskew_angle, image_get_artifacts o Add 'defines' parameter to image_read and image_blank o Print imagemagick version during CMD check o Prepare for R_GE_version 13 (R_GE_definitions) by Paul Murrell o Try to limit to 2 threads during CMD check, as per CRAN policy o Image_blank() gains an options parameter o Some tweaks to image_crop() again Changes in version 2.3 (2020-01-24) o Call Magick::InitializeMagick("") before init, fixes crash with openmp on OSX. o Double loop fix in image_shadow o image_animate() can now optimize animated gifs, by storing only the differences between frames. o image_animate() can now create animations with variable delays between frames. o image_read() now supports cimg objects (from the imager package) Changes in version 2.2 (2019-08-26) o New function image_read_video() to sample images from a video file o 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') o New functions image_separate() and image_combine() o image_composite() now has separate parameters 'offset' and 'gravity' o image_annotate() gains parameters 'kerning' and 'decoration' o image_crop() now uses the CropImageToTiles API which is more sophisticated Changes in version 2.1 (2019-07-25) o New website at https://docs.ropensci.org/magick o Fix compilation for IM 6.8.8 (Suse Linux 12) o Add image_destroy() to release memory immediately without waiting for GC o New functions image_shadow() and image_shadow_mask() o image_annotate() is now vectorized over the 'text' parameter o rewrite image_ggplot() to use ggplot2::annotation_raster for performance o image_fill() gains a new argument 'refcolor' o the mac binary package now bundles the same fontconfig data as xQuarts to prevent conflicts o image_convert() gains a parameter matte to enable/disable the alpha channel o image_crop() gains a gravity argument o the 'offset' parameter in image_composite() can now also be a gravity type o New functions image_extent() and image_shear() o image_annotate() gains parameters 'weight' and 'style' o Windows: support upcoming GCC 8.x toolchain o Windows: fix for reading UTF-8 files in image_read() o Ubuntu: mention the new PPA location in readme and configure files o MacOS: workaround for OpenMP conflicts when building from source against homebrew IM7. This is still not working properly, better build with homebrew imagemagick@6. Changes in version 2.0 (2018-10-05) o Ignore attribute warnings in image_read() instead of error (fixes #134) o New functions image_threshold() and image_lat(), tnx Jan Wijffels o New functions image_hough_draw() and image_hough_txt() o New function image_morphology() o New function image_fx() (Jan Wijffels #138) o Knitr is now a Suggests package instead of Imports (#150) o Set magick temp dir via C instead of env vars o Add 'tibble' class to df returned by image_info() o Added a rep() method for images Changes in version 1.9 (2018-05-11) o New function image_attributes() o MacOS: new autobrew script uses prebuilt static bottle Changes in version 1.8 (2018-03-19) o Export image_read_svg() and image_read_pdf() o Add image_raster() (thanks Thomas for the hint) o Vectorize and add 'fuzz' parameter to image_compare() o Added image_ggplot() with examples of using magick + ggplot2 o Added 'pseudo_image' parameter to image_blank() Changes in version 1.7 (2018-02-26) o Several fixes for IM7, mostly related to alpha channels o Images rendered in knitr/rmarkdown are now stored in 'figures' (#108) o Add support for displaying images in Jupyter notebook o Export example images: logo, wizard, rose, granite o Better mapping of R internal colors to proper RGB strings o Added image_orient() to (auto) orient image o Add 'density' to image_info() o Fixes for Solaris Changes in version 1.6 (2017-12-01) o Automatically repage transformations that may modify image size o Added image_repage() to be consistent with command line tool o image_composite() now vectorizes over both 1st and 2nd argument o Support EBImage S4 Image class in image_read() and as_EBImage() o Fix a bug where 1 channel image array would read as 'Green' instead of 'Gray' o Include alpha channel in as.raster() for magick images o Export image_data() function to export raw bitmap data o Round the clipping coordinates to fix problem with 1px edge around graphics o Reset clipping area when magick graphics device is closed or starts new page o Change default colorspace for image_quantize() to RGB which is safer o Breaking: 'fuzz' parameter rescaled to be a percentage (0-100) o Add image_strip() as well as 'strip = TRUE' parameter to image_read() o Adding image_blank() to create empty images o Graphics device: hardcode font aliases for families used by R, issue #80 o Better font family lookup in graphics and image_annotate() o Switch to DrawableRotation() api for rotation in text and graphics o Autobrew: build gdk-pixbuf without modules (for rendering svg with rasters) o New functions option_types() and option_values() to list possible options o Drop support for GraphicsMagick (it never really worked) o RStudio viewer: convert to png for unsupported formats Changes in version 1.5 (2017-11-03) o Add knit_print.magick-image() method so that images automatically appear in knitr docs o Adding vignette examples for image_modulate() and image_convolve() Changes in version 1.4 (2017-10-05) o Windows/OSX: update imagemagick fixes a rare png writing bug o Set MAGICK_TMPDIR to match R session tempdir() instead of global TMPDIR o Explicitly set channels in image_negate() for IM7 compatibility o Added image_channel() to extract a single channel from an image o Added new image_convolve() function Changes in version 1.3 (2017-09-02) o Automatically import + export magrittr::`%>%` for easy pipelining o Fix 'zero-configuration' in magick_config() to use the proper macro o BREAKING: image_compare() now returns an image with a 'distortion' attribute o Workaround for broken std::string(Magick::Color) in GCC-7 Changes in version 1.2 (2017-08-21) o Documentation! Split manuals into meaningful pages o Windows / MacOS: update ImageMagick to 6.9.9-9 (fixes a png bug and one for linejoins) o Added image_modulate() for setting brightness, saturation, hue o Added image_quantize() option for reducing number of colors in an image o Added image_resize() which supports custom resize filters o image_border() now takes a operator parameter, fixes transparency bug o image_write() gains a parameter 'comment' to add metadata to the file o image_convert() gain 'type' and 'colorspace' parameters e.g. to convert to grayscale o image_animate() has been merged with image_coalesce() Changes in version 1.1 (2017-08-14) o Change default 'bg' in image_graph() to 'white' o Fix positioning of rasterImage() when raster image is rotated o Use TriangleFilter for interpolating rasterImage() o Improve support for 'symbol' fonts (metrics are still not 100%) o Rotate text using affine transformations o image_composite() gains a 'composite_args' parameter needed for e.g. blend o Fix support for demo images e.g. image_read("wizard:") or image_read("logo:") Changes in version 1.0 (2017-08-07) o Vectorize image_draw() (all drawing should be applied to each frame) o Rename 'image_device' to 'image_graph' o Add 'antialias' parameter to image_graph() and image_draw() and image_convert() o New function image_apply() to apply a transformation to each frame individually o New function image_ocr() for easy text extraction o Added image_despeckle(), image_median(), image_reducenoise() (tnx Noam Ross) o image_background() now flattens each frame by default o Support dev.capture() for in image_graph() and image_draw() device o Support type nativeRaster, raster, and matrix in image_read() o Drawing rasters reimplemented DrawableCompositeImage() o OSX: Fix performance issue with font caching o Windows: Fix performance issue with font rendering o Windows: Add back support for gcc-4.6.3 on Windows Changes in version 0.5 (2017-07-28) o NEW: native graphics device for producing images! See ?magick_device o NEW: easy drawing on top of images using magick_draw() o Windows: updated build to 6.9.9-3 o Various fixes to support upcoming IM7 (IM6 is still recommended) o Update vignette with new features Changes in version 0.4 (2017-03-26) o Extract autobrew script Changes in version 0.3 (2016-09-06) o Add [<-.magick-image to support for assigning layers to image by index o Revert Windows build to ImageMagick 6 because IM7 is too buggy o Add plot(image) method o Added intro vignette Changes in version 0.2.2 (2016-08-19) o Try again to fix the mac binary package o Switch the Windows package to ImageMagick 7 Changes in version 0.2.1 (2016-08-10) o Try to fix the mac binary package Changes in version 0.2 (2016-08-04) o Build binary package on macOS --with-zero-configuration (fixes "config xml file" errors). o image_read now reads straight from disk rather than via R. o Add as.raster() method for images o image_write gains a 'flatten' argument o Lots of small tweaks here and there Changes in version 0.1 (2016-07-24) o Initial CRAN release