aboutsummaryrefslogtreecommitdiff
path: root/vendor/exr/releasing.md
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/exr/releasing.md')
-rw-r--r--vendor/exr/releasing.md30
1 files changed, 30 insertions, 0 deletions
diff --git a/vendor/exr/releasing.md b/vendor/exr/releasing.md
new file mode 100644
index 0000000..582c81b
--- /dev/null
+++ b/vendor/exr/releasing.md
@@ -0,0 +1,30 @@
+# Release Checklist
+Yanking shouldn't be the default.
+
+## Safety Checklist
+1. No `unsafe`
+1. Everything builds, not only `cargo test`
+1. Builds with `--release` flag
+1. All tests pass, all benchmarks run
+1. All tests pass, including `#[ignore]` tests and fuzzing!
+1. Images produced by running the examples can be opened in other software
+1. Only safe `as` casts
+1. 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 ]`
+1. Only unreachable `unwrap()`, `expect("")` and `assert`s
+1. No `println!` outside of tests and examples
+1. `assert_eq` and `debug_assert_eq` should have a message explaining the context, except in internal algorithms like compressors
+1. ensure `#![warn(missing_docs)]` in `lib.rs`
+1. Example in README.md should be up-to-date
+1. GUIDE.md should be up-to-date
+1. Update Dependencies while you're at it?
+
+## Tasks
+1. Bump version in
+ - `cargo.toml`
+ - `README.md`
+ - `examples/README.md`
+
+1. Run `cargo publish`
+ \ No newline at end of file