Bytedance Sonic Versions Save

A blazingly fast JSON serializing & deserializing library

v1.11.4

1 week ago

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: https://github.com/bytedance/sonic/compare/v1.11.2...v1.11.4

v1.11.3

1 month ago

Feature

  • [#607] ast package support arm64

Full Changelog: https://github.com/bytedance/sonic/compare/v1.11.2...v1.11.3

v1.11.2-arm_ast

1 month ago

v1.11.2

1 month ago

Bugfix

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

Full Changelog: https://github.com/bytedance/sonic/compare/v1.11.1...v1.11.2

v1.11.1

2 months ago

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: https://github.com/bytedance/sonic/compare/v1.11.0...v1.11.1

v1.11.0

2 months ago

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: https://github.com/bytedance/sonic/compare/v1.10.2...v1.11.0

v1.11.0-rc.2

3 months ago

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: https://github.com/bytedance/sonic/compare/v1.11.0-rc...v1.11.0-rc.2

v1.11.0-rc

3 months ago

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: https://github.com/bytedance/sonic/compare/v1.10.3-rc...v1.11.0-rc

v1.10.3-rc

5 months ago

What's Changed

New Contributors

Full Changelog: https://github.com/bytedance/sonic/compare/v1.10.2...v1.10.3-rc

v1.10.2-unsafe_back

5 months ago

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