Skip to content

Releases: bytedance/sonic

v1.3.3

08 Jul 08:19
07d7b86
Compare
Choose a tag to compare

Feature

  • [#218] feat:(encoder) add encoder option NoNullSliceOrMap

Bugfix

  • [#259] fix:(encoder) panic on calling MarshalJSON() of a alias map
  • [#261] fix:(decoder) didn't check ',' before a object key due to imperfect FSM

Full Changelog: v1.3.2...v1.3.3

v1.3.2

03 Jul 06:16
55e3d10
Compare
Choose a tag to compare

Feature

  • [#249] feat:(ast) Add more strict casting APIs (StrictXXX())

Bugfix

  • [#243] fix:(encoder) Escape \b/\f like encoding/json
  • [#250] fix:(ast) checkRaw() checks nil-pointer first
  • [#254] fix: (decoder) return io.EOF when read nothing from io.Reader

Full Changelog: v1.3.1...v1.3.2

v1.3.1

09 Jun 04:00
410625c
Compare
Choose a tag to compare

Feature

  • [#237] opt: remove bound and loop unrolling in the quote process. The benchmark showed the encoding performance was accelerated by 10%~20%.

CI

Full Changelog: v1.3.0...v1.3.1

v1.3.0

25 May 07:14
ced2830
Compare
Choose a tag to compare

Feature

  • [#233] add configurable sonic.API to be compatible with encoding/json library and ARM arch.
  • [#225] support streaming IO with encoder.StreamEncoder and decoder.StreamDecoder.
  • [#228] support windows OS.

Bugfix

  • [#230] (encoder) fix the invalid length of output buffer caused by register-scratching bug under encoding error.
  • [#224] (encoder) add defensive string-pointer-checking to avoid crashes on native-C stack.

Full Changelog: v1.2.0...v1.3.0

v1.2.2

23 May 07:29
75b728b
Compare
Choose a tag to compare

What's Changed

  • fix: some typos by @liuq19 in #221
  • fix: add nil pointer check by @AsterDY in #224
  • fix (encoder): spill RL (buffer length) register while calling internal encoders in case of it got scratched by @AsterDY in #230
  • feat: support for Windows by @ii64 in #228

New Contributors

  • @ii64 made their first contribution in #228

Full Changelog: v1.2.1...v1.2.2

v1.2.1

21 Apr 07:44
9aab470
Compare
Choose a tag to compare

What's Changed

[#216 ]doc: update readme
[#215] fix: base64x' native decoder stack-overflow under AVX2 CPU

Full Changelog: v1.2.0...v1.2.1

v1.2.0

02 Apr 03:13
57989f3
Compare
Choose a tag to compare

Feature

  • [#214] support Go 1.18
  • [#208] add fuzz test in Go 1.18
  • [#197] add API MarshalString()
  • [#192] (decoder) add option CopyString()
  • [#196] allow decoding string value as json.Number in binding scenario

Bugfix

  • [#194] check nil pointer when encoding a pointer receiver of json.Marshaler
  • [#188] fix nil panic when loading on plugin mode
  • [#209] ignore overflow-check while decoding json.Number and optimize

Full Changelog: v1.1.1...v1.2.0

v1.1.1

28 Feb 11:13
b66168f
Compare
Choose a tag to compare

Feature

  • [#192] (decoder) add option CopyString()

Bugfix

Full Changelog: v1.1.0...v1.1.1

v1.1.0

22 Feb 06:30
ce41dd9
Compare
Choose a tag to compare

Feature

[#171] support HTML escaping
[#189] support JSON validation and skipping
[#168] add optimizing options encoder.CompactMarshaler and encoder.NoQuoteTextMarshaler

Bugfix

[#187] prevent premature GC on decoded string values
[#181] add GC write barrier for Go1.15
[#179] check number ending when skipping numbers

Full Changelog: v1.0.0...v1.1.0

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`