1.0 KiB
1.0 KiB
Release Checklist
Yanking shouldn't be the default.
Safety Checklist
- No
unsafe
- Everything builds, not only
cargo test
- Builds with
--release
flag - All tests pass, all benchmarks run
- All tests pass, including
#[ignore]
tests and fuzzing! - Images produced by running the examples can be opened in other software
- Only safe
as
casts - Always have a max limit when allocating based on file contents
- limit max capacity
Vec::with_capacity( x.min(1024) )
- careful with
vec![ 0; x ]
- limit max capacity
- Only unreachable
unwrap()
,expect("")
andassert
s - No
println!
outside of tests and examples assert_eq
anddebug_assert_eq
should have a message explaining the context, except in internal algorithms like compressors- ensure
#![warn(missing_docs)]
inlib.rs
- Example in README.md should be up-to-date
- GUIDE.md should be up-to-date
- Update Dependencies while you're at it?
Tasks
-
Bump version in
cargo.toml
README.md
examples/README.md
-
Run
cargo publish