Skip to content

Releases: capnproto/go-capnp

v3.0.0-alpha.30

20 Jul 13:40
6eacdac
Compare
Choose a tag to compare

What's Changed

Read more

v2.18.0

15 Dec 19:32
1894f16
Compare
Choose a tag to compare
  • Make tags usable with Go modules (#150)
  • Add option in encoding/text to indent output (#143)
  • Fix issue where capnpc-go generated files depend on capnp compile invocation (#145)
  • Fix incorrect error check in schemas (#147)

v2.17.4

05 May 17:22
Compare
Choose a tag to compare

Fixes security issue #137

v2.17.2

06 Oct 21:49
Compare
Choose a tag to compare

Fixes #123

v2.17.1

16 Jun 16:10
Compare
Choose a tag to compare

Fixes the Bazel build

v2.17.0

03 Nov 18:05
Compare
Choose a tag to compare
  • Add capnp.Canonicalize function that implements the canonicalization algorithm. (#92)
  • Zero-sized struct pointers are now written with an offset of -1 to distinguish them from a null pointer. (#92)
  • Better support for alternate Arena implementations
  • Arena allocation optimizations: both SingleSegment and MultiSegment now gradually ramp up the amount of space allocated in a single allocation as the message grows. This is similar to how built-in Go append function works. Workloads with medium to large messages should expect a decrease in number of allocations, while small message workloads should remain about the same. Please file an issue if you encounter any performance regressions. (#96)
  • Fix double-far pointer logic. (#97) This is a long-standing bug with reading and writing multi-segment messages. I've added broader test coverage for multi-segment messages and far pointers, so it's unlikely that such a failure will persist in the future.
  • Accessing a field in a union when that field is not the one set now results in a panic. (#56) This is intended to help uncover programming mistakes where a union field is accessed without checking Which(). Prior to this change, unset union field accessors would silently return garbage.
  • Struct.Address() and List.Address() are now deprecated. Especially for List, where the address is at the beginning of the data, not the composite literal, the return value is not well-defined and its not clear how to use it. Use capnp.SamePtr if you need to check for pointer reference equality. File an issue if you're using Address() for something else.

v2.16.0: all: add Bazel BUILD files

03 Nov 17:43
Compare
Choose a tag to compare
  • Add BUILD.bazel files (#88)

v2.15.0

03 Nov 17:42
Compare
Choose a tag to compare
  • capnpc-go now fails when a file does not include an import annotation. (#41)
  • Remove rbtree dependency (#80)
  • Add option to reduce allocations in capnp.Decoder (#79)
  • Add String() methods for lists (#85)
  • Add String() methods to schema.capnp.go (#83)

v2.14.1: capnpc-go: use new generated code convention

03 Nov 17:42
Compare
Choose a tag to compare