## v0.4.0 (15/11/2024)
* split methods are now part of traits: `HeapSplit` and `StackSplit`.
* `pop()` in `ConsIter` acts now as `ptr::read`, copying bitwise the content of the cell.
Old `pop()` method is now called `pop_move()`.
* Some methods that were previously available only for `WorkIter`, namely:
* `get_workable`
* `get_workable_slice_exact`
* `get_workable_slice_avail`
* `get_workable_slice_multiple_of`
can now be used by all the iterators, sync and async.
* All kinds of iterators can now be detached, yielding a `Detached` or an `AsyncDetached`.
* Async iterators can now be used in a no-std environment.
* Some imports have changed.
## v0.3.1 (27/06/2024)
* Every iterator can now retrieve indices of other iterators.
* Prod iterators have now a method to fetch a tuple of mutable slices; useful to directly
write data without the need to use copy or clone methods.
* A convenience method to busy-wait for a certain amount of items has been added.
* Fixed a bug that could cause indices to overlap.
## v0.3.0 (13/05/2024)
* `ConcurrentStackRB` and `LocalStackRB` now have a new `new_zeroed()` method, which creates a new buffer
with zeroed (uninitialised) elements.
* `new` methods in `ConcurrentHeapRB` and `LocalHeapRB` are now called `new_zeroed`.
* Methods in `ProdIter` have been split into `normal` and `*_init` ones, this in order to make possible
to work with uninitialised memory.
* Some UBs have been fixed.
* Solve memory leaks when dropping a buffer.
* Async support has been added.
## v0.2.0 (06/05/2024)
* Accumulator has been removed from `WorkIter`. There are better ways to achieve the same behaviour, like:
[this one](https://github.com/Skilvingr/rust-mutringbuf/commit/c931aecc775fe0b222db9ff0cc4bb9ab04881bd4#diff-0b0e4efcf55f384696cdccec18c30a9dee3e81722afeca2b0509e12dc44a946b).
* Types have been simplified, so instead of e.g. `ProdIter, usize>`, one can directly write `ProdIter>`.
## v0.1.3 (29/03/2024)
* `ProdIter` has now two methods to write data using a mutable reference or a mutable pointer:
- `get_next_item_mut`;
- `get_next_item_mut_init`.
## v0.1.2 (22/03/2024)
* rename `Iterator` to `MRBIterator` to avoid annoying conflicts with other imports.
## v0.1.1 (17/03/2024)
* Remove alloc useless use.
* Remove useless drop for stack-allocated buffers.
* Add tests for stack-allocated buffers.
## v0.1.0 (17/03/2024)
* Rename `new_heap(capacity)` method to `new(capacity)`.
* Add a new `default method` for heap-allocated buffers.
## v0.1.0-alpha.1 (15/03/2024)
* Rename `Iterable` trait to `Iterator`.
* Add a new trait `MutRB` to represent a generic ring buffer.