Skip to content

Releases: skythen/bertlv

v0.2.1

14 Apr 18:49

Choose a tag to compare

Fixes

  • Encoding []NamedByteSlice (e.g. []aid.AID where type AID []byte) now correctly emits one primitive TLV per element instead of flipping the constructed bit. Previously the constructed bit was derived from the slice type rather than the element type, turning a tag like 4F into 6F.

Commits

  • dad7a06 fix: encode []NamedByteSlice as repeated primitive TLVs

v0.2.0

12 Apr 19:33

Choose a tag to compare

Breaking Changes

This release completely reworks the API from a Parse/Builder pattern to a reflection-based Marshal/Unmarshal API, similar to encoding/json.

New API

  • Marshal / Unmarshal with struct tag support (bertlv:"0x4F")
  • Encoder / Decoder types for streaming usage
  • Marshaler / Unmarshaler interfaces for custom types
  • MarshalWithTag / UnmarshalWithTag for wrapping in a top-level TLV
  • Options with DisallowUnknownFields

Struct Tag Formats

  • Hex: bertlv:"0x4F" — class and construction inferred from tag bytes
  • Decimal: bertlv:"1,application,omitempty" — explicit class specification

Other Changes

  • Removed all external dependencies
  • Bumped minimum Go version to 1.18
  • Replaced Travis CI with GitHub Actions
  • Added Nix flake with devshell and treefmt
  • Added example tests for all public functions

bertlv 0.1.2

16 May 11:25

Choose a tag to compare

v0.1.2

add retrieval of class and minor improvements

bertlv 0.1.1

09 May 22:12

Choose a tag to compare

improved error messages

bertlv 0.1.0

25 Feb 21:22
a6c374e

Choose a tag to compare

initial release