Skip to content

Releases: capnproto/go-capnp

v3.1.0-alpha.2

25 Oct 23:56
e26d1c6

Choose a tag to compare

What's Changed

  • Fix address-instability in MultiSegmentArena by storing *Segment and validating via (id, arena storage) by @saikocat in #607

New Contributors

Full Changelog: v3.1.0-alpha.1...v3.1.0-alpha.2

v3.1.0-alpha.1

19 Feb 16:18
5f984c4

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v3.0.1-alpha.2...v3.1.0-alpha.1

v3.0.1-alpha.2

21 Jul 04:50
4ed3db2

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v3.0.1-alpha.1...v3.0.1-alpha.2

v3.0.1-alpha.1

12 Jun 15:30
ce7c84a

Choose a tag to compare

What's Changed

Read more

v3.0.0-alpha.30

20 Jul 13:40
6eacdac

Choose a tag to compare

What's Changed

Read more

v2.18.0

15 Dec 19:32
1894f16

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

Choose a tag to compare

Fixes security issue #137

v2.17.2

06 Oct 21:49

Choose a tag to compare

Fixes #123

v2.17.1

16 Jun 16:10

Choose a tag to compare

Fixes the Bazel build

v2.17.0

03 Nov 18:05

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.