Skip to content

Releases: 200sc/bebop

bebop v0.0.8

22 Dec 17:46
611edd2
Compare
Choose a tag to compare

This release

  • Fixes a bug where streamed messages had incorrect size bytes written.
  • Fixes a bug where streamed messages did not respect opcodes.
  • Updates formatting to include spacing ahead of opcode declarations.
  • Removes support for readonly messages, per the bebop spec.
  • Adds constructors for readonly structs.
  • Fixes parsing bugs that allowed readonly to precede enums and comments.

bebop v0.0.7

22 Dec 01:03
fe830ed
Compare
Choose a tag to compare

This release:

  • Adds support for optional semicolons, controlled via a currently private variable in the codebase. This is mostly a theoretical demonstration that it would be easy to remove the need for semicolons from the original
  • Adds additional validation checks at Go code generation time that detect files with overlapping field names or indices.
  • Adds line and column numbers to tokenization and parsing errors.
  • Adds fuzz tests (which revealed no bugs (so far)).

bebop v0.0.6

21 Dec 00:54
a080106
Compare
Choose a tag to compare

This release:

  • Introduces bebopfmt, a binary formatter tool that can rewrite valid bebop files with standardized formatting.
  • Corrects a bug in message generation where written lengths included opcode and size bytes.

bebop and beboc-go v0.0.5

19 Dec 22:21
c10a0e8
Compare
Choose a tag to compare
  • bebop.Marshal and bebop.Unmarshal have been replaced with bebop.Record.MarshalBebop and bebop.Record.UnmarshalBebop.
  • These new methods, in limited benchmarks, outperform protobuf by ~2.5x.
  • bebop.Record.UnmarshalBebop includes regular size checks and can return an error. In benchmarks, this does not change performance over removing these checks. If, however, you would prefer to panic on an out of bounds error, you may pass GenerateUnsafeMethods to the generator and use the resulting MustUnmarshalBebop method.

bebop and beboc-go v0.0.4

16 Dec 07:50
Compare
Choose a tag to compare
  • Complete refactor of generated code structure, targeted at performance (primarly) and legibility (secondarily)

bebop and beboc-go v0.0.3

14 Dec 03:46
Compare
Choose a tag to compare
  • Reduces API surface, removing some helper methods only used in tests
  • Fixes bugs in logic for generation of map fields on messages.

bebop and beboc-go v0.0.2

13 Dec 19:57
Compare
Choose a tag to compare
  • Adds a License file
  • Adds support for escaped quotes in deprecated strings
  • Adds support for transferring multi line header comments on records to .go files
  • Adds error checking to encoding/decoding read/write operations
  • Adds invalid recursive type detection
  • Corrects GUID wire format byte order

bebop and beboc-go v0.0.1

13 Dec 05:08
Compare
Choose a tag to compare

This is an initial release, with significant but incomplete test coverage for success paths in parsing and generating.

Currently suitable for use in non-critical environments.