Skip to content

Releases: thriftrw/thriftrw-go

v1.32.0

25 Apr 21:35
72b6d0c
Compare
Choose a tag to compare

Added

  • Redacted annotation provides a mechanism to redact certain struct fields from
    errors messages and log objects.

v1.31.0

09 Jun 18:16
8259ee7
Compare
Choose a tag to compare

Changed

  • StreamReader ReadString() and WriteString() performance improvements.

v1.30.0

06 Apr 18:46
Compare
Choose a tag to compare

Added

  • AddTemplate template option.
  • thriftbreak: support for changed types, new files, and optional JSON output.

Changed

  • String() performance improvements for string type definitions.

v1.29.2

09 Sep 20:14
ceb8018
Compare
Choose a tag to compare

This release contains the following fix:

  • streaming: Handle unrecognized fields and non-matching field types (#544)

v1.29.1

01 Sep 00:06
58a0fa2
Compare
Choose a tag to compare
Release v1.29.1

Contains the following fix:
* streaming: Handle nil items in containers (#541)

v1.29.0

30 Aug 19:15
efbbb99
Compare
Choose a tag to compare

This release includes support for (de)serializing Thrift structs directly
to/from IO streams without converting them to the intermediate wire.Value
representation. This method of (de)serialization is significantly faster and
less memory intensive.

Added

  • protocol/stream and envelope/stream packages defining the core types
    needed to implement support for streaming serialization.
  • protocol: BinaryStreamer that exports the Binary protocol as a
    stream.Protocol.
  • protocol/binary: The new Default variable is the default value of
    *binary.Protocol that most users should use. This variable retains the
    struct type so that it can be used for any new interfaces declared in the
    future without another protocol.Binary* export.
  • All generated types now include Encode and Decode methods that can
    serialize or deserialize those types using stream.Writer and
    stream.Reader objects.
  • ast: All nodes now track the column numbers they're defined on in addition
    to the line numbers.
  • ast: Add Annotations(Node) function that reports the annotations for AST
    nodes that record annotations.

Changed

  • protocol:
    • Deprecate Binary and EnvelopeAgnosticBinary in favor of
      protocol/binary.Default.
    • Deprecate NoEnvelopeResponder, EnvelopeV0Responder, and
      EnvelopeV1Responder in favor of versions declared in the
      protocol/binary package.

Thanks to @witriew, @dianale31, @usmyth, and @jparise for their contributions
to this release.

v1.28.0

26 Jul 21:31
8e55b5a
Compare
Choose a tag to compare

Added

  • idl.Parse now returns structured ParseError on parse failures.
  • idl.Config provides a new means of parsing Thrift IDLs. This is the
    recommended API going forward.

Changed

  • ThriftRW now tracks positional information about constant values in the
    Thrift IDL. These were previously ignored. To access this information, see
    the documentation for idl.Config.

Fixed

  • Support parsing struct fields without field identifiers. This is legacy
    syntax still supported by Apache Thrift. Note that this is a parser-level
    change only; ThriftRW will refuse to generate Go code from these.

Thanks to @jparise for their contributions to
this release.

v1.27.0

20 May 01:51
39f2ce9
Compare
Choose a tag to compare

Added

  • ThriftRW is now able to parse Thrift files with cpp_include statements.

Fixed

  • double constants with exponents but without decimal components are now supported.
  • Fix handling of escaped quotes inside string literals.

v1.26.0

18 Feb 22:17
dc51c30
Compare
Choose a tag to compare

Changed

  • Codegeneration for typedefs now uses use generated MarshalLog... functions
    where appropriate to avoid casting to a root go type from go packages of
    transitive thrift dependencies.
  • Rewrote internal wire's unsafeStringToBytes to adhere to 1.16 vet check.

v1.25.1

04 Jan 20:58
4c503ee
Compare
Choose a tag to compare

Boolean fields with default value false now are sent over the wire.