Change Log
v0.11.0 (2025-08-06)
FIT SDK profile upgraded to v21.171.0
Fixed: decoding of
developer_data_indexfield which was not converted to anintdue to a typoMost of FIT so-called developer fields are now considered optional (should fix #22 and #24)
Support of
localtimefields set to out-of-bound value86400(thanks to @maethub, see python-fitparse#138)generate_profileutility now supports latests FIT SDK Zip archive layout andProfile.xlsxfile format (thanks to @fundthmcalculus, see python-fitparse#134)Minor corrections due to stricter flake8 settings (code quality)
Overhaul of project files and C/I
v0.10.0 (2021-09-12)
fitjson: added--prettyoptionfitjson: added--nounkoption to filter-out unknown messagesfitjson:--filteroption also allows to filter-out messagesfittxt:--filteroption also allows to filter-out messagesfittxt: added--nounkoption to filter-out unknown messagesFixed:
FitReaderdoes not close a file-like object owned by the userFixed:
FitReader.file_idgets reset upon FIT footer (CRC frame)Fixed:
utils.get_mesg_num()return valueFixed:
utils.get_mesg_field_num()return valueMinor corrections, improvements and code cleanup
v0.9.0 (2021-09-10)
FitReadergets new propertiesfit_file_indexandfit_files_countNew
CrcCheckpolicy:WARNBREAKING CHANGE:
CrcCheckdefault policy fromRAISEtoWARNFitHeaderErrorexception messages a bit more helpfulMinor corrections and code cleanup
v0.8.0 (2021-09-09)
FitReadergets theerror_handlingargument to be less strict on malformed files (issues #13, #16, #18)FIT SDK profile upgraded to v21.60
Minor corrections, improvements and cleanup on code and documentation
v0.7.0 (2020-10-04)
Compatibility with Apple Watch improved (issue #10)
FIT SDK profile upgraded to v21.38
generate_profileutility now supports recent SDK file structureMinor improvements and cleanup on code and documentation
v0.6.0 (2019-11-02)
Added
FitReader.last_timestamppropertyFixed:
FitReaderwas raisingKeyErrorinstead ofFitParseErrorwhen a dev_type was not foundFitParseErrormessage contains more details upon malformed file in some casesFIT SDK profile upgraded to v21.16
README’s usage example slightly improved
v0.5.0 (2019-04-11)
Added
fitdecode.DataProcessorBaseclasscheck_crc- the parameter tofitdecode.FitReader’s constructor - can now be either “enabled”, “read-only” or “disabled” (issue #1)Minor speed improvements
v0.4.0 (2019-04-10)
Added
fitdecode.FitDataMessage.has_fieldfitdecode.FitDataMessage.get_fieldsis now a generatorfitdecode.FitDataMessage.get_valuesis now a generatorfitdecode.DefaultDataProcessornow convertshr.event_timestampvalues that were populated fromhr.event_timestamp_12components todatetime.datetimeobjects for conveniencefitjsonandfittxtutilities: * Added support for input files with Unicode characters * Still write output file even if an error occurred while parsing FIT fileFixed handling of some FIT fields that are both scaled and components. See https://github.com/dtcooper/python-fitparse/issues/84
Improved support for malformed FIT files. See https://github.com/dtcooper/python-fitparse/issues/62
generate_profileutility slightly improvedAdded some unit tests
Minor improvements and corrections
v0.3.0 (2018-07-27)
Minor improvements and corrections
v0.2.0 (2018-07-16)
Added
FieldData.name_or_numImproved
FitDataMessage.get_field(idx arg)Improved
FitDataMessage.get_value(idx arg)Completed documentation of
FitDataMessageImproved documentation of
FieldDataFitReader’s internal state is reset as well after aFitCRChas been yielded (i.e. not only when a FIT header is about to be read), in order to avoid incorrect behavior due to malformed FIT stream
v0.1.0 (2018-07-14)
Added class property
frame_type(read-only) toFitHeader,FitCRC,FitDefinitionMessageandFitDataMessage(recordsmodule) to ease and speed up type checkingAdded
FitDataMessage.get_valuemethodstringvalues with no null byte are still decoded (in full length)cmddirectory added to the source code tree for convenience
v0.0.1 (2018-07-08)
First release
v0.0.0 (2018-05-31)
Birth!