Skip to content

Latest commit

 

History

History
247 lines (208 loc) · 8.67 KB

CHANGELOG.md

File metadata and controls

247 lines (208 loc) · 8.67 KB

Change Log

All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning. This file follows the convention described at Keep a Changelog.

[1.0.0] - 2024-05-25

Added

  • An example! After 9 years, finally an example.

Changed

  • BREAKING CHANGES
    • 5ohue: Refactored the current CompositeOperator and ResourceType types into a separate module and added many new enum wrappers around ImageMagick types. the caller will have less need to directly touch the bindings module to pass arguments to functions. For instance, the bindings::FilterType_GaussianFilter type is now replaced with FilterType::Gaussian, lending the API a more Rust-like aesthetic.
    • 5ohue: Replaced the not so helpful MagickError("failed to resize image") with MagickError(self.get_exception()?.0). This should provide more helpful error messages. In some cases there is no exception given when a failure occurs and the caller will only see Error: which is even less helpful than before. This is due to the way the MagickWand API works, unfortunately.
    • 5ohue: Add impl Send for wand types.
  • This crate will now adhere to the semantic versioning practice more rigidly than it had been while evolving in a pre-1.0 state.

[0.21.0] - 2024-04-17

Added

  • yoghurt-x86: added MagickNormalizeImage() and MagickOrderedDitherImage()

[0.20.0] - 2024-02-25

Changed

  • BREAKING CHANGES
    • 5ohue: added CompositeOperator in place of bindings::CompositeOperator. Instead of using bindings::CompositeOperator_LightenIntensityCompositeOp one must now use CompositeOperator::LightenIntensity.

Added

  • 5ohue: added sigmoidal_contrast_image() function to the wand API.

[0.19.1] - 2023-09-23

Changed

  • Feature disable-hdri is now enabled by default to work around an apparent bug with rust-bindgen that cannot discover the QuantumRange constant which is conditionally computed during compile-time in the MagickCore library.

[0.19.0] - 2023-06-19

Added

  • walterbm: Add coalesce() for image coalesce.
  • FaithBeam: Add compose_images_gravity() for image composition.
  • Upgrade dependency bindgen to 0.66.1

[0.18.0] - 2023-04-15

Changed

  • BREAKING CHANGEs
    • jshrake: Add map argument to import_image_pixels() and change pixels argument to a byte slice rather than a vector reference.

Added

  • jshrake: Add MagickAutoGammaImage and MagickAutoLevelImage
  • 2e0by0: add API documentation and setup automated build of docs.

Fixed

  • BeatButton: prevent segfault if MagickGetImageBlob returns null

[0.17.0] - 2022-12-10

Added

  • walterbm: Add support for image deskew.
  • Upgrade dependency bindgen to 0.63
  • DCjanus: Upgrade dependency bindgen (0.59 -> 0.60)
  • MaksRawski: add DrawRectangle and MagickBrightnessContrastImage bindings

[0.16.0] - 2022-04-09

Added

  • walterbm: Add support for thumbnail image resizing.
  • DCjanus: add methods get_image_alpha_channel, draw_image, set_image_channel_mask, evaluate_image, border_image, shadow_image, import_image_pixels, set_first_iterator, next_image
  • DCjanus: feat: std error compatible error
  • davidwilemski: add binding for MagickStripImage()

[0.15.0] - 2021-08-10

Added

  • glebpom: Support resource limits
  • lerouxrgd: Add kmeans
  • danielronnkvist: modulate image
  • asonix: Add quantum depth and sample method
  • Drevoed: Add MagickLiquidRescaleImage and MagickImplodeImage

Changed

  • brownjohnf: Update imagemmagick checks to support 7.1
  • liyunde: Fix path_separator on windows can not build
  • kz6wk9: Required version bump on bindgen.
  • asonix: Set environment variable with magickcore config flags
  • captainbland: Add workaround for QuantumRange not defined error when hdri is disabled

[0.14.0] - 2020-05-21

Added

  • npajkovsky: add negate_image() operation
  • danielronnkvist: add MagickFxImage binding
  • danielronnkvist: add MagickLevelImage binding
  • danielronnkvist: add MagickSetImageAlpha binding
  • danielronnkvist: add MagickBlurImage binding
  • danielronnkvist: add MagickHaldClutImage binding

Changed

  • npajkovsky: remove use of deprecated item try!, use ? instead
  • npajkovsky: fix multiple redefined values on linux build
  • Updated bindgen to 0.53.2 release, added "size_t is usize" flag.

[0.13.0] - 2020-03-25

