diff --git a/CHANGELOG.md b/CHANGELOG.md index 9e575e7..12050e3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,10 +5,10 @@ This project adheres to [Semantic Versioning](http://semver.org/). This file follows the convention described at [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). -## [Unreleased] +## [0.7.0] - 2017-08-26 ### Changed - Upgrade bindgen to 0.29 -- Change to MagickWand 7.0 +- 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` diff --git a/Cargo.toml b/Cargo.toml index da47eff..92987ab 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "magick_rust" -version = "0.6.6" +version = "0.7.0" authors = ["Nathan Fiedler "] description = "Selection of Rust bindings for the ImageMagick library." homepage = "https://github.com/nlfiedler/magick-rust" diff --git a/README.md b/README.md index 2f973ca..af3a694 100644 --- a/README.md +++ b/README.md @@ -1,19 +1,19 @@ # magick-rust -A somewhat safe Rust interface to the [ImageMagick](http://www.imagemagick.org/) system, in particular, the MagickWand library. Many of the functions in the MagickWand API are still missing, and those that are needed will be gradually added. +A somewhat safe Rust interface to the [ImageMagick](http://www.imagemagick.org/) system, in particular, the MagickWand library. Many of the functions in the MagickWand API are still missing, but over time more will be added. Pull requests are welcome. ## Dependencies * Rust (~latest release) * Cargo (~latest release) -* ImageMagick (version 7.0) - - [FreeBSD](https://www.freebsd.org) provides this version - - [Homebrew](http://brew.sh) requires special steps: - + `brew install imagemagick` - - Linux may require building ImageMagick from source -* Clang (version 3.5 or higher) +* ImageMagick (version 7.0.x) + - Does _not_ work with ImageMagick 6.x due to backward incompatible changes. + - [FreeBSD](https://www.freebsd.org): `sudo pkg install ImageMagick7` + - [Homebrew](http://brew.sh): `brew install imagemagick` + - Linux may require building ImageMagick from source, see the `Dockerfile` for an example +* [Clang](https://clang.llvm.org) (version 3.5 or higher) - Or whatever version is dictated by [rust-bindgen](https://github.com/servo/rust-bindgen) -* Must have `pkg-config` in order to link with MagickWand. +* `pkg-config`, to facilitate linking with ImageMagick. ## Build and Test @@ -49,12 +49,13 @@ fn resize() -> Result, &'static str> { Writing the image to a file rather than an in-memory blob is done by replacing the call to `write_image_blob()` with `write_image()`, which takes a string for the path to the file. +## Contributing + +There are still many missing functions, so if you find there is something you would like to see added to this library, feel free to file an issue. Even better, fork the repo, and write the thin wrapper necessary to expose the MagickWand function. For getters and setters this is often very easy, just add a row to the table in `wand/magick.rs`, and it will work with no additional coding. Tests are optional, as this crate is basically a thin wrapper around code that is assumed to be thoroughly tested already. If you make a change that you want to contribute, please feel free to submit a pull request. + ## Docker -[Docker](https://www.docker.com) can be used to build and test the code without -affecting your development environment, which may have a different version of -ImageMagick installed. The use of `docker-compose`, as shown in the example -below, is optional, but it makes the process very simple. +[Docker](https://www.docker.com) can be used to build and test the code without affecting your development environment, which may have a different version of ImageMagick installed. The use of `docker-compose`, as shown in the example below, is optional, but it makes the process very simple. ``` $ cd docker