Skip to content

chore: upgrade garmin fit sdk profile version 21.218.0 - #69

Merged
shaonianche merged 1 commit into
mainfrom
chore/profile-21.218.0
Oct 28, 2026
Merged

shaonianche merged 1 commit into
mainfrom
chore/profile-21.218.0

Conversation

@shaonianche

Copy link
Copy Markdown
Owner

Summary

  • Replace the bundled Garmin Profile spreadsheet with 21.218.0 from garmin/fit-sdk-tools and bump SDK_VERSION
  • Regenerate typed profile code, field catalog, and component registry
  • Sync profile-version references in docs and test snapshots; add news/68.dep (the superseded 21.213.0 fragment is dropped, since it never shipped)

Profile delta (purely additive)

Change Count
New messages 1 (battery, global id 104)
New fields on existing messages 157 (split, split_summary, lap, session, length, segment_lap, barometer_data)
New enum types 15 (grading scales, split_status, dive_section_type, apnea_discipline)
New enum values 19 (fenix9 family, Approach S72, exposure_lights / forto_cycling / tymewear)

Catalog counts: 124 messages / 1566 fields / 115 enum types / 164 enum fields. No messages, fields, or type values were removed.

Verification

  • uv run pytest — 440 passed, 1 skipped (live Garmin JS SDK test needs FIT_JS_SDK_PATH + Node)
  • uv run ruff check fit_tool and the CI mypy subset — clean
  • uv run gen-profile — idempotent, no diff on rerun
  • Real fixtures (palisade.fit, activity_multiple_developer_index.fit, stagesLink_25622166.fit) decode then re-encode byte-identically; a new BatteryMessage round-trips through build/parse
  • uv build succeeds

Closes #68

Replace the bundled Garmin Profile spreadsheet with 21.218.0 from
garmin/fit-sdk-tools, bump SDK_VERSION, and regenerate typed profile
code. The profile delta adds the battery message (global id 104), 157
new fields across session, lap, length, segment_lap, barometer_data,
split, and split_summary, 15 new types, and 19 new enum values (fenix9
family, Approach S72, new manufacturers). Catalog counts move to 124
messages / 1566 fields / 115 enum types; the change is purely additive.

Update hardcoded profile version and count snapshots in tests, and drop
the superseded 21.213.0 news fragment, which never shipped.

Closes #68

Amp-Thread-ID: https://ampcode.com/threads/T-01a1807e-ff92-7664-9b45-5f950bfc7564
Co-authored-by: Amp <amp@ampcode.com>
@codecov

codecov Bot commented Oct 28, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 92.72%. Comparing base (399a980) to head (3dd4834).
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #69   +/-   ##
=======================================
  Coverage   92.72%   92.72%           
=======================================
  Files          36       36           
  Lines        2721     2721           
  Branches      461      461           
=======================================
  Hits         2523     2523           
  Misses        117      117           
  Partials       81       81           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@shaonianche
shaonianche merged commit 3df5f08 into main Oct 28, 2026
9 checks passed
@shaonianche
shaonianche deleted the chore/profile-21.218.0 branch October 28, 2026 03:37
shaonianche added a commit that referenced this pull request Oct 28, 2026
Replace the bundled Garmin Profile spreadsheet with 21.218.0 from
garmin/fit-sdk-tools, bump SDK_VERSION, and regenerate typed profile
code. The profile delta adds the battery message (global id 104), 157
new fields across session, lap, length, segment_lap, barometer_data,
split, and split_summary, 15 new types, and 19 new enum values (fenix9
family, Approach S72, new manufacturers). Catalog counts move to 124
messages / 1566 fields / 115 enum types; the change is purely additive.

Update hardcoded profile version and count snapshots in tests, and drop
the superseded 21.213.0 news fragment, which never shipped.

Closes #68

Amp-Thread-ID: https://ampcode.com/threads/T-01a1807e-ff92-7664-9b45-5f950bfc7564
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

upgrade garmin fit sdk profile version 21.218.0

1 participant