0.10.0
Added
fetch(subject:)/fetchSubject/fetch_subject— retrieves a single subject by ID, without fetching the full subject list.
Breaking
-
The default OpenSim model is now
laiUhlrich2022/LaiUhlrich2022/lai_uhlrich_2022. Sessions created without an explicitopensimModel/opensim_modelare processed without the ISB shoulder complex.Pass
laiUhlrich2022Shoulder/LaiUhlrich2022_shoulder/lai_uhlrich_2022_shoulderexplicitly toSessionConfigto keep the previous behavior. -
Activity.created_at/createdAtandupdated_at/updatedAt(Python, TypeScript) are now realdatetime/Dateobjects instead of strings, matching Swift, which already usedDate.Session.created_at/createdAtandupdated_at/updatedAtchange the same way. -
Subject.gender/genderandsex_at_birth/sexAtBirthare now optional (None/nil/undefinedwhen the subject declined to answer or no value is available), instead of collapsing that case into ano_responsevalue. All three bindings. -
Subject.heightnow returns centimeters, matchingSubjectParameters.height(the value you write) and its own documentation. It previously returned meters — a long-standing bug, not an intentional unit change. Code that compensated by multiplying the result by 100 will now silently get a value 100x too large. -
Activity.activity_type/activityTypeis now the full record as reported ({id, name, display_name}) instead of a fixed string enum — it survives a type this SDK build doesn't otherwise recognize, and code reading it as a string needs to switch to reading.name/.id/.display_nameinstead. All three bindings. -
TypeScript:
Activity.tags,Activity.trashed, andSubject.tagsare non-optional. Code that builds anActivity/Session/Subjectobject literal (rather than only reading one the SDK returned) now needs to supply them to type-check.
Added
-
Activity:notes,created_by/createdBy,analysis_status/analysisStatus,trashed. All three bindings. -
Subject:first_name/firstName,last_name/lastName,tags,activity_count/activityCount,last_activity/lastActivity,created_at/createdAt,updated_at/updatedAt. All three bindings. The three timestamps are realdatetime/Dateobjects, not strings. -
Python:
Gender,Sexenum types.
Fixed
-
TypeScript:
Activitywas missingtagsin its type definition —updateActivitywiped stored tags on every call. -
Python:
Subject.agewas dropped when calibrating a subject or importing a session. -
Swift: two memory leaks freeing
created_at/updated_atin the activity and session arrays.