5.7 KiB
Change Log
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
Unreleased
v0.4.1 - 2018-12-16
Changed
- Add a new type parameter to
spsc::Queue
that indicates whether the queue is only single-core safe, or multi-core safe. By default the queue is multi-core safe; this preserves the current semantics. Newunsafe
constructors have been added to create the single-core variant.
v0.4.0 - 2018-10-19
Changed
-
[breaking-change] All Cargo features are disabled by default. This crate now compiles on stable by default.
-
[breaking-change] RingBuffer has been renamed to spsc::Queue. The ring_buffer module has been renamed to spsc.
-
[breaking-change] The bounds on spsc::Queue have changed.
Removed
- [breaking-change] The sealed
Uxx
trait has been removed from the public API.
v0.3.7 - 2018-08-19
Added
- Implemented
IntoIterator
andFromIterator
forVec
ready
methods toring_buffer::{Consumer,Producer}
- An opt-out "const-fn" Cargo feature that turns
const
functions into normal functions when disabled. - An opt-out "smaller-atomics" Cargo feature that removes the ability to shrink the size of
RingBuffer
when disabled.
Changed
- This crate now compiles on stable when both the "const-fn" and "smaller-atomics" features are disabled.
Fixed
- The
RingBuffer.len
function - Compilation on recent nightlies
v0.3.6 - 2018-05-04
Fixed
- The capacity of
RingBuffer
. It should be the requested capacity plus not twice that plus one.
v0.3.5 - 2018-05-03
Added
RingBuffer.enqueue_unchecked
an unchecked version ofRingBuffer.enqueue
v0.3.4 - 2018-04-28
Added
BinaryHeap.pop_unchecked
an unchecked version ofBinaryHeap.pop
v0.3.3 - 2018-04-28
Added
BinaryHeap.push_unchecked
an unchecked version ofBinaryHeap.push
v0.3.2 - 2018-04-27
Added
- A re-export of
generic_array::ArrayLength
, for convenience.
v0.3.1 - 2018-04-23
Added
- Fixed capacity implementations of
IndexMap
andIndexSet
. - A
Extend
implementation toVec
- More
PartialEq
implementations toVec
v0.3.0 - 2018-04-22
Changed
-
[breaking-change] The capacity of all data structures must now be specified using type level integers (cf.
typenum
). See documentation for details. -
[breaking-change]
BufferFullError
has been removed in favor of (a) returning ownership of the item that couldn't be added to the collection (cf.Vec.push
), or (b) returning the unit type when the argument was not consumed (cf.Vec.extend_from_slice
).
v0.2.7 - 2018-04-20
Added
- Unchecked methods to dequeue and enqueue items into a
RingBuffer
via theConsumer
andProducer
end points.
Changed
RingBuffer
now has a generic index type, which default tousize
for backward compatibility. Changing the index type tou8
oru16
reduces the footprint of theRingBuffer
but limits its maximum capacity (254 and 65534, respectively).
v0.2.6 - 2018-04-18
Added
- A
BinaryHeap
implementation.BinaryHeap
is a priority queue implemented with a binary heap.
v0.2.5 - 2018-04-13
Fixed
- Dereferencing
heapless::Vec
no longer incurs in a bounds check.
v0.2.4 - 2018-03-12
Fixed
LinerMap::new
is now a const fn
v0.2.3 - 2018-03-11
Added
- A
swap_remove
method toVec
- A
LinearMap
implementation.LinearMap
is a map / dict backed by an array and that performs lookups via linear search.
v0.2.2 - 2018-03-01
Added
- Fixed size version of
std::String
v0.2.1 - 2017-12-21
Added
-
Vec
now implements bothfmt::Debug
,PartialEq
andEq
. -
resize
andresize_default
methods toVec
.
v0.2.0 - 2017-11-22
Added
-
A single producer single consumer mode to
RingBuffer
. -
A
truncate
method toVec
.
Changed
-
[breaking-change] Both
Vec::new
andRingBuffer::new
no longer require an initial value. The signature ofnew
is nowconst fn() -> Self
. -
[breaking-change] The error type of all operations that may fail has changed from
()
toBufferFullError
. -
Both
RingBuffer
andVec
now support arrays of any size for their backup storage.
[v0.1.0] - 2017-04-27
- Initial release