- Change the Range() API, make this similar to std-lib.
- Rewrite iter(), range() API. performance improvement by ~2x.
- Replace " as " type-casting with try_into().unwrap().
- Implement Default trait for Depth type.
- Fix reverse API signature.
- Replace load_from() with Extend trait.
- Improve unit-testing.
- Implement Empty type that can be used as values.
- Breaking changes.
- Rename LlrbError to Error.
- Replace Clone implementation for Llrb with #[drive(Clone)]
- Change return type for create() API.
- rustdoc.
- Implement create() method on Llrb.
- Implement random() method on Llrb.
- Rename count() API to len() method on Llrb.
- Stats type and new stats() method on Llrb.
- validate() method should return Stats type.
- Tree depth statistics, in min, mean, max, percentiles.
- Self-balancing data structure.
- Optimized for in-memory index.
- Each entry in LLRB instance correspond to a {Key, Value} pair.
- Parametrised over Key type and Value type.
- CRUD operations, via set(), get(), delete() API.
- Read optimized.
- Full table scan, to iterate over all entries.
- Range scan, to iterate between a
low
andhigh
. - Reverse iteration.
- Review and check for un-necessary copy, and allocations.
- Review resize calls on
Vec
. - Review (as ...) type casting, to panic on data loss.
- Reduce trait constraints for Type parameters on public APIs.
- Public APIs can be as generic as possible. Check whether there
is a scope for
AsRef
orBorrow
constraints. - Document error variants.
- Check for dangling links in rustdoc.
- Bump up the version:
- major: backward incompatible API changes.
- minor: backward compatible API Changes.
- patch: bug fixes.
- Cargo checklist
- cargo +stable build; cargo +nightly build
- cargo +stable doc; cargo +nightly doc
- cargo +stable test; cargo +nightly test
- cargo +nightly bench
- cargo +nightly clippy --all-targets --all-features
- cargo fix --edition --all-targets
- Travis-CI integration.
- Spell check.
- Create a git-tag for the new version.
- Cargo publish the new version.
- Badges
- Build passing, Travis continuous integration.
- Code coverage, codecov and coveralls.
- Crates badge
- Downloads badge
- License badge
- Rust version badge.
- Maintenance-related badges based on isitmaintained.com
- Documentation
- Gitpitch