Some work has been done in tidying up and improving the crate API lately:
A crash when dealing with empty files was fixed (#3).
The public API functions no longer require the byte source to implement Seek, or to provide the input data size beforehand (#7; this is a breaking change).
Some useful, but previously private Zopfli algorithm options were exposed in the API (c789bc4f). In addition, the API is better documented now.
The crate now uses log macros to print miscellaneous debug information that previously was conditionally printed to some standard stream, which is much more flexible and suitable for both library and binary dependent crates.
The MSRV was documented and tested with cargo-msrv.
A GitHub Actions workflow for CI was defined. It now runs the golden master tests on each commit, which increases our confidence in things working fine after every change.
Clippy lints were fixed, and rustfmt was run through the codebase.
The dependency declarations in Cargo.toml were tweaked to have precise versions. This has pros and cons (see this and this), but I think that this is the best approach overall when combined with not-so-frequent dependency upgrade automation, so the rest of the ecosystem has a reasonable time window to keep up.
I think that these changes are stable and relevant enough to justify a new release, but I'd also like to know what other maintainers think about it. Should we do it? :smile:
Some work has been done in tidying up and improving the crate API lately:
Seek
, or to provide the input data size beforehand (#7; this is a breaking change).log
macros to print miscellaneous debug information that previously was conditionally printed to some standard stream, which is much more flexible and suitable for both library and binary dependent crates.cargo-msrv
.Cargo.toml
were tweaked to have precise versions. This has pros and cons (see this and this), but I think that this is the best approach overall when combined with not-so-frequent dependency upgrade automation, so the rest of the ecosystem has a reasonable time window to keep up.I think that these changes are stable and relevant enough to justify a new release, but I'd also like to know what other maintainers think about it. Should we do it? :smile: