Skip to content

Latest commit

 

History

History
220 lines (157 loc) · 6.26 KB

CHANGELOG.md

File metadata and controls

220 lines (157 loc) · 6.26 KB

1.1.0 (August 25, 2021)

Added

  • BufMut::put_bytes(self, val, cnt) (#487)
  • Implement From<Box<[u8]>> for Bytes (#504)

Changed

  • 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)

Documented

  • Clarify BufMut allocation guarantees (#501)
  • Clarify BufMut::put_int behavior (#486)
  • Clarify actions of clear and truncate. (#508)

1.0.1 (January 11, 2021)

Changed

  • mark Vec::put_slice with #[inline] (#459)

Fixed

  • Fix deprecation warning (#457)
  • use Box::into_raw instead of mem::forget-in-disguise (#458)

1.0.0 (December 22, 2020)

Changed

  • Rename Buf/BufMut methods bytes() and bytes_mut() to chunk() and chunk_mut() (#450)

Removed

  • remove unused Buf implementation. (#449)

0.6.0 (October 21, 2020)

API polish in preparation for a 1.0 release.

Changed

  • BufMut is now an unsafe trait (#432).
  • BufMut::bytes_mut() returns &mut UninitSlice, a type owned by bytes to avoid undefined behavior (#433).
  • Buf::copy_to_bytes(len) replaces Buf::into_bytes() (#439).
  • Buf/BufMut utility methods are moved onto the trait and *Ext traits are removed (#431).

Removed

  • BufMut::bytes_vectored_mut() (#430).
  • new methods on combinator types (#434).

0.5.6 (July 13, 2020)

  • Improve BytesMut to reuse buffer when fully advanced.
  • Mark BytesMut::{as_mut, set_len} with #[inline].
  • Relax synchronization when cloning in shared vtable of Bytes.
  • Move loom to dev-dependencies.

0.5.5 (June 18, 2020)

Added

  • Allow using the serde feature in no_std environments (#385).

Fix

  • Fix BufMut::advance_mut to panic if advanced passed the capacity (#354)..
  • Fix BytesMut::freeze ignoring amount previously advanced (#352).

0.5.4 (January 23, 2020)

Added

  • Make Bytes::new a const fn.
  • Add From<BytesMut> for Bytes.

Fix

  • Fix reversed arguments in PartialOrd for Bytes.
  • Fix Bytes::truncate losing original capacity when repr is an unshared Vec.
  • Fix Bytes::from(Vec) when allocator gave Vec a pointer with LSB set.
  • Fix panic in Bytes::slice_ref if argument is an empty slice.

0.5.3 (December 12, 2019)

Added

  • must_use attributes to split, split_off, and split_to methods (#337).

Fix

  • Potential freeing of a null pointer in Bytes when constructed with an empty Vec<u8> (#341, #342).
  • Calling Bytes::truncate with a size large than the length will no longer clear the Bytes (#333).

0.5.2 (November 27, 2019)

Added

  • Limit methods into_inner, get_ref, get_mut, limit, and set_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.
  • Bytes is now a "trait object", allowing for custom allocation strategies (#298)
  • BytesMut implicitly grows internal storage. remaining_mut() returns usize::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 a RangeBounds argument (#265).
  • Bytes::from_static is now a const fn (#311).
  • A multitude of smaller performance optimizations.

Added

  • no_std support (#281).
  • get_*, put_*, get_*_le, and put_*le accessors for handling byte order.
  • BorrowMut implementation for BytesMut (#185).

Removed

  • IntoBuf (#288).
  • Buf implementation for &str (#301).
  • byteorder dependency (#280).
  • iovec dependency, use std::IoSlice instead (#263).
  • optional either dependency (#315).
  • optional i128 feature -- now available on stable. (#276).

0.4.12 (March 6, 2019)

Added

  • Implement FromIterator<&'a u8> for BytesMut/Bytes (#244).
  • Implement Buf for VecDeque (#249).

0.4.11 (November 17, 2018)

  • Use raw pointers for potentially racy loads (#233).
  • Implement BufRead for buf::Reader (#232).
  • Documentation tweaks (#234).

0.4.10 (September 4, 2018)

  • impl Buf and BufMut for Either (#225).
  • Add Bytes::slice_ref (#208).

0.4.9 (July 12, 2018)

  • Add 128 bit number support behind a feature flag (#209).
  • Implement IntoBuf for &mut [u8]

0.4.8 (May 25, 2018)

  • Fix panic in BytesMut FromIterator implementation.
  • Bytes: Recycle space when reserving space in vec mode (#197).
  • Bytes: Add resize fn (#203).

0.4.7 (April 27, 2018)

  • Make Buf and BufMut usable 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 advance fn to Bytes/BytesMut (#166).
  • Add unsplit fn to BytesMut (#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 PartialEq implementations.
  • Add Bytes::with_capacity
  • Implement AsMut[u8] for BytesMut

0.4.4 (May 26, 2017)

  • Add serde support behind feature flag
  • Add extend_from_slice on Bytes and BytesMut
  • Add truncate and clear on Bytes
  • 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 Debug implementation for Bytes
  • Avoid some incorrect assert panics

0.4.1 (March 15, 2017)

  • Expose buf module and have most types available from there vs. root.
  • Implement IntoBuf for T: Buf.
  • Add FromBuf and Buf::collect.
  • Add iterator adapter for Buf.
  • Add scatter/gather support to Buf and BufMut.
  • Add Buf::chain.
  • Reduce allocations on repeated calls to BytesMut::reserve.
  • Implement Debug for more types.
  • Remove Source in favor of IntoBuf.
  • Implement Extend for BytesMut.

0.4.0 (February 24, 2017)

  • Initial release