Skip to content

Releases: bytedance/sonic

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

v1.10.3-rc

21 Nov 06:34
3d13f33
Compare
Choose a tag to compare

What's Changed

  • fix: checked if a interface is empty by its value field instead of type field by @AsterDY in #540
  • fix: didn't pass non-exist value when call Node.Interface() by @AsterDY in #544
  • fix: didn't fully reuse buffer memory by @AsterDY in #547
  • opt: refactor streaming decoder to fully use buffer by @AsterDY in #550
  • opt: eliminate race test errors by @AsterDY in #545
  • opt: use lockfree to register new modules by @felix021 in #552
  • chore: use out.String() instead of string(out.Bytes()) by @testwill in #557

New Contributors

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

v1.10.2-unsafe_back

13 Nov 15:06
Compare
Choose a tag to compare

Only used for users who doesn't care about break change on Node.UnsafeArray() and Node.UnsafeMap()