Skip to content

v0.23.0

Compare
Choose a tag to compare
@muktihari muktihari released this 17 Sep 03:30
· 54 commits to master since this release
6d72369

Breaking Changes

  • primitive bool value is now replaced with typedef.Bool to allow invalid/unset value, affected package: proto, profile/mesgdef
  • Encoder option: WithNormalHeader and WithCompressedTimestampHeader is removed, replaced by WithHeaderOption.
  • Decoder will no longer returns ErrFieldValueTypeMismatch when value of field num 253 is not uint32 and ErrFieldValueTypeMismatch is now removed. ErrInvalidBaseType is now private, ErrNotAFitFile is renamed to ErrNotFITFile, ErrDataSizeZero is deleted and an ErrNotFITFile will be returned instead when FileHeader's DataSize is zero.
  • proto.Validator's SetProtocolVersion() and ProtocolVersion() are removed, export the protocol version field directly.

New Features

  • Now we can encode compressed timestamp header with multiple local message type 0-3.

Fixes

  • Bug related to Decoder and Encoder on handling compressed timestamp header is now fixed.
  • PeekFileId now only check the first decoded message, if it's not an file_id, it returns error.
  • UTF-8 string handling: now we discard utf8.RuneError and it stops when the bytes are successfully decoded or it reaches a null-terminated string '0'.
  • Encoder's validator now prints the value when the size exceed max allowed for easier debugging.

CLIs

  • fitactivity is updated to support compressed timestamp header with multiple local message type and more improvement.

What's Changed

Full Changelog: v0.22.0...v0.23.0