All notable changes to deser are documented here.
- Made
derive
a default feature. - Removed number serialization support in JSON serializer.
- Removed
for_each_event
. - Added
speedups
feature forserde-json
to useryu
anditoa
. - Added deserialization support for BTreeSet and HashSet.
Option<T>
is now automatically defaulted in structs, even if#[deser(default)]
is not provided. If this distinction between missing and null is neededOption<Option<T>>
can be used.- Removed non String serialization support for deser-json for now.
- Added support for
Box<T>
. - Added newtype struct support for derive feature.
Driver
is now calledDeserializeDriver
.- Added
SerializeDriver
. - Added
deser-json
.
- Made
Atom
non exhaustive and addedunexpected_atom
toDeserialize
. - Removed
MapSink
andSeqSink
. The functionality of these is now directly on theSink
. - The serializer state and deserializer state is now passed to
next_key
/next_value
andnext
on the sinks and emitters. - Added support for
#[deser(flatten)]
.
- Added support for
#[deser(default)]
in deriving. - Added support for
#[deser(skip_serializing_optionals)]
. - Removed
ignore
and replaced it withSinkHandle::null
. - Added tuple support.
- Added array support.
- Added support for
#[deser(alias)]
. - Added support for characters to the data model.
- Added support for serializing references.
- Restructure serialization and deserialization to pass
Atom
values withinEvent
andChunk
. This changes the interface from invoking type specific methods on the sink to passing an entireAtom
instead. - Events are now passed by value rather than reference.
- Added basic support for
Option<T>
. - Added basic support for deriving simple enums.