Skip to content

Releases: bytedance/sonic

v1.11.8

29 May 09:35
381aa24
Compare
Choose a tag to compare

Feature

  • [#630] feat:(ast) Visitor support skip object and array

Bugfix

  • [#632] fix: better compile error info in 32-bit arch
  • [#642] fix: check empty when validating utf8
  • [#636] fix: add mssing max pc-sp of natives

Full Changelog: v1.11.7...v1.11.8

v1.11.7

22 May 02:28
be4a498
Compare
Choose a tag to compare

What's Changed

BugFix

  • fix: wrongly use reflect.growslice() by @AsterDY in #629
  • fix: possible oom when encode parallel in go1.16 by @liuq19 in #635

Full Changelog: v1.11.6...v1.11.7

v1.11.6

29 Apr 03:13
2b66aef
Compare
Choose a tag to compare

What's Changed

Full Changelog: v1.11.4...v1.11.6

v1.11.4

15 Apr 03:42
bd821ee
Compare
Choose a tag to compare

What's Changed

  • [#607] feat:(ast) support arm64
  • [#618] chore: immigrate some dependencies to cloudwego
  • [#619] build:(native) full inline native C funcs

New Contributors

Full Changelog: v1.11.2...v1.11.4

v1.11.2-arm_ast

01 Mar 03:15
Compare
Choose a tag to compare
v1.11.2-arm_ast Pre-release
Pre-release
resolve conflict

v1.11.2

28 Feb 11:34
3739ffe
Compare
Choose a tag to compare

Bugfix

  • [#603] fix:(ast) SortKeys(true) panic when not loaded-all

Full Changelog: v1.11.1...v1.11.2

v1.11.1

26 Feb 07:05
618834f
Compare
Choose a tag to compare

Feature

  • [#594] (ast) add new node method "IndexOrGetWithIdx"

Bugfix

  • [#601] (ast) Unset() used physical index to removePair
  • [#599] (build) support build rt on non-amd64 env

New Contributors

Full Changelog: v1.11.0...v1.11.1

v1.11.0

18 Feb 07:36
3f15f26
Compare
Choose a tag to compare

Feature

  • [#590] support go1.22
  • [#558] (encoder) allow the disabling of the newline in the encoder
  • [#577] (ast) always copy once after top Get

Bugfix

  • [#540] (encoder) checked if a interface is empty by its value field instead of type field
  • [#544] (ast) didn't pass non-exist value when call Node.Interface()
  • [#547] (decoder) didn't fully reuse buffer memory
  • [#569] (ast) Set on non-object node unexpectedly
  • [#571] (ast) implement soft delete for Unset().
    • Break change : Unset()'s behavior will be compatible with versions <= 1.9.x, while being incompatible with versions on 1.10.x

Optimization

  • [#550] (decoder) refactor streaming decoder to fully use buffer
  • [#545] eliminate race test errors
  • [#552] (loader) use lockfree to register new modules

New Contributors

Full Changelog: v1.10.2...v1.11.0

v1.11.0-rc.2

26 Jan 07:19
9f2242e
Compare
Choose a tag to compare

Feature

  • [#577] Get() will always COPY returned JSON from input JSON bytes, in order to reduce the possibility of OOM when caching ast.Node.
    • NOTICE: Meanwhile Get() won't copy entity input JSON bytes like before, for CPU performance. The panic may be more frequent for services that exist data-race on input JSON bytes.

Full Changelog: v1.11.0-rc...v1.11.0-rc.2

v1.11.0-rc

02 Jan 03:03
f806331
Compare
Choose a tag to compare

Break Change

[#571] (ast) implement soft delete for Unset()/UnsetByIndex(), which means the node Len() and Index() will change after Unset(). This change is in order to be in keeping with versions <= v1.9.2

Feature

  • #558 allow the disabling of the newline in the encoder
  • [#567] perfect build tag for mmap_unix.go

Bugfix

  • [#569]Set on non-object node unexpectedly change node type

New Contributors

Full Changelog: v1.10.3-rc...v1.11.0-rc