- Re-export the
#[derive(Protocol)]
attribute directly from theprotocol
crate so that only one dependency needs to be pulled in. This feature is enabled by default and can be opted out withdefault-features = false
.
- Deprecate the
HighLevel
trait as it is horribly designed and often causes conflicting blanket impl errors in downstream crates that also attempt blanketParcel
impls.
- Implement
Parcel
for tuple 5-tuples, 6-tuples, all the way to 10-tuples
- Change the order of parameters to the list writer methods in the 'util' module
** The previous ordering was confusing, and also inconsistent with the ordering to
util::read_*
.
- Add a
Read
parameter toHighLevel::from_low_level
- Remove the
define_composite_type!
anddefine_packet_kind!
macros- Deprecated in favor of the #[derive] macro
- Rename
Parcel::read
andParcel::write
toread_field
andwrite_field
- Aliases have been added for the
read
andwrite
methods
- Aliases have been added for the
- Add a
hint::Hints
parameter toParcel
- Add a
logic::Aligned
type for automatic alignment - Add a new length prefix type
elements
. Length prefixes of this type specify the number of elements in a collection.
- All enums now default to
#[protocol(discriminant = "string")]
- This discriminator type allows the most flexibility in future protocol changes.
- The old behaviour can still be achieved via
#[protocol(discriminant = "integer")]
- Add
protocol::Settings
to Parcel API for byte order configuration- Every
Parcel
implementation must be adjusted to include the new argument
- Every
- The
#[repr(integer type)]
enum attribute is now recognized and respected.
Changelog did not exist when these versions were released.