Added

  • danielronnkvist: Binding for MagickClutImage
  • danielronnkvist: Binding for MagickSetSize
  • max-frai: Add gaussian blur function

[0.12.0] - 2019-09-09

Added

  • magiclen: Binding for set_background_color

[0.11.0] - 2019-04-17

Changed

  • Updated bindgen dependency to 0.31 release and fixed compiler issues. Enum definitions changed again, default in bindgen is different now, and using default_enum_style() caused endless compiler errors.
  • Made get_exception_type(), get_exception(), and clear_exception() on the various wand implementations.

[0.10.0] - 2018-08-11

Added

  • Mewp: Add ping_image and ping_image_blob functions.
  • Mewp: Add reset_image_page function.
  • Mewp: Add set_image_alpha_channel function.
  • NQNStudios: Adding binding for MagickAddImage function.
  • NQNStudios: Adding doc comment and rotate_image function.
  • NQNStudios: Adding binding for adaptive_resize_image function.

[0.9.0] - 2018-05-05

Added

  • Mewp: Numerous additional MagickWand functions

Changed

  • Mewp: crop_image() now returns a Result

Fixed

  • Mewp: Fixed memory management in string_get!
  • sindreij: Fix exporting pdf->jpeg for multi-page pdf

[0.8.0] - 2018-02-16

Added

  • little-bobby-tables: add color-related getters and mutations
  • sindreij: Add crop_image() to MagickWand

[0.7.1] - 2017-12-30

Changed

  • gentoo90: Hide more types from bindgen to fix the build for some systems
  • gentoo90: Build now supports Windows

[0.7.0] - 2017-08-26

Changed

  • Upgrade bindgen to 0.29
  • little-bobby-tables: Change to MagickWand 7.0; this introduces backward incompatible changes...
  • get_quantum and set_quantum now take Quantum instead of u16
  • resize_image no longer takes a blur_factor argument
  • InterpolatePixelMethod was renamed PixelInterpolateMethod

[0.6.6] - 2017-07-08

Changed

  • Downgrade to version 0.25.5 of bindgen library to avoid errors on Linux.

[0.6.5] - 2017-07-07

Added

  • Add compare_images() method to MagickWand type.

Changed

  • Update to latest release of bindgen library.

[0.6.4] - 2017-04-08

Changed

  • Actually set the version this time.

[0.6.3] - 2017-04-08

Changed

  • Changed to use pkg-config crate to get MagickWand compiler settings.
  • Fixed bindings generation on FreeBSD (i.e. no longer hard-coded).
  • Changed the bindings generation to use libc prefix for C types.
  • Changed the bindings generation and interface code to use Rust enums.

[0.6.2] - 2016-10-20

Changed

  • Presence of pkg-config checked in build.rs script at build time.

[0.6.1] - 2016-10-16

Changed

  • MagickWand version enforced in build.rs script at build time.

[0.6.0] - 2016-09-20

Changed

  • Update to 0.19.0 version of rust-bindgen; rebuilds are much faster.
  • Hacked bindings for FreeBSD systems due to rust-bindgen bug #385.
  • gadomski: add set_option() method to wand API.
  • gadomski: add write_images_blob() to create animated GIFs.

[0.5.2] - 2016-07-17

Changed

  • Streamline error handling in build.rs script.
  • Fix the crate version number (previously stuck at 0.4.0).

[0.5.1] - 2016-06-25

Changed

  • hjr3: Changed read_image_blob() to borrow data rather than take ownership.

[0.5.0] - 2016-05-18

Added

  • marjakm: Added numerous functions and enabled cross-compile support.

[0.4.0] - 2016-03-29

Added

  • Add functions for detecting and correcting image orientation.

[0.3.3] - 2016-03-17

Changed

  • Allow libc version 0.2 or higher

[0.3.2] - 2016-02-10

Changed

  • Automatically generate bindings.rs using rust-bindgen via build.rs script.

[0.3.1] - 2016-01-02

Changed

  • Fix bug get_image_property() to ensure C string is copied.

[0.3.0] - 2016-01-02

Added

  • Add get_image_property() function to retrieve, for example, EXIF data.

[0.2.3] - 2015-12-26

Changed

  • Upgrade to libc 0.2.4 in hopes of fixing downstream build incompatibilities.

[0.2.2] - 2015-12-23

Changed

  • Change the build to specify the likely path to ImageMagick, for easier setup.

[0.2.1] - 2015-09-07

Changed

  • Fix the cargo package name (replace dash with underscore).

[0.2.0] - 2015-06-10

Added

  • Add a fit() function for fitting an image to a given bounds.

[0.1.0] - 2015-06-09

Changed

  • Initial release