Releases: thriftrw/thriftrw-go
Releases · thriftrw/thriftrw-go
v1.32.0
v1.31.0
v1.30.0
v1.29.2
v1.29.1
v1.29.0
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
andenvelope/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 newDefault
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 anotherprotocol.Binary*
export.- All generated types now include
Encode
andDecode
methods that can
serialize or deserialize those types usingstream.Writer
and
stream.Reader
objects. ast
: All nodes now track the column numbers they're defined on in addition
to the line numbers.ast
: AddAnnotations(Node)
function that reports the annotations for AST
nodes that record annotations.
Changed
protocol
:- Deprecate
Binary
andEnvelopeAgnosticBinary
in favor of
protocol/binary.Default
. - Deprecate
NoEnvelopeResponder
,EnvelopeV0Responder
, and
EnvelopeV1Responder
in favor of versions declared in the
protocol/binary
package.
- Deprecate
Thanks to @witriew, @dianale31, @usmyth, and @jparise for their contributions
to this release.
v1.28.0
Added
idl.Parse
now returns structuredParseError
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 foridl.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
v1.26.0
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
Boolean fields with default value false
now are sent over the wire.