All Versions
Latest Version
Avg Release Cycle
67 days
Latest Release
567 days ago

Changelog History
Page 1

  • v0.7.2 Changes

    August 31, 2021
    • ๐ŸŽ Minor performances improvements (remove inlined functions in appendEscapedBytes).
  • v0.7.1 Changes

    March 03, 2020
    • Fix a regression in the marshaling of nil map keys that implement the encoding.TextMarshaler interface, intoduced during refactor in version v0.5.0.
    • ๐Ÿ— Split TestTextMarshalerMapKey and TestNilMarshaler tests with build constraints to allow previously ignored cases to run with Go1.14.
  • v0.7.0 Changes

    February 17, 2020
    • โž• Add the omitnil field tag's option, which specifies that a field with a nil pointer should be omitted from the encoding. This option has precedence over the omitempty option. See this issue for more informations about the original proposal: #22480.
  • v0.6.0 Changes

    February 14, 2020
    • โž• Add support for the sync.Map type. The marshaling behavior for this type is similar to the one of the Go map.
  • v0.5.0 Changes

    February 02, 2020

    ๐Ÿ”จ Refactor of the entire project.

    This includes the following changes, but not limited to:

    • โœ‚ Remove the Encoder type to simplify the usage of the library and stick more closely to the design of encoding/json
    • ๐ŸŽ Reduce the number of closures used. This improves readability of stacktraces and performance profiles.
    • ๐Ÿ‘Œ Improve the marshaling performances of many types.
    • โž• Add support for marshaling json.RawMessage values.
    • โž• Add new options DenyList, NoNumberValidation, NoCompact, and rename some others.
    • Replace the Marshaler and MarshalerCtx interfaces by AppendMarshaler and AppendMarshalerCtx to follow the new append model. See this issue for more details: #34701.
    • โœ‚ Remove the IntegerBase option, which didn't worked properly with the string JSON tag.

    Some of the improvements have been inspired by the project.

  • v0.4.1 Changes

    October 22, 2019
    • Fix unsafe misuses reported by go vet and the new -d=checkptr cmd/compile flag introduced in the Go1.14 development tree by Matthew Dempsky. The issues were mostly related to invalid arithmetic operations and dereferences.
    • ๐Ÿ›  Fix map key types precedence order during marshaling. Keys of any string type are used directly instead of the MarshalText method, if the types also implement the encoding.TextMarshaler interface.
  • v0.4.0 Changes

    October 18, 2019
    • โž• Add the Marshaler interface. Types that implements it can write a JSON representation of themselves to a Writer directly, to avoid having to allocate a buffer as they would usually do when using the json.Marshaler interface.
  • v0.3.1 Changes

    October 09, 2019
    • ๐Ÿ›  Fix HTML characters escaping in struct field names.
    • โž• Add examples for Marshal, MarshalTo and Encoder's Encode.
    • ๐Ÿ”จ Refactor string encoding to be compliant with encoding/json.
  • v0.3.0 Changes

    September 22, 2019
    • โž• Add global functions Marshal, MarshalTo and Register.
    • โšก๏ธ Update usage, examples and benchmarks.
  • v0.2.1 Changes

    September 10, 2019
    • ๐Ÿ”จ Refactor instructions for types implementing the json.Marshaler and encoding.TextMarshaler interfaces.
      • Fix encoding of nil instances.
      • Fix behavior for pointer and non-pointer receivers, to comply with encoding/json.
    • ๐Ÿ›  Fix bug that prevents tagged fields to dominate untagged fields.
    • โž• Add support for anonymous struct pointer fields.
    • ๐Ÿ‘Œ Improve tests coverage of encoder.go.
    • โž• Add test cases for unexported non-embedded struct fields.