Skip to content

Releases: interlockledger/go-iltags

v0.2.2

27 Dec 00:25
Compare
Choose a tag to compare

This is a small updated release with the following changes:

  • Function ComputeagHeaderSize() renamed to ComputeHeaderSize() ;
  • Deprecated function ComputeagHeaderSize() removed;

Full Changelog: v0.2.1...v0.2.2

v0.2.1

05 Dec 10:36
Compare
Choose a tag to compare

Changelog:

  • TimestampTagSize() added;
  • WrappedValueTag concept added. Now, it is possible to use tag implementations to wrap existing values, making it easier to manipulate those values. It uses generics to reduce the amount of code needed to perform this task without reflection;
  • Adding new macro functions to serialize/deserialize multiple tags at once;
  • Unit-tests for ComputeagHeaderSize() added;
  • ILTagSeralizeWithNull() and ILTagSequenceSize() modified to deal with interfaces with nil values;

Full Changelog: v0.2.0...v0.2.1

v0.2.0

01 Dec 19:07
Compare
Choose a tag to compare

This is the release v0.2.0 of this library. It introduces the following new features:

  • A new set of functions to serialize/deserialize primitive tags directly (see tags/direct);
  • TimestampTag now have direct serialize/deserialize functions;
  • Support for the IL2 versioned tag;
  • The package tagtest has been added with utilities to test tag implementations;
  • A generics based stable map implementation BaseStableMap has been added to replace the older implementation;
  • Functions ILTagSeralizeWithNull() and ILTagDeserializeIntoOrNull() added to deal with values that may be mapped to NullTags;
  • All . imports have been removed;
  • Error message formats changed to match the Go convetions;
  • RawTag moved from impl to tags;

Breaking changes:

  • For clarity, some existing functions and structures were moved to other packages.
  • Direct string tag serialization functions moved to the package tags/direct;
  • StableStringMap and StableILTagMap are now based on the BaseStableMap. Both types kept the same code interface but are not type compatible with previous versions.

Full Changelog: v0.1.1...v0.2.0

v0.1.1

28 Nov 09:32
Compare
Choose a tag to compare

Adding a few extension tags to this package.

v0.1.0

10 May 17:57
Compare
Choose a tag to compare

Initial public release. This version is partially based on the current Rust version fully adapted to the idiomatic Go.