Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Releases: muktihari/fit

v0.27.1

06 Jan 13:30
dfca69b

Choose a tag to compare

What's Changed

  • cli(fitconv): fix incorrect dynamic field interpretation on scaling value by @muktihari in #611

Full Changelog: v0.27.0...v0.27.1

v0.27.0

05 Jan 09:32
3447754

Choose a tag to compare

Important Updates

  • The encoder no longer removes fields with invalid values by default, nor does it validate NativeData. This capability is left to users, who can create their own message validator. The encoder’s default message validator can no longer be instantiated by users.

What's Changed

  • perf: encoder reduce conversion step of message definition by @muktihari in #604
  • feat!: encoder remove message validator options, native data and invalid value handling by @muktihari in #605
  • refactor: proto.Validator is now a variable instead of a type by @muktihari in #607
  • chore(deps): bump golang.org/x/text from 0.31.0 to 0.32.0 in the gomod-bulk group by @dependabot[bot] in #608
  • chore(deps): bump the github-actions-bulk group with 5 updates by @dependabot[bot] in #609

Full Changelog: v0.26.1...v0.27.0

v0.26.1

17 Dec 09:40
3649e10

Choose a tag to compare

Important Updates

  • Profile version is now updated to v21.188 (Release Date: December 16, 2025).

What's Changed

Full Changelog: v0.26.0...v0.26.1

v0.26.0

12 Dec 16:59
c255b95

Choose a tag to compare

Important Updates

  • Fixed a bug in the Decoder’s component-expansion logic where certain inputs caused fields to stop expanding prematurely (e.g., an early zero value on a pull despite remaining bits)
  • Decoder's Next() now return true when error occurs during decoding FileHeader, the error then can be retrieved when calling Decoder(), Discard() or PeekFileId() instead of silently ignoring the error when it occurs.
  • Decoder's PeekFileId() may return ErrPeekNoFileId when no FileId is found after decoding the entire sequence. Users can still continue to Decode/Discard.
  • Filedef's struct constructors now instantiate FileId properly according to its type and the Listener receive improvement by reducing the struct's size by 2KB.
  • Encoder logic is simplified, improving performance when writing to a writer which does not implement io.Seeker or io.WriteAt, especially when compressing timestamp into header.
  • This release contains some breaking changes (we are sorry if these changes have impacted you)
    • Mesgdef's MonitoringAB is dropped and replaced with MonitoringA and MonitoringB
    • Fix typo: (*Field) SubFieldSubtitution is renamed to SubFieldSubstitution, with an 's'.
    • Decoder's PeekFileHeader() now returns a value instead of a pointer.

What's Changed

  • chore(deps): bump the github-actions-bulk group with 3 updates by @dependabot[bot] in #567
  • chore(deps): bump golang.org/x/text from 0.27.0 to 0.28.0 in the gomod-bulk group by @dependabot[bot] in #568
  • chore: vet non-constant format string by @muktihari in #571
  • chore(deps): bump golang.org/x/text from 0.28.0 to 0.30.0 in the gomod-bulk group by @dependabot[bot] in #570
  • chore(deps): bump the github-actions-bulk group with 5 updates by @dependabot[bot] in #569
  • fix: decoder error handling when decoding chained file by @muktihari in #572
  • fix: decoder on PeekFileId and Reset behaviour by @muktihari in #573
  • chore: fitgen format templates and remove unused code by @muktihari in #574
  • chore(deps): bump the github-actions-bulk group with 3 updates by @dependabot[bot] in #575
  • fix: rename ErrNoFileId to ErrPeekNoFileId by @muktihari in #576
  • feat!: filedef file structures and listener improvements by @muktihari in #577
  • fix: mesgdef unknown fields handling by @muktihari in #578
  • fix!: proto typo on Field's method by @muktihari in #579
  • pref: encoder reduce alloc on LRU by reusing old storage by @muktihari in #580
  • chore: simplify developer data index checker by @muktihari in #581
  • chore: update workflow fitgen.yml by @muktihari in #585
  • feat!: mesgdef remove factory option by @muktihari in #586
  • chore: update dependabot schedule from monthly to quarterly by @muktihari in #587
  • chore(deps): bump golang.org/x/text from 0.30.0 to 0.31.0 in the gomod-bulk group by @dependabot[bot] in #588
  • chore(deps): bump the github-actions-bulk group with 4 updates by @dependabot[bot] in #589
  • perf: encoder simplify compression logic by @muktihari in #590
  • fix: decoder on handling bits value for component expansion by @muktihari in #593
  • perf: simplify makeBits for slice by @muktihari in #594
  • chore: decoder simplify bad fit handler by @muktihari in #596
  • chore: decoder make early break when containing value out of bits by @muktihari in #597
  • chore: simplify code by @muktihari in #599
  • docs: update documentation by @muktihari in #598
  • chore: decoder simplify reset related items by @muktihari in #600
  • refactor: PeekFileHeader now returns value instead of pointer by @muktihari in #601

Full Changelog: v0.25.1...v0.26.0

v0.25.1

