- Re-export the
#[derive(Protocol)]attribute directly from theprotocolcrate 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
HighLeveltrait as it is horribly designed and often causes conflicting blanket impl errors in downstream crates that also attempt blanketParcelimpls.
- Implement
Parcelfor 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
Readparameter toHighLevel::from_low_level
- Remove the
define_composite_type!anddefine_packet_kind!macros- Deprecated in favor of the #[derive] macro
- Rename
Parcel::readandParcel::writetoread_fieldandwrite_field- Aliases have been added for the
readandwritemethods
- Aliases have been added for the
- Add a
hint::Hintsparameter toParcel - Add a
logic::Alignedtype 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::Settingsto Parcel API for byte order configuration- Every
Parcelimplementation 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.