# Change Log
All notable changes to this project will be documented in this file.
## [0.4.1] - 2020-2-19
### Cosmetic changes
* Updated README
* Fixed clippy lints
## [0.4.0] - 2018-9-26
### Feature
* Make Serde an optional feature. It take quite some time to compile which is not always necessary.
## [0.3.1] - 2017-10-27
### Fixed
* Really use Serde as was promised in 0.3
## [0.3] - 2017-10-11
Thanks to a huge pull-request by @Kerollmops the RleVec know provides a more complete set of
feaures. @Kerollmops kindly offered to join the project and is now a co-maintainer.
### Breaking changes
* `RleVec::n_runs` is now called `RleVec::runs_len`
* Deprecated rustc_serialize in favor of Serde
### New features
* Added methods `remove`, `clear`, `to_vec` to `RleVec`
* The RleVec Iterator now implements the `ExactSizeIterator` and `DoubleEndedIterator` traits
* Implemented traits `Default`, `Write`, `Extend` and `Into<Vec<T>>` for `RleVec`
* Greatly increased the number of benchmarks
* Reorganised and increased number of tests
## [0.2.2] - 2017-02-01
### Fixed
* Removed a couple of println! statements.
* Added crate category
## [0.2.1] - 2016-12-06
### Added
* Implemented `nth` on `RleVecIterator`. The will speed up iterator functions like
`nth` and `skip` if large runs are present
* Derived `RustcEncodable` and `RustcDecodable` on the structs so the data can be serialized
## [0.2.0] - 2016-11-30
### Added
* Made a public type `Run`.
* `Iterators` for `Run` and `FromIterator<Run<T>`
* Added `min()` and `max()` to `RleVecIterator` that only look at run values.
This is much more efficient than looping over each repeated value
## [0.1.0] - 2016-11-28
- Initial release