Releases: skythen/bertlv
Releases · skythen/bertlv
v0.2.1
Fixes
- Encoding
[]NamedByteSlice(e.g.[]aid.AIDwheretype 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 like4Finto6F.
Commits
- dad7a06 fix: encode []NamedByteSlice as repeated primitive TLVs
v0.2.0
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/Unmarshalwith struct tag support (bertlv:"0x4F")Encoder/Decodertypes for streaming usageMarshaler/Unmarshalerinterfaces for custom typesMarshalWithTag/UnmarshalWithTagfor wrapping in a top-level TLVOptionswithDisallowUnknownFields
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
v0.1.2 add retrieval of class and minor improvements
bertlv 0.1.1
improved error messages
bertlv 0.1.0
initial release