Releases: cloudwego/sonic-rs
Releases · cloudwego/sonic-rs
0.3.5
0.3.4
0.3.3
Optimize
- [#63] Use faster NEON bitmask for parsing in aarch64
Bugfix
- [#63] Fix skip number bug in the corner case, such as
1230/
- [#65] Fix parse very long float number without dot bug
New Contributors
- @kasugamirai made their first contribution at #62
Full Changelog: 0.3.2...0.3.3
0.3.2
0.3.1
Main Changes
- Support Stable Rust. Remove packed_simd dependency.
- Optimize aarch64 performance.
- Fix Clone() bug and Value serde bugs (introduced in 0.3.0)
- Use TLS buffer with a limited capacity, to prevent consuming too much memory.
Full Changelog: 0.3.0...0.3.1
0.3.0
Break Change
sonic-rs 0.3.x 主要变动:
- 重构了 Document,Document 已经与
serde
trait 兼容,因此,在结构体中,能直接使用sonic_rs::Value
或LazyValue
。 - 移除了RawValue,RawValue可以用更强大的 LazyValue 代替。
- 增加了宏
json!
,object!
和array!
,能够方便地构造 sonic_rs::Value, Object 和 Array 类型。
迁移指南:
- 如果之前使用了 sonic_rs::Document,ValueMut 和 ValueRef 等, 可以直接使用 sonic_rs::Value 代替,接口基本与 serde-json 类似。
- 如果之前使用了 dom_from_xxx, 可以直接使用
sonic_rs::from_str/slice
等代替。 - 如果之前使用了 RawValue, 请直接使用 LazyValue 代替。
其他变动主要是部分接口名字做了微调。
The main changes in sonic-rs 0.3.x can be summarized as follows:
- Refactoring of Document: The Document struct has been refactored and is now compatible with the
serde
trait. As a result, within the struct, you can directly use sonic_rs::Value or LazyValue. - Removal of RawValue: The RawValue struct has been removed and can be replaced with the more powerful LazyValue.
- Support macros
json!
,object!
andarray!
.
Migration Guide:
- If you were previously using sonic_rs::Document, ValueMut, or ValueRef, you can now directly use sonic_rs::Value instead. The interface is similar to
serde-json
. - If you were previously using dom_from_xxx functions, you can now use sonic_rs::from_str/slice, or similar functions as replacements.
- If you were previously using RawValue, please use LazyValue instead.
Other changes mainly involve minor adjustments to interface names.
New Contributors
Full Changelog: 0.2.5...0.3.0