Skip to content

Releases: bytedance/sonic

v1.0.2

15 Feb 10:39
5be8daf
Compare
Choose a tag to compare
fix: premature GC on decoding string (#187)

* fix: cast `[]byte` to `string` for `Unmarshal()`

* fix: store `Decoder.s` to `_Stack` to avoid premature GC

* fix: add gcwritebarrir for `op_str`

Release v1.0.0

31 Dec 09:24
fcfe1c4
Compare
Choose a tag to compare

Feature

  • [#155] ast.Node supports containing interface{}
  • [#164] ast.Node supports sorting pair keys
  • [#152] syntax error always shows related JSON (quoted)

Bugfix

  • [#148] align 'string' option in struct tag as encoding/json
  • [#155] quote string when call node.MarshalJSON()
  • [#156, #159] relocate stack pointers for GC recognition
  • [#161] prevent out-of-bounds accessing in native.advance_string()
  • [#162] shrink function stacks and achieve stack-split check
  • [#166] keep passed buffer alive when encoding

Full Changelog: v1.0.0-rc.3...v1.0.0

v1.0.0-rc.3

02 Dec 03:30
d2711a6
Compare
Choose a tag to compare
v1.0.0-rc.3 Pre-release
Pre-release

Feature

  • [#116] support Go 1.17
  • [#137] add compiler option WithCompileRecursiveDepth to pretouch recursively for large/deep struct

Bugfix

  • [#142] correct the field priority as encoding/json in case-insensitive match
  • [#145] use global variables to keep all arguments and locals alive

v1.0.0-rc.2

18 Nov 04:58
5b38f56
Compare
Choose a tag to compare
v1.0.0-rc.2 Pre-release
Pre-release

Bugfix

  • [#127] keep internal pointers alive whileMarshal() or Unmarshal()
  • [#131] generate gcWriteBarrier in JIT (only support Go1.16 [#134])
  • [#132] fix stack-overflow error (json.UnsupportedValue) after frequent errors
  • [#129] avoid the pointer of argumentval cleared while debugging

v1.0.0-rc.1

28 Oct 10:15
3a25fca
Compare
Choose a tag to compare
v1.0.0-rc.1 Pre-release
Pre-release

Improvement

  • [#124] add node.Load()/LoadAll() to support concurrency

Bugfix

  • [#122 ] add runtime.KeepAlive() to avoid premature GC during Marshal()/Unmarshal()

v1.0.0-rc

22 Oct 09:34
Compare
Choose a tag to compare
v1.0.0-rc Pre-release
Pre-release

Bugfix

  • [ #107 ] ignored the UTF-16 surrogate pair after an invalid unicode
  • [ #108 ] couldn't skip zero-based exponent in skip_number()
  • [ #112 ] returned error when unmarshalling invalid base64-encoded strings
  • [ #113 ] redundantly handled struct-typed fields' "omitempty" tag
  • [ #115 ] encoder.SortMapKeys flag didn't work when marshalling integer-key map