In this release:
- Python SDK
- Re-Added LICENSE.txt to GitHub repository
- Fix for encoding identical messages with different field order, which would cause file corruption
- JavaScript SDK
- Encoder now throws errors when trying to encode a field value that is not a number, string, boolean, or date.
- Fix for Typescript declarations so they now resolve under Node's module resolution
- Fix for encoding identical messages with different field order, which would cause file corruption
- Swift SDK
- Add typealiasing to FIT Types
- Unpin version of swift-collections from 1.2.0
- C# SDK
- CheckIntegrity to return false when file is empty
- Java SDK
- Fix DateTime.fromInstant() constructor
- Profile Updates
- New Garmin Product Ids
- enduro4
- approach_s72_43mm
- approach_s72_47mm
- New Manufacturer Ids
- exposure_lights
- forto_cycling
- New Garmin Product Ids
Updated summary messages and fields
In version 21.216 common fields were normalized across all of the summary messages: session, lap, split, split_summary, length, and segment_lap. The majority of the additions are in the split and split_summary messages. If a common field was available in one message is was made available in all the summary messages.
-
session — 12 fields fields: avg_grade_adjusted_speed, avg_paddlesport_cadence, avg_push_cadence, avg_strokes_per_length, avg_swimming_cadence, avg_swolf, front_gear_shift_count, max_paddlesport_cadence, max_push_cadence, max_swimming_cadence, num_segment_laps, rear_gear_shift_count
-
lap — 17 fields fields: avg_grade_adjusted_speed, avg_paddlesport_cadence, avg_push_cadence, avg_strokes_per_length, avg_swimming_cadence, avg_swolf, front_gear_shift_count, max_paddlesport_cadence, max_push_cadence, max_swimming_cadence, metabolic_calories, nec_lat, nec_long, rear_gear_shift_count, swc_lat, swc_long, total_pushes
-
length — metabolic_calories
-
segment_lap — metabolic_calories
-
split — 107 fields, covering:
- All cadence, power, heart-rate, temperature, swimming, running, and stance metrics
- apnea_discipline, dive_section_type, first_lap_index, jump_count, left_right_balance
- Climbing fields: climb_grading_scale, climb_send, and all climb_grade_* fields
- Location and surface fields: nec_lat, nec_long, swc_lat, swc_long, surface_interval
- Split status and activity totals, including num_falls, num_laps, total_cycles, total_pushes, total_reps, total_strides, and total_strokes
-
split_summary — 81 fields, covering:
- Average, maximum, minimum, cadence, power, swimming, temperature, stance, and stroke metrics
- climb_grading_scale and all climb_max_grade_* fields
- left_right_balance, max_distance, max_total_timer_time
- metabolic_calories, min_heart_rate, normalized_power
- Climb counters: num_climbs_attempted, num_climbs_completed, num_falls
- start_time, sport, sub_sport, swim_stroke, timestamps, and activity totals
Additional updated messages and fields
-
battery - timestamp and capacity
-
barometer_data — enhanced_altitude