• Fix the Reflection API in presence of large schemas, which capnp compiles using multiple segments and far pointers.


  • Improve the shortrepr() method and consequently the __repr__ of capnpy structs: the goal is to make the output of shortrepr() fully compatible with the standard capnp encode tool: this way it is possible to reconstruct the original binary message from a capnpy textual dump.
  • Fix a corner case when reading far pointers: this bug prevented capnpy to parse large schemas under some conditions.
  • Add a new compilation option to control whether to include the Reflection data: see Compilation options.
  • Improve support for const inside capnproto schemas: it is now possible to declare struct and list constants.


  • Add the Reflection API, which makes it possible to programmatically query information about a schema, for example what are the fields inside a struct.


  • Fix $Py.groups collisions (PR #45).


  • Fix the repr text fields when textType=unicode.


  • Don’t crash if we can’t determine the version of capnp (PR #43).


  • Improve load() and load_all(). Try harder to distinguish between a clean close of the connection and an unclean one: now we raise EOFError only if we read an empty string at the very beginning of the message.
  • Fix constructors when using a $Py.nullable on a group value.


  • Add the new text_type option (see Compilation options). It is now possible to choose whether Text fields are represented as bytes or unicode.