All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
v0.6.0 - 2024-08-07
- MSRV is now
1.65.0
.
- Support for optional package
defmt
which allows for easy conversion for error types when using tools likeprobe-rs
for logging over debuggers. - Implement
Serializer::collect_str
- Derive
Serialize
forde::Error
andser::Error
- Support for deserializing escaped strings using
from_str_escaped
andfrom_slice_escaped
.
heapless
bumped to v0.8.
v0.5.1 - 2023-07-26
- Support for serializing tuple structs. These are serialized as JSON arrays,
which matches
serde_json
behaviour. Serializer
andDeserializer
are nowpub
.- Added
pub
Serializer::end()
andDeserializer::end()
.
- Increase MSRV to 1.56.0 to work around dependency-MSRV issues (see #72)
v0.5.0 - 2022-11-04
- Changed serialization of
f32
/f64
that are!is_finite()
(i.e.NAN
,INFINITY
,NEG_INFINITY
) to result in JSONnull
. This matchesserde_json
behavior. - Changed deserialization of JSON
null
wheref32
/f64
is expected to result in the respectiveNAN
. - [breaking-change] increase MSRV to Rust
1.55.0
due tomaybe_uninit_extra
.
v0.4.0 - 2021-05-08
- Support for opting out of heapless integration
- [breaking-change] use
const_generics
into_string()
andto_vec()
functions. - [breaking-change] update to
heapless
0.7
. - [breaking-change] increase MSRV to Rust
1.51.0
due toconst_generics
.
v0.3.0 - 2021-04-29
heapless
is now publicly exported- Added new
serialize_bytes
method
- Floating point numbers terminated by EOF may now be deserialized
- ryu is used to serialize
f32
andf64
- [breaking-change] Heapless dependency updated to 0.6.1
v0.2.0 - 2020-12-11
- Support for serialization into slices
- Support for serializing and deserializing unit types, newtypes and variants
- Changed deserializations to return the number of bytes used
- Changed deserializer and serializer to handle escaped strings
- Changed deserializer to handle whitespaces before sequence
- Raised MSRV to 1.40.0 in order to use
non_exhaustive
v0.1.0 - 2019-11-17
- support for floats and tuple structs
- [breaking-change] The
heapless
dependency has been bumped to v0.5.0 - This crate now compiles on stable (MSRV = 1.31)
Initial release