08 Aug 01:28
7ea0ce7

Choose a tag to compare

What's Changed

  • chore: simplify decoder internal code by @muktihari in #562
  • chore(deps): bump golang.org/x/text from 0.26.0 to 0.27.0 in the gomod-bulk group by @dependabot[bot] in #563
  • chore(deps): bump github/codeql-action from 3.29.2 to 3.29.5 in the github-actions-bulk group by @dependabot[bot] in #564
  • chore: simplify decoder local message definitions storage by @muktihari in #565
  • fix: build issue on 386 arch by @AlexxIT in #566

New Contributors

Full Changelog: v0.25.0...v0.25.1

v0.25.0

08 Jul 17:31
d132999

Choose a tag to compare

Important Updates

  • Profile version is now updated to v21.171.
  • We have reduced the size of proto.Value{} from 24 bytes into 16 bytes in 64-bit machine, resulting approx. 4-6% faster cpu performance and use 12-21% less memory consumption.
  • All mesgdef's structs now has Reset method making it reusable objects, and its New method might be inlined by the compiler, potentially being stack allocated.
  • This release contains some breaking changes (we are sorry if these changes have impacted you):
    • Package factory is now moved to profile/factory.
    • All sentinel errors in package encoder is now changed to private errors.
    • crc16.New is no longer receiving Table as an argument, now it uses fixed polynomial table.
    • method (*Encoder) StreamEncoder is removed, replaced with new function encoder.NewStream.
    • Funtion proto.Sizeof is removed, replaced with (Value) Size() int method instead.
    • Function proto.Validate is removed. Protocol Version's related bits masks are also removed.
    • Function proto.CreateVersion now return one value: proto.Version

What's Changed

  • perf(proto): reduce Value's size by one-word by @muktihari in #522
  • chore(deps): bump the github-actions-bulk group with 4 updates by @dependabot in #523
  • chore(deps): bump the gomod-bulk group with 2 updates by @dependabot in #524
  • feat(mesgdef): add Reset method by @muktihari in #525
  • chore(basetype): simplify code by @muktihari in #526
  • chore(proto): simplify Value's Valid method by @muktihari in #527
  • fix(decoder): handling poorly encoded fit by @muktihari in #528
  • fix(proto): value slices accessor by @muktihari in #529
  • revert(proto): disallow Value equality by @muktihari in #530
  • fix!: allow encode without file_id as first mesg by @muktihari in #531
  • refactor(proto)!: simplify proto.Version by @muktihari in #532
  • refactor(crc16)!: simplify code by @muktihari in #533
  • refactor(proto)!: change func Sizeof into Value method named Size by @muktihari in #534
  • refactor!: move factory to profile/factory by @muktihari in #535
  • refactor!: make error wrapping more concise by @muktihari in #536
  • chore: clean up typedef and untyped/fieldnum by @muktihari in #537
  • fix: proto CreateVersion masking by @muktihari in #538
  • refactor(encoder): make errors private by @muktihari in #539
  • refactor(encoder)!: add NewStream to replace StreamEncoder() method by @muktihari in #540
  • chore: add LICENSE to release assets by @muktihari in #541
  • chore: bump minimal go version to v1.23 by @muktihari in #550
  • chore(deps): bump the github-actions-bulk group across 1 directory with 5 updates by @dependabot in #546
  • chore(deps): bump golang.org/x/text from 0.22.0 to 0.23.0 in the gomod-bulk group by @dependabot in #543
  • perf: mesgdef remove sync pool by @muktihari in #551
  • cli(fitprint): print more verbose output by @muktihari in #553
  • cli(fitactivity): total timer time should be no gap by @muktihari in #554
  • refactor(decoder): simplify code and move internals by @muktihari in #552
  • chore(deps): bump the github-actions-bulk group across 1 directory with 5 updates by @dependabot in #557
  • chore(deps): bump golang.org/x/text from 0.25.0 to 0.26.0 in the gomod-bulk group by @dependabot in #556
  • cli(fitactivity): temporary fix for total training effect by @muktihari in #558
  • fix(fitgen): factory builder should not import generated package by @muktihari in #560
  • profile: bump version to 21.171 by @muktihari in #559

Full Changelog: v0.24.5...v0.25.0

v0.24.5

10 Feb 08:46
eea67ce

Choose a tag to compare

What's Changed

Full Changelog: v0.24.4...v0.24.5

v0.24.4

19 Dec 11:26
5515a76

Choose a tag to compare

What's Changed

Full Changelog: v0.24.3...v0.24.4

v0.24.3

05 Oct 03:06
190e0e4

Choose a tag to compare

What's Changed

  • fix: fitgen's factory and mesgdef on evaluating scale offset by @muktihari in #481
  • fix: decoder on accumulating slice values by @muktihari in #482
  • fix: expanding field that has only one component by @muktihari in #483

Full Changelog: v0.24.2...v0.24.3

v0.24.2

04 Oct 14:05
9dc160f

Choose a tag to compare

What's Changed

Full Changelog: v0.24.1...v0.24.2