v0.23.0
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
- chore: create FUNDING.yml by @muktihari in #422
- chore: accumulator fix typo on code docs by @muktihari in #423
- chore: inline accumulator code by @muktihari in #424
- refactor!: change primitive bool to typedef.Bool by @muktihari in #425
- chore: run go mod tidy on benchfit by @muktihari in #426
- chore: clean up mesgdef builder by @muktihari in #427
- refactor!: decoder sentinel errors by @muktihari in #428
- chore: fitactivity simplify notify signal by @muktihari in #429
- chore: basetype invalid now return nil for unknown basetype by @muktihari in #430
- chore: add missing copyright header by @muktihari in #431
- fix: encoder only compress timestamp when value is valid by @muktihari in #432
- chore: add base comment for mesgdef and typedef having uintz type by @muktihari in #433
- chore: decoder update code docs by @muktihari in #434
- chore: clean up proto Value code by @muktihari in #435
- fix: proto UnmarshalValue on handling string padding by @muktihari in #436
- chore(deps): bump github/codeql-action from 3.26.6 to 3.26.7 by @dependabot in #437
- fix: handle compressed timestamp by @muktihari in #438
- feat!: encoder compress timestamp with multiple local message type by @muktihari in #439
- cli: fitactivity enable compressed timestamp header with multiple local message type by @muktihari in #440
- docs: update encoder code docs and docs/usage.md by @muktihari in #441
- fix: decoder PeekFileId must check only the first message by @muktihari in #442
- cli: update fitactivity by @muktihari in #443
- fix: proto value unmarshal string on appending rune by @muktihari in #444
- chore: update fitactivity README.md by @muktihari in #445
- chore: proto.UnmarshalValue simplify utf8 string decoding by @muktihari in #446
- fix: encoder validator now print value on size error by @muktihari in #447
- cli: fitactivity fix combine usage by @muktihari in #448
- fix!: protocol validator export protocol version field by @muktihari in #449
Full Changelog: v0.22.0...v0.23.0