zopfli 0.8.1

A Rust implementation of the Zopfli compression algorithm.
Documentation
# The binary target must be set in a single line like this to make it easily
# removable by the CI "Check effective no_std compatibility" step
bin = [{ name = "zopfli", required-features = ["std", "gzip", "zlib"] }]

[package]
name = "zopfli"
version = "0.8.1"
description = "A Rust implementation of the Zopfli compression algorithm."
license = "Apache-2.0"
keywords = ["compression"]
homepage = "https://github.com/zopfli-rs/zopfli"
repository = "https://github.com/zopfli-rs/zopfli"
readme = "README.md"
categories = ["compression", "no-std"]
exclude = [
  ".github/*",
  ".gitignore",
  "Makefile",
  "benchmark-builds/*",
  "rustfmt.toml",
  "test/*",
]
edition = "2021"
rust-version = "1.73.0"

[dependencies]
crc32fast = { version = "1.4.0", default-features = false, optional = true }
simd-adler32 = { version = "0.3.7", default-features = false, optional = true }
bumpalo = "3.16.0"
log = { version = "0.4.21", optional = true }
lockfree-object-pool = { version = "0.1.5", optional = true }
once_cell = { version = "1.19.0", optional = true }

[dev-dependencies]
proptest = "1.4.0"
proptest-derive = "0.4.0"
miniz_oxide = "0.7.3"

[features]
default = ["std", "gzip", "zlib"]
gzip = ["dep:crc32fast"]
zlib = ["dep:simd-adler32"]

std = [
  "dep:log",
  "dep:lockfree-object-pool",
  "dep:once_cell",
  "crc32fast?/std",
  "simd-adler32?/std",
]
nightly = ["crc32fast?/nightly"]

[profile.release]
debug = true

# docs.rs uses a nightly toolchain, so it can leverage unstable rustdoc features.
# Reference: https://docs.rs/about/builds
[package.metadata.docs.rs]
cargo-args = ["--all-features"]