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.
- An example! After 9 years, finally an example.
- BREAKING CHANGES
- 5ohue: Refactored the current
CompositeOperator
andResourceType
types into a separate module and added many new enum wrappers around ImageMagick types. the caller will have less need to directly touch thebindings
module to pass arguments to functions. For instance, thebindings::FilterType_GaussianFilter
type is now replaced withFilterType::Gaussian
, lending the API a more Rust-like aesthetic. - 5ohue: Replaced the not so helpful
MagickError("failed to resize image")
withMagickError(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 seeError:
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.
- 5ohue: Refactored the current
- This crate will now adhere to the semantic versioning practice more rigidly than it had been while evolving in a pre-1.0 state.
- yoghurt-x86: added
MagickNormalizeImage()
andMagickOrderedDitherImage()
- BREAKING CHANGES
- 5ohue: added
CompositeOperator
in place ofbindings::CompositeOperator
. Instead of usingbindings::CompositeOperator_LightenIntensityCompositeOp
one must now useCompositeOperator::LightenIntensity
.
- 5ohue: added
- 5ohue: added
sigmoidal_contrast_image()
function to the wand API.
- Feature
disable-hdri
is now enabled by default to work around an apparent bug with rust-bindgen that cannot discover theQuantumRange
constant which is conditionally computed during compile-time in the MagickCore library.
- walterbm: Add
coalesce()
for image coalesce. - FaithBeam: Add
compose_images_gravity()
for image composition. - Upgrade dependency
bindgen
to 0.66.1
- BREAKING CHANGEs
- jshrake: Add
map
argument toimport_image_pixels()
and changepixels
argument to a byte slice rather than a vector reference.
- jshrake: Add
- jshrake: Add
MagickAutoGammaImage
andMagickAutoLevelImage
- 2e0by0: add API documentation and setup automated build of docs.
- BeatButton: prevent segfault if
MagickGetImageBlob
returnsnull
- walterbm: Add support for image deskew.
- Upgrade dependency
bindgen
to 0.63 - DCjanus: Upgrade dependency
bindgen
(0.59 -> 0.60) - MaksRawski: add
DrawRectangle
andMagickBrightnessContrastImage
bindings
- 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()
- glebpom: Support resource limits
- lerouxrgd: Add kmeans
- danielronnkvist: modulate image
- asonix: Add quantum depth and sample method
- Drevoed: Add MagickLiquidRescaleImage and MagickImplodeImage
- 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
- 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
- npajkovsky: remove use of deprecated item
try!
, use?
instead - npajkovsky: fix multiple redefined values on linux build
- Updated
bindgen
to0.53.2
release, added "size_t is usize" flag.
- danielronnkvist: Binding for MagickClutImage
- danielronnkvist: Binding for MagickSetSize
- max-frai: Add gaussian blur function
- magiclen: Binding for set_background_color
- Updated
bindgen
dependency to 0.31 release and fixed compiler issues. Enum definitions changed again, default in bindgen is different now, and usingdefault_enum_style()
caused endless compiler errors. - Made
get_exception_type()
,get_exception()
, andclear_exception()
on the various wand implementations.
- 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.
- Mewp: Numerous additional MagickWand functions
- Mewp: crop_image() now returns a Result
- Mewp: Fixed memory management in
string_get!
- sindreij: Fix exporting pdf->jpeg for multi-page pdf
- little-bobby-tables: add color-related getters and mutations
- sindreij: Add crop_image() to MagickWand
- gentoo90: Hide more types from bindgen to fix the build for some systems
- gentoo90: Build now supports Windows
- Upgrade bindgen to 0.29
- little-bobby-tables: Change to MagickWand 7.0; this introduces backward incompatible changes...
get_quantum
andset_quantum
now takeQuantum
instead ofu16
resize_image
no longer takes ablur_factor
argumentInterpolatePixelMethod
was renamedPixelInterpolateMethod
- Downgrade to version 0.25.5 of
bindgen
library to avoid errors on Linux.
- Add
compare_images()
method toMagickWand
type.
- Update to latest release of
bindgen
library.
- Actually set the version this time.
- 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.
- Presence of
pkg-config
checked inbuild.rs
script at build time.
- MagickWand version enforced in
build.rs
script at build time.
- 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.
- Streamline error handling in
build.rs
script. - Fix the crate version number (previously stuck at 0.4.0).
- hjr3: Changed
read_image_blob()
to borrow data rather than take ownership.
- marjakm: Added numerous functions and enabled cross-compile support.
- Add functions for detecting and correcting image orientation.
- Allow libc version 0.2 or higher
- Automatically generate
bindings.rs
usingrust-bindgen
viabuild.rs
script.
- Fix bug
get_image_property()
to ensure C string is copied.
- Add
get_image_property()
function to retrieve, for example, EXIF data.
- Upgrade to libc 0.2.4 in hopes of fixing downstream build incompatibilities.
- Change the build to specify the likely path to ImageMagick, for easier setup.
- Fix the cargo package name (replace dash with underscore).
- Add a
fit()
function for fitting an image to a given bounds.
- Initial release