Skip to content

Releases: goccy/go-json

0.4.9

29 Mar 02:55
Compare
Choose a tag to compare

Add debug mode

If you use json.MarshalWithOption(v, json.Debug()) and panic occurred in go-json, produces debug information to console.

Support a new feature for compatible with encoding/json

  • invalid UTF-8 is coerced to valid UTF-8 ( without performance down )

Fix encoder

  • Fixed handling of MarshalJSON of function type

Fix decoding of slice of pointer type

If there is a pointer value, go-json will use it. (This behavior is necessary to achieve the ability to prioritize pre-filled values). However, since slices are reused internally, there was a bug that referred to the previous pointer value. Therefore, it is not necessary to refer to the pointer value in advance for the slice element, so we explicitly initialize slice element by nil.

0.4.8

20 Mar 19:09
Compare
Choose a tag to compare

Reduce memory usage at compile time

  • go-json have used about 2GB of memory at compile time, but now it can compile with about less than 550MB.

Fix any encoder's bug

  • Add many test cases for encoder
  • Fix composite type ( slice/array/map )
  • Fix pointer types
  • Fix encoding of MarshalJSON or MarshalText or json.Number type

Refactor encoder

  • Change package layout for reducing memory usage at compile
  • Remove anonymous and only operation
  • Remove root property from encodeCompileContext and opcode

Fix CI

  • Add Go 1.16
  • Remove Go 1.13
  • Fix make cover task

Number/Delim/Token/RawMessage use the types defined in encoding/json by type alias

0.4.7

22 Feb 08:00
Compare
Choose a tag to compare

Fix decoder

  • Fix decoding of deep recursive structure
  • Fix decoding of embedded unexported pointer field
  • Fix invalid test case
  • Fix decoding of invalid value
  • Fix decoding of prefilled value
  • Fix not being able to return UnmarshalTypeError when it should be returned
  • Fix decoding of null value
  • Fix decoding of type of null string
  • Use pre allocated pointer if exists it at decoding

Reduce memory usage at compile

  • Integrate int/int8/int16/int32/int64 and uint/uint8/uint16/uint32/uint64 operation to reduce memory usage at compile

Remove unnecessary optype

0.4.6

15 Feb 18:07
da543ca
Compare
Choose a tag to compare
v0.4.6

Update README.md

0.4.5

15 Feb 10:02
e080e51
Compare
Choose a tag to compare
Merge pull request #133 from goccy/feature/fix-decoder

Fix decoder (  mainly map type fixing )

0.4.4

10 Feb 17:41
5daa24c
Compare
Choose a tag to compare
v0.4.4

Merge pull request #126 from goccy/feature/remove-unnecessary-depende…

0.4.3

10 Feb 06:33
d7c9594
Compare
Choose a tag to compare
Merge pull request #124 from vearutop/streaming-decode

Wait for io.EOF when decoding a stream

0.4.2

09 Feb 13:33
6db7a29
Compare
Choose a tag to compare
Merge pull request #120 from goccy/feature/fix-interface

Fix decoding of interface{} type

0.4.1

09 Feb 00:33
c468fd2
Compare
Choose a tag to compare
Merge pull request #117 from goccy/feature/fix-anonymous

Fix encoding of anonymous struct

0.4.0

06 Feb 18:39
cc85e19
Compare
Choose a tag to compare
  • improve encoder and decoder performance