denyhosts/clamav/libclamav_rust/.cargo/vendor/exr/releasing.md

1.1 KiB

Release Checklist

Yanking shouldn't be the default.

Safety Checklist

  1. No unsafe
  2. Everything builds, not only cargo test
  3. Builds with --release flag
  4. All tests pass, all benchmarks run
  5. All tests pass, including #[ignore] tests and fuzzing!
  6. Images produced by running the examples can be opened in other software
  7. Only safe as casts
  8. 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 ]
  9. Only unreachable unwrap(), expect("") and asserts
  10. No println! outside of tests and examples
  11. assert_eq and debug_assert_eq should have a message explaining the context, except in internal algorithms like compressors
  12. ensure #![warn(missing_docs)] in lib.rs
  13. Example in README.md should be up-to-date
  14. GUIDE.md should be up-to-date
  15. Update Dependencies while you're at it?

Tasks

  1. Bump version in

    • cargo.toml
    • README.md
    • examples/README.md
  2. Run cargo publish