Skip to content

Releases: cloudwego/sonic-rs

0.3.7

12 Jun 10:46
Compare
Choose a tag to compare

What's Changed

  • fix: possible use-after-free bug in Array::new and Object::new by @liuq19 in #90
  • doc: add LazyValue convert to serde_json::Value examples by @gongzhengyang in #91

New Contributors

Full Changelog: 0.3.6...0.3.7

0.3.6

24 May 07:49
Compare
Choose a tag to compare

What's Changed

Feature

  • feat: support sort-keys and arbitrary_precision feature by @liuq19 in #85

Others

  • Re-export Index, JsonInput and FastStr by @aldanor in #81

New Contributors

Full Changelog: 0.3.5...0.3.6

0.3.5

22 Apr 11:11
Compare
Choose a tag to compare

BugFix

  • [#74] fix CPU detection bugs
  • [#73] should checking the end when visit_map/visit_seq

Full Changelog: 0.3.4...0.3.5

0.3.4

13 Mar 03:30
Compare
Choose a tag to compare

BugFix

  • [#68] fix bug when deserialize JSON number array into bytes::Bytes

Full Changelog: 0.3.3...0.3.4

0.3.3

27 Feb 09:02
Compare
Choose a tag to compare

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

Full Changelog: 0.3.2...0.3.3

0.3.2

11 Jan 03:58
Compare
Choose a tag to compare

What's Changed

  • fix: add default, debug, diplay for lazyvalue by @liuq19 in #57

Full Changelog: 0.3.1...0.3.2

0.3.1

03 Jan 02:41
Compare
Choose a tag to compare

Main Changes

  1. Support Stable Rust. Remove packed_simd dependency.
  2. Optimize aarch64 performance.
  3. Fix Clone() bug and Value serde bugs (introduced in 0.3.0)
  4. Use TLS buffer with a limited capacity, to prevent consuming too much memory.

Full Changelog: 0.3.0...0.3.1

0.3.0

26 Dec 06:40
Compare
Choose a tag to compare

Break Change

sonic-rs 0.3.x 主要变动:

  1. 重构了 Document,Document 已经与 serde trait 兼容,因此,在结构体中,能直接使用 sonic_rs::ValueLazyValue
  2. 移除了RawValue,RawValue可以用更强大的 LazyValue 代替。
  3. 增加了宏 json! , object!array!,能够方便地构造 sonic_rs::Value, Object 和 Array 类型。

迁移指南:

  1. 如果之前使用了 sonic_rs::Document,ValueMut 和 ValueRef 等, 可以直接使用 sonic_rs::Value 代替,接口基本与 serde-json 类似。
  2. 如果之前使用了 dom_from_xxx, 可以直接使用 sonic_rs::from_str/slice 等代替。
  3. 如果之前使用了 RawValue, 请直接使用 LazyValue 代替。

其他变动主要是部分接口名字做了微调。

The main changes in sonic-rs 0.3.x can be summarized as follows:

  1. 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.
  2. Removal of RawValue: The RawValue struct has been removed and can be replaced with the more powerful LazyValue.
  3. Support macros json! , object! and array!.

Migration Guide:

  1. 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.
  2. If you were previously using dom_from_xxx functions, you can now use sonic_rs::from_str/slice, or similar functions as replacements.
  3. 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

0.2.5

07 Dec 05:01
Compare
Choose a tag to compare

What's Changed

  • feat: impl Index and IndexMut for &String and &FastStr by @Millione in #37
  • fix: fuzz serde struct and fix bugs by @liuq19 in #40

New Contributors

Full Changelog: 0.2.4...0.2.5

0.2.4

07 Nov 07:31
Compare
Choose a tag to compare

What's Changed

  • fix: parse number use raw_num in fallback logic by @liuq19 in #33
  • fix: bugs found in fuzzing tests by @liuq19 in #35
  • feat: add to_array/object_iter_unchecked and update documents by @liuq19 in #36

Full Changelog: 0.2.3...0.2.4