Skip to content

1.2.5

Compare
Choose a tag to compare
@ugorji ugorji released this 30 Mar 17:41
· 132 commits to master since this release

This is a production release of go-codec.

This is a very important release, building upon the optimization introduced in v1.2.4.

Changes include:

  • support gollvm in addition to gccgo in default high-performance mode
  • support codec.safe and codec.notfastpath as preferred build tags (replacing safe and notfastpath)
  • support Canonical mode with MissingFielder
  • robust handling of codecgen caveats wrt Canonical|CheckCircularRef flags and MissingFielder implementations
  • robust handling of transient values, where we track if a value has internal pointers and handle appropriately
  • reduce use of global values: all in-use values are scoped to an Encoder or Decoder
  • implement stateManager for Encoder/Decoder, supporting capture, reset and restore functions.
  • side encoding or decoding can now reuse an Encoder/Decoder, leveraging state management to
    capture its state, do something else, then restore its state and continue
  • support running all tests in parallel, so we can shake out any concurrency issues
  • Fix issue in rpc where writer was not being flushed, causing a hang where reader was
    waiting on an encoded value
  • Support shallow copies of a Handle, to support parallel execution where we need to
    temporarily change some Handler fields

This is the best release yet. Please try it out and share your experiences.