7.6 KiB
7.6 KiB
1.4.0 (January 31, 2023)
Added
- Make
IntoIterconstructor public (#581)
Fixed
- Avoid large reallocations when freezing
BytesMut(#592)
Documented
- Document which functions require
std(#591) - Fix duplicate "the the" typos (#585)
1.3.0 (November 20, 2022)
Added
- Rename and expose
BytesMut::spare_capacity_mut(#572) - Implement native-endian get and put functions for
BufandBufMut(#576)
Fixed
- Don't have important data in unused capacity when calling reserve (#563)
Documented
Bytes::newetc should returnSelfnotBytes(#568)
1.2.1 (July 30, 2022)
Fixed
- Fix unbounded memory growth when using
reserve(#560)
1.2.0 (July 19, 2022)
Added
- Add
BytesMut::zeroed(#517) - Implement
Extend<Bytes>forBytesMut(#527) - Add conversion from
BytesMuttoVec<u8>(#543, #554) - Add conversion from
BytestoVec<u8>(#547) - Add
UninitSlice::as_uninit_slice_mut()(#548) - Add const to
Bytes::{len,is_empty}(#514)
Changed
- Reuse vector in
BytesMut::reserve(#539, #544)
Fixed
- Make miri happy (#515, #523, #542, #545, #553)
- Make tsan happy (#541)
- Fix
remaining_mut()on chain (#488) - Fix amortized asymptotics of
BytesMut(#555)
Documented
- Redraw layout diagram with box drawing characters (#539)
- Clarify
BytesMut::unsplitdocs (#535)
1.1.0 (August 25, 2021)
Added
BufMut::put_bytes(self, val, cnt)(#487)- Implement
From<Box<[u8]>>forBytes(#504)
Changed
- Override
put_slicefor&mut [u8](#483) - Panic on integer overflow in
Chain::remaining(#482) - Add inline tags to
UninitSlicemethods (#443) - Override
copy_to_bytesfor Chain and Take (#481) - Keep capacity when unsplit on empty other buf (#502)
Documented
- Clarify
BufMutallocation guarantees (#501) - Clarify
BufMut::put_intbehavior (#486) - Clarify actions of
clearandtruncate. (#508)
1.0.1 (January 11, 2021)
Changed
- mark
Vec::put_slicewith#[inline](#459)
Fixed
- Fix deprecation warning (#457)
- use
Box::into_rawinstead ofmem::forget-in-disguise (#458)
1.0.0 (December 22, 2020)
Changed
- Rename
Buf/BufMutmethodsbytes()andbytes_mut()tochunk()andchunk_mut()(#450)
Removed
- remove unused Buf implementation. (#449)
0.6.0 (October 21, 2020)
API polish in preparation for a 1.0 release.
Changed
BufMutis now anunsafetrait (#432).BufMut::bytes_mut()returns&mut UninitSlice, a type owned bybytesto avoid undefined behavior (#433).Buf::copy_to_bytes(len)replacesBuf::into_bytes()(#439).Buf/BufMututility methods are moved onto the trait and*Exttraits are removed (#431).
Removed
BufMut::bytes_vectored_mut()(#430).newmethods on combinator types (#434).
0.5.6 (July 13, 2020)
- Improve
BytesMutto reuse buffer when fullyadvanced. - Mark
BytesMut::{as_mut, set_len}with#[inline]. - Relax synchronization when cloning in shared vtable of
Bytes. - Move
loomtodev-dependencies.
0.5.5 (June 18, 2020)
Added
- Allow using the
serdefeature inno_stdenvironments (#385).
Fix
- Fix
BufMut::advance_mutto panic if advanced passed the capacity (#354).. - Fix
BytesMut::freezeignoring amount previouslyadvanced (#352).
0.5.4 (January 23, 2020)
Added
- Make
Bytes::newaconst fn. - Add
From<BytesMut>forBytes.
Fix
- Fix reversed arguments in
PartialOrdforBytes. - Fix
Bytes::truncatelosing original capacity when repr is an unsharedVec. - Fix
Bytes::from(Vec)when allocator gaveVeca pointer with LSB set. - Fix panic in
Bytes::slice_refif argument is an empty slice.
0.5.3 (December 12, 2019)
Added
must_useattributes tosplit,split_off, andsplit_tomethods (#337).
Fix
- Potential freeing of a null pointer in
Byteswhen constructed with an emptyVec<u8>(#341, #342). - Calling
Bytes::truncatewith a size large than the length will no longer clear theBytes(#333).
0.5.2 (November 27, 2019)
Added
Limitmethodsinto_inner,get_ref,get_mut,limit, andset_limit(#325).
0.5.1 (November 25, 2019)
Fix
- Growth documentation for
BytesMut(#321)
0.5.0 (November 25, 2019)
Fix
- Potential overflow in
copy_to_slice
Changed
- Increased minimum supported Rust version to 1.39.
Bytesis now a "trait object", allowing for custom allocation strategies (#298)BytesMutimplicitly grows internal storage.remaining_mut()returnsusize::MAX(#316).BufMut::bytes_mutreturns&mut [MaybeUninit<u8>]to reflect the unknown initialization state (#305).Buf/BufMutimplementations for&[u8]and&mut [u8]respectively (#261).- Move
Buf/BufMut"extra" functions to an extension trait (#306). BufMutExt::limit(#309).Bytes::slicetakes aRangeBoundsargument (#265).Bytes::from_staticis now aconst fn(#311).- A multitude of smaller performance optimizations.
Added
no_stdsupport (#281).get_*,put_*,get_*_le, andput_*leaccessors for handling byte order.BorrowMutimplementation forBytesMut(#185).
Removed
IntoBuf(#288).Bufimplementation for&str(#301).byteorderdependency (#280).iovecdependency, usestd::IoSliceinstead (#263).- optional
eitherdependency (#315). - optional
i128feature -- now available on stable. (#276).
0.4.12 (March 6, 2019)
Added
- Implement
FromIterator<&'a u8>forBytesMut/Bytes(#244). - Implement
BufforVecDeque(#249).
0.4.11 (November 17, 2018)
- Use raw pointers for potentially racy loads (#233).
- Implement
BufReadforbuf::Reader(#232). - Documentation tweaks (#234).
0.4.10 (September 4, 2018)
- impl
BufandBufMutforEither(#225). - Add
Bytes::slice_ref(#208).
0.4.9 (July 12, 2018)
- Add 128 bit number support behind a feature flag (#209).
- Implement
IntoBuffor&mut [u8]
0.4.8 (May 25, 2018)
- Fix panic in
BytesMutFromIteratorimplementation. - Bytes: Recycle space when reserving space in vec mode (#197).
- Bytes: Add resize fn (#203).
0.4.7 (April 27, 2018)
- Make
BufandBufMutusable as trait objects (#186). - impl BorrowMut for BytesMut (#185).
- Improve accessor performance (#195).
0.4.6 (Janary 8, 2018)
- Implement FromIterator for Bytes/BytesMut (#148).
- Add
advancefn to Bytes/BytesMut (#166). - Add
unsplitfn toBytesMut(#162, #173). - Improvements to Bytes split fns (#92).
0.4.5 (August 12, 2017)
- Fix range bug in
Take::bytes - Misc performance improvements
- Add extra
PartialEqimplementations. - Add
Bytes::with_capacity - Implement
AsMut[u8]forBytesMut
0.4.4 (May 26, 2017)
- Add serde support behind feature flag
- Add
extend_from_sliceonBytesandBytesMut - Add
truncateandclearonBytes - Misc additional std trait implementations
- Misc performance improvements
0.4.3 (April 30, 2017)
- Fix Vec::advance_mut bug
- Bump minimum Rust version to 1.15
- Misc performance tweaks
0.4.2 (April 5, 2017)
- Misc performance tweaks
- Improved
Debugimplementation forBytes - Avoid some incorrect assert panics
0.4.1 (March 15, 2017)
- Expose
bufmodule and have most types available from there vs. root. - Implement
IntoBufforT: Buf. - Add
FromBufandBuf::collect. - Add iterator adapter for
Buf. - Add scatter/gather support to
BufandBufMut. - Add
Buf::chain. - Reduce allocations on repeated calls to
BytesMut::reserve. - Implement
Debugfor more types. - Remove
Sourcein favor ofIntoBuf. - Implement
ExtendforBytesMut.
0.4.0 (February 24, 2017)
- Initial release