BufMut::put_bytes(self, val, cnt)
(#487)- Implement
From<Box<[u8]>>
forBytes
(#504)
- Override
put_slice
for&mut [u8]
(#483) - Panic on integer overflow in
Chain::remaining
(#482) - Add inline tags to
UninitSlice
methods (#443) - Override
copy_to_bytes
for Chain and Take (#481) - Keep capacity when unsplit on empty other buf (#502)
- Clarify
BufMut
allocation guarantees (#501) - Clarify
BufMut::put_int
behavior (#486) - Clarify actions of
clear
andtruncate
. (#508)
- mark
Vec::put_slice
with#[inline]
(#459)
- Fix deprecation warning (#457)
- use
Box::into_raw
instead ofmem::forget
-in-disguise (#458)
- Rename
Buf
/BufMut
methodsbytes()
andbytes_mut()
tochunk()
andchunk_mut()
(#450)
- remove unused Buf implementation. (#449)
API polish in preparation for a 1.0 release.
BufMut
is now anunsafe
trait (#432).BufMut::bytes_mut()
returns&mut UninitSlice
, a type owned bybytes
to avoid undefined behavior (#433).Buf::copy_to_bytes(len)
replacesBuf::into_bytes()
(#439).Buf
/BufMut
utility methods are moved onto the trait and*Ext
traits are removed (#431).
BufMut::bytes_vectored_mut()
(#430).new
methods on combinator types (#434).
- Improve
BytesMut
to reuse buffer when fullyadvance
d. - Mark
BytesMut::{as_mut, set_len}
with#[inline]
. - Relax synchronization when cloning in shared vtable of
Bytes
. - Move
loom
todev-dependencies
.
- Allow using the
serde
feature inno_std
environments (#385).
- Fix
BufMut::advance_mut
to panic if advanced passed the capacity (#354).. - Fix
BytesMut::freeze
ignoring amount previouslyadvance
d (#352).
- Make
Bytes::new
aconst fn
. - Add
From<BytesMut>
forBytes
.
- Fix reversed arguments in
PartialOrd
forBytes
. - Fix
Bytes::truncate
losing original capacity when repr is an unsharedVec
. - Fix
Bytes::from(Vec)
when allocator gaveVec
a pointer with LSB set. - Fix panic in
Bytes::slice_ref
if argument is an empty slice.
must_use
attributes tosplit
,split_off
, andsplit_to
methods (#337).
- Potential freeing of a null pointer in
Bytes
when constructed with an emptyVec<u8>
(#341, #342). - Calling
Bytes::truncate
with a size large than the length will no longer clear theBytes
(#333).
Limit
methodsinto_inner
,get_ref
,get_mut
,limit
, andset_limit
(#325).
- Growth documentation for
BytesMut
(#321)
- Potential overflow in
copy_to_slice
- Increased minimum supported Rust version to 1.39.
Bytes
is now a "trait object", allowing for custom allocation strategies (#298)BytesMut
implicitly grows internal storage.remaining_mut()
returnsusize::MAX
(#316).BufMut::bytes_mut
returns&mut [MaybeUninit<u8>]
to reflect the unknown initialization state (#305).Buf
/BufMut
implementations for&[u8]
and&mut [u8]
respectively (#261).- Move
Buf
/BufMut
"extra" functions to an extension trait (#306). BufMutExt::limit
(#309).Bytes::slice
takes aRangeBounds
argument (#265).Bytes::from_static
is now aconst fn
(#311).- A multitude of smaller performance optimizations.
no_std
support (#281).get_*
,put_*
,get_*_le
, andput_*le
accessors for handling byte order.BorrowMut
implementation forBytesMut
(#185).
IntoBuf
(#288).Buf
implementation for&str
(#301).byteorder
dependency (#280).iovec
dependency, usestd::IoSlice
instead (#263).- optional
either
dependency (#315). - optional
i128
feature -- now available on stable. (#276).
- Implement
FromIterator<&'a u8>
forBytesMut
/Bytes
(#244). - Implement
Buf
forVecDeque
(#249).
- Use raw pointers for potentially racy loads (#233).
- Implement
BufRead
forbuf::Reader
(#232). - Documentation tweaks (#234).
- impl
Buf
andBufMut
forEither
(#225). - Add
Bytes::slice_ref
(#208).
- Add 128 bit number support behind a feature flag (#209).
- Implement
IntoBuf
for&mut [u8]
- Fix panic in
BytesMut
FromIterator
implementation. - Bytes: Recycle space when reserving space in vec mode (#197).
- Bytes: Add resize fn (#203).
- Make
Buf
andBufMut
usable as trait objects (#186). - impl BorrowMut for BytesMut (#185).
- Improve accessor performance (#195).
- Implement FromIterator for Bytes/BytesMut (#148).
- Add
advance
fn to Bytes/BytesMut (#166). - Add
unsplit
fn toBytesMut
(#162, #173). - Improvements to Bytes split fns (#92).
- Fix range bug in
Take::bytes
- Misc performance improvements
- Add extra
PartialEq
implementations. - Add
Bytes::with_capacity
- Implement
AsMut[u8]
forBytesMut
- Add serde support behind feature flag
- Add
extend_from_slice
onBytes
andBytesMut
- Add
truncate
andclear
onBytes
- Misc additional std trait implementations
- Misc performance improvements
- Fix Vec::advance_mut bug
- Bump minimum Rust version to 1.15
- Misc performance tweaks
- Misc performance tweaks
- Improved
Debug
implementation forBytes
- Avoid some incorrect assert panics
- Expose
buf
module and have most types available from there vs. root. - Implement
IntoBuf
forT: Buf
. - Add
FromBuf
andBuf::collect
. - Add iterator adapter for
Buf
. - Add scatter/gather support to
Buf
andBufMut
. - Add
Buf::chain
. - Reduce allocations on repeated calls to
BytesMut::reserve
. - Implement
Debug
for more types. - Remove
Source
in favor ofIntoBuf
. - Implement
Extend
forBytesMut
.
- Initial release