Skip to content

Releases: Enet4/byteordered

v0.6.0

03 Aug 14:22
Compare
Choose a tag to compare

Changes

  • The minimum Rust version required was bumped to 1.41.1 (#6)
  • The Endian trait now implies Copy, and all its methods receive self instead of &self (#12)
    • This should not affect most users, unless the universal function calling syntax was used (e.g. Endian::read_u16(e, src)).

New

  • read_*_into methods were added, analogous to the ones in byteorder (#8)
  • New set_endianness method in ByteOrdered (#11)

Fixes

  • Corrected typos in documented methods (#7)

Enhancements

  • Added more #[inline] attributes, giving the compiler more room for optimizations in consumers

Chores

  • Simplified and improved doctests (#10)
  • Clippy lint fixes (#9)
  • Added GitHub Actions CI (#6)

v0.5.0

02 Dec 23:44
Compare
Choose a tag to compare

Breaking

  • The method ByteOrdered#endianness() no longer returns the endianness value as known at run-time (of type Endianness), but the actual endianness information as known by the compiler (type E). This value should be more useful in general, and can be converted to an Endianness (From/Into) if that is really necessary.
  • The minimum Rust compiler version has been bumped to 1.31.0.
  • The Cargo feature i128 no longer exists and should just be removed from your project. Everything else should work as intended without it.

v0.4.0

15 Jan 22:24
Compare
Choose a tag to compare

New

  • A new macro with_order! provides an explicitly monomorphized scope for reading and writing.
  • From implementation for ByteOrdered, which can now be built from a (T, E) tuple.
  • New methods for ByteOrdered: into_parts (returns a tuple) and as_mut (for borrowing the source into a new ByteOrdered)
  • Derive Clone for ByteOrdered (where T: Clone and E: Clone, the latter is guaranteed for existing implementers).

Breaking

No breaking changes that I know of. This version bump was to better pin down the moment where all these new features were introduced.

v0.3.1

14 Dec 15:00
Compare
Choose a tag to compare

New

  • Public method StaticEndianness::new, equivalent to StaticEndianness::default

Other

  • Documentation fix: links to external crates should now work on docs.rs
  • Assume i128 feature on docs.rs

v0.3.0

05 Dec 16:18
Compare
Choose a tag to compare

New

As part of an extension to the Endian trait, Methods into_opposite and is_native are now always available on both ByteOrdered and the material endianness types StaticEndianness<B> and Endianness.

Changes

Other definitions of into_opposite were moved into the Endian trait. If you find a compilation error, you might need to use it.

Other

Minor documentation improvements.

v0.2.0

22 Nov 22:48
Compare
Choose a tag to compare

Breaking changes

  • Endianness::le_iif and Endianness::be_iif were renamed to Endianness::le_iff and Endianness::be_iff (an unfortunate typo...)
    • the compiler's fuzzy name search should recommend you the right method to call if you were already using 0.1.0

New

  • ByteOrdered now exposes the BufRead and Seek implementations of the inner type.