PackageTrack
Sign in Get early access

octseq

Abstractions for types representing octet sequences.

0.6.1 11M downloads/mo #2934 most downloaded on crates.io NLnetLabs/octets

What this package is like to depend on

Last release 4 months ago

24 Apr 2026

Release timing varies

gaps range from 2 weeks to 1.5 years

Nearly every release is documented

notes for 11 of 11 stable releases

Nothing withdrawn

no release was ever pulled

4 years old

11 releases · first in 2022

2 releases in the last 12 months

see the full history below

Release timeline

11 releases · Aug 2022 to Apr 2026
2023 2024 2025 2026
Release Pre-release

Releases

latest 11
  1. 0.6.1 24 Apr 2026
    Release notes

    Improvements

    • Introduced a new feature alloc that only uses the alloc module of the standard library. The existing std feature implies alloc and is still the default. (#68)
    Open source →
    Release notes

    Released 2026-04-24.

    Improvements

    • Introduced a new feature alloc that only uses the alloc module of the standard library. The existing std feature implies alloc and is still the default. (#68)
    Open source →
  2. 0.6.0 20 Apr 2026
    Release notes

    Breaking changes

    Bug fixes

    • Fix Array::resize_raw to allow resizing to the length of the array. (#63 by @edmonds)

    Other

    • Upgraded minimum supported Rust version to 1.87. (#66)
    Open source →
    Release notes

    Released 2026-04-20.

    Breaking changes

    Bug fixes

    • Fix Array::resize_raw to allow resizing to the length of the array. (#63 by @edmonds)

    Other

    • Upgraded minimum supported Rust version to 1.87. (#66)
    Open source →
  3. 0.5.2 10 Oct 2024
    Release notes

    New

    • Added Str::try_copy_from_str and Str::copy_from_str to create a new Str<_> by copying from a &str. (#56)

    Bug fixes

    • Fixed an infinite loop in the OctetsBuilder::with_capacity impl for heapless::Vec<..>. (#59)
    Open source →
    Release notes

    New

    • Added Str::try_copy_from_str and Str::copy_from_str to create a new Str<_> by copying from a &str. (#56)

    Bug fixes

    • Fixed an infinite loop in the OctetsBuilder::with_capacity impl for heapless::Vec<..>. (#59)
    Open source →
  4. 0.5.1 13 Feb 2024
    Release notes

    New

    • Added an impl of SerialzeOctets for plain, unsized [u8]. (#54)
    Open source →
    Release notes

    Released 2024-02-13

    New

    • Added an impl of SerialzeOctets for plain, unsized [u8]. (#54)
    Open source →
  5. 0.5.0 30 Jan 2024
    Release notes

    Breaking changes

    • Removed the impls of Borrow<[u8]> for Str<_> and StrBuilder<_> (Borrow<str> is still there). (#52)

    New

    • Added an impl of OctetsFrom<_> for Smallvec<_>. (#52)
    • Added an impl of OctetsFrom<_> for Str<_>. (#51)
    Open source →
    Release notes

    Released 2024-01-30.

    Breaking changes

    • Removed the impls of Borrow<[u8]> for Str<_> and StrBuilder<_> (Borrow<str> is still there). (#52)

    New

    • Added an impl of OctetsFrom<_> for Smallvec<_>. (#52)
    • Added an impl of OctetsFrom<_> for Str<_>. (#51)
    Open source →
  6. 0.4.0 10 Jan 2024
    Release notes

    Breaking changes

    Open source →
    Release notes

    Released 2024-01-09

    Breaking changes

    Open source →
  7. 0.3.2 28 Dec 2023
    Release notes

    Bug fixes

    Open source →
    Release notes

    Released 2023-12-28.

    Bug fixes

    Open source →
  8. 0.3.1 16 Nov 2023
    Release notes

    New

    • Added Parser::with_range and Parser::try_with_range that allow creating a parser positioned and length-limited according to a given range. (#43)
    Open source →
    Release notes

    Release 2023-11-16.

    New

    • Added Parser::with_range and Parser::try_with_range that allow creating a parser positioned and length-limited according to a given range. (#43)
    Open source →
  9. 0.3.0 18 Oct 2023
    Release notes

    Breaking changes

    • Change the lifetime of the range for a reference to the lifetime of the reference. (#41 by @xofyarg)
    • Explicitly re-export select items at crate level rather than wildcard export everything. (#39)

    New

    • Adds a BuilderAppendError<_> type alias that simplifies trait bounds for complex FromBuilder trait bounds. (#38)

    Bug fixes

    • Fix Parser::peek_all to only return data up until the parser's length rather than all data. (#40)
    Open source →
    Release notes

    Release 2023-10-18.

    Breaking changes

    • Change the lifetime of the range for a reference to the lifetime of the reference. (#41 by @xofyarg)
    • Explicitly re-export select items at crate level rather than wildcard export everything. (#39)

    New

    • Adds a BuilderAppendError<_> type alias that simplifies trait bounds for complex FromBuilder trait bounds. (#38)

    Bug fixes

    • Fix Parser::peek_all to only return data up until the parser's length rather than all data. (#40)
    Open source →
  10. 0.2.0 12 May 2023
    Release notes

    Breaking Changes

    • Drop the OctetsRef trait and introduce a new Octets trait that takes over its purpose. This requires Rust 1.65.0. (#12)
    • Change the signature of Octets::range to use a range and drop all the convenience methods. (#13)
    • Split conversion from an octets builder to an immutable octets sequence off of OctetsBuilder to the new FreezeBuilder trait. (#25)
    • Dropped the len and is_empty methods from the OctetsBuilder trait. These can be requested via AsRef<[u8]> if necessary. ([#20])
    • Rearranged module structure:
      • broke up traits into octets and builder,
      • renamed types to array, and
      • moved SmallOctets to octets. (#18)
    • The integer parsing methods on Parser have been renamed to make it clear they parse big-endian integers and new methods for parsing little-endian integers have been added. (#35)
    • The optional traits SerializeOctets and DeserializeOctets have been redesigned for greater flexibility. (#21)

    New

    • Added Parser::parse_parser that allows parsing a given number of octets and return them as a cloned parser. (#10)
    • Add methods to Parser to parse 64 and 128 bit integers. (#11)
    • Added support for the heapless crate. (#19)
    • Added missing Octets implementation for Array<N>. (#29)
    • Added Octets implementation for Arc<[u8]>. (#28)
    • Added blanket implementations for OctetsBuilder and Truncate for mutable references of types that are OctetsBuilder and Truncate, respectively. (#30)
    • Added conversions from &str and &[u8] to Str<[u8]>. (#31)
    • Added Array::resize_raw. (#32, #33)
    Open source →
    Release notes

    Released 2023-05-12.

    Breaking Changes

    • Drop the OctetsRef trait and introduce a new Octets trait that takes over its purpose. This requires Rust 1.65.0. (#12)
    • Change the signature of Octets::range to use a range and drop all the convenience methods. (#13)
    • Split conversion from an octets builder to an immutable octets sequence off of OctetsBuilder to the new FreezeBuilder trait. (#25)
    • Dropped the len and is_empty methods from the OctetsBuilder trait. These can be requested via AsRef<[u8]> if necessary. ([#20])
    • Rearranged module structure:
      • broke up traits into octets and builder,
      • renamed types to array, and
      • moved SmallOctets to octets. (#18)
    • The integer parsing methods on Parser have been renamed to make it clear they parse big-endian integers and new methods for parsing little-endian integers have been added. (#35)
    • The optional traits SerializeOctets and DeserializeOctets have been redesigned for greater flexibility. (#21)

    New

    • Added Parser::parse_parser that allows parsing a given number of octets and return them as a cloned parser. (#10)
    • Add methods to Parser to parse 64 and 128 bit integers. (#11)
    • Added support for the heapless crate. (#19)
    • Added missing Octets implementation for Array<N>. (#29)
    • Added Octets implementation for Arc<[u8]>. (#28)
    • Added blanket implementations for OctetsBuilder and Truncate for mutable references of types that are OctetsBuilder and Truncate, respectively. (#30)
    • Added conversions from &str and &[u8] to Str<[u8]>. (#31)
    • Added Array::resize_raw. (#32, #33)
    Open source →
  11. 0.1.0 18 Aug 2022
    Release notes

    Released 2022-08-18.

    Initial release.

    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive