Skip to content

Releases: sarvalabs/go-polo

Limpwood's Lethal Lichen (v0.3.0)

27 Jan 01:34
fbca3b7
Compare
Choose a tag to compare

v0.3.0 is a feature release that introduces raw encoding capabilities and contains several breaking changes to the custom pack-encoding API, big integer encoding and introduces new wire type variants.

  • Added a new wire type WireRaw that replaces WireBigInt numerically and introduced a new Raw construct that allows decoding the wire element directly into its raw wire bytes.
  • Replaced the Packer and Unpacker types with Polorizer and Depolorizer that can also support custom serialization logic by implementing the Polorizable and Depolorizable interfaces.
  • Polorize and Depolorize function have been refactored to use the custom serialization logic if the type implements the Polorizable and Depolorizable interfaces.
  • Big Integers are now just treated as larger number instead of having a dedicated wire type, allowing the WirePosInt and WireNegInt wire types to have arbitrary sized information

Changelog:

Spriggan Sap (v0.2.3)

31 Dec 19:14
dc7da60
Compare
Choose a tag to compare

v0.2.3 is release containing a bug fix for the inconsistent document encoding when encoding string-keyed maps and refactors the internal document encoding flow to be more consistent and modular.

  • DocumentEncode() now returns a Document instead of fully serializing to its binary wire form.
  • Polorize() now checks if the encoding value is a Document and encodes the data with the WireDoc tag.
  • Document.Bytes() now correctly encodes the Document and internally calls the Polorize() function on itself

Changelog:

Pickled Pumpkins (v0.2.2)

30 Nov 02:19
82dd113
Compare
Choose a tag to compare

v0.2.2 is a feature release that introduces custom pack encoding using the Packer and Unpacker types.

  • Custom Order Pack Encoding with Packer
  • Wire Element Unpacking/Decoding with Unpacker
  • BUGFIX readbuffer mutating underlying data while generating prepended bytes

Changelog:

Faun Fur (v0.2.1)

28 Nov 21:49
b403b4a
Compare
Choose a tag to compare

The v0.2.1 release is a bug fix for incorrect wiretypes used when collapsing a Document into its bytes with the Bytes() method, which was using WirePack instead of WireDoc tagging. Refactors some error generation and example locations.

Changelog:

Goldhorn's Glowing Goats (v0.2.0)

28 Nov 17:47
fb341b9
Compare
Choose a tag to compare

v0.2.0 is a feature release thats adds support for Document Encoding, a special form of encoding the message wire such that it retains the field keys of structured types of string-keyed maps

  • Polorize Go Maps and Structs into Document Encoded Wire
  • Depolorize Document Encoded POLO Wire into Document and structs.
  • Custom Field Tagging for Document Encoding

Changelog:

Screecher Scales (v0.1.1)

27 Nov 11:48
e11003f
Compare
Choose a tag to compare

v0.1.1 is a bug fix release that resolves unexpected panics that occur when polorizing abstract types or empty nils in Go. The Polorize function will no longer panics when called with such objects (eg. any).

Changelog:

Abecean Alkahest (v0.1.0)

27 Nov 11:47
Compare
Choose a tag to compare

v0.1.0 is the initial core Implementation of the POLO serialization specification.
The go-polo library currently has the following features:

  • Polorize Go Objects into POLO Wire.
  • Depolorize POLO Wire into Go Objects.
  • Atomic Encoding of Non-Struct Types.
  • Struct Field Skipping
  • Alias Types Encoding/Decoding
  • Big Integer Support & Byte Arrays as Words

go-polo will use fictional alliterated alchemical ingredients for release names