# image4-rs
[![Crate][crate-image]][crate-link]
[![Documentation][docs-rs-image]][docs-rs-link]
A `no_std`-friendly library for parsing and generation of Image4 images written in pure Rust.
This library is currently in **EXPERIMENTAL** state. It's very likely that the API changes in the future.
## Features
* `alloc`: enables owned versions of reference types, `alloc` support in `der` and decoding of Image4 properties.
* `std`: implements `std::error::Error` trait on provided errors, enables `std` support in the [`der`] crate.
* `payload`: adds support for Image4 payloads (IM4P files), requires the `property` feature.
* `manifest`: adds support for Image4 manifests (IM4M files), requires the `property` feature.
* `restore_info`: adds support for Image4 restore info (IM4R blobs).
* `image`: adds support for full Image4 images, requires `payload`, `manifest` and `restore_info` features.
* `serde`: implements (de)serialization for Image4 property lists. Useful for translating payload properties and manifest bodies to other formats and vice versa. Disabled by default.
* `property`: adds support for Image4 property lists (enables the `property` module). These are an implementation detail of the Image4 format and usually shouldn't be used directly.
All features are enabled by default.
## Minimum Supported Rust Version
This crate requires at least **Rust 1.65**. An MSRV change will be accompanied by a minor version bump
## License
Licensed under either of
* Apache License, Version 2.0
([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)
* MIT license
([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)
at your option.
## Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted
for inclusion in the work by you, as defined in the Apache-2.0 license, shall be
dual licensed as above, without any additional terms or conditions.
[crate-image]: https://img.shields.io/crates/v/image4.svg
[crate-link]: https://crates.io/crates/image4
[docs-rs-image]: https://docs.rs/image4/badge.svg
[docs-rs-link]: https://docs.rs/image4/