Skip to content

Releases: capnproto/go-capnp

v3.1.0-alpha.2

Choose a tag to compare

@lthibault lthibault released this 25 Oct 23:56
e26d1c6

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

Choose a tag to compare

@lthibault lthibault released this 19 Feb 16:18
5f984c4

What's Changed

New Contributors

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

v3.0.1-alpha.2

Choose a tag to compare

@lthibault lthibault released this 21 Jul 04:50
4ed3db2

What's Changed

New Contributors

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

v3.0.1-alpha.1

Choose a tag to compare

@lthibault lthibault released this 12 Jun 15:30
ce7c84a

What's Changed

Read more

v3.0.0-alpha.30

Choose a tag to compare

@lthibault lthibault released this 20 Jul 13:40
6eacdac

What's Changed

Read more

v2.18.0

Choose a tag to compare

@zombiezen zombiezen released this 15 Dec 19:32
1894f16
  • 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

Choose a tag to compare

@zombiezen zombiezen released this 05 May 17:22

Fixes security issue #137

v2.17.2

Choose a tag to compare

@zombiezen zombiezen released this 06 Oct 21:49

Fixes #123

v2.17.1

Choose a tag to compare

@zombiezen zombiezen released this 16 Jun 16:10

Fixes the Bazel build

v2.17.0

Choose a tag to compare

@zombiezen zombiezen released this 03 Nov 18:05
  • 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.