Skip to content

Change Log

Elliott Yu edited this page Mar 7, 2025 · 36 revisions

TerraiOS Versions

1.6.25

  • Samples from a workout are now fixed to the workout and not to a time period the workout was done for
  • Fix an issue where net active calories may be off for a day

1.6.24

  • Added extra limitations to background triggers (specifically regarding which datatypes to observe) to conserve battery usage

1.6.23

  • Fix a bug where laps samples in workouts may not contain the full lap information

1.6.22

  • Fix an issue where getSleep causing a crash due to bad memory access

1.6.21

  • Added floor samples to daily

1.6.20

  • Added PostWorkout to Health Kit (only supports start time, end time, device, calories and distance)

1.6.19

  • Compute workout duration for daily payloads manually

1.6.18

  • Improvement to extracting sleep sessions from sleep samples

1.6.17

  • Fixed a bug where Daily Summary (Stand Hours) were not correctly retrieved

1.6.16

  • Included dSYMs into XCFramework

1.6.15

  • Basal Energy added to Workouts

1.6.14

  • Fixed a bug where steps from activity payloads were not syncing if they occurred with part of its time interval not within the activity

1.6.13

  • Resolve Sleep data from Ultrahuman into Health Kit not properly retrieved

1.6.12

  • Resolve some cases when sleep data request hanging

1.6.11

  • Resolve HKSampleSeries query not returning information as previously

1.6.10

  • Improve reliability for background delivery

1.6.9

  • Fix getBody to retrieve Weight/Height information correctly

1.6.8

  • Fix a bug with activation for Freestylelibre 1

1.6.7

  • Allow setting of ignored sources from Apple Health

1.6.6

  • Add Wrist Temperature as part of Temperature custom permission

1.6.5

  • Fix a bug where Wrist Temperature could return 0 when it should be null

1.6.4

  • Introduce Wrist Temperature
  • Correctly request for Cycling Speed Permission
  • Fixed a bug where Speed samples were not given for some workouts

1.6.2

  • Enable Backfilling remotely. You can now trigger a backfill on our server, and the SDK will trigger it on initialisation!

1.6.2

  • Fixed a bug where Health Kit requests could crash due to 0 types requested

1.6.1

  • Fixed a bug where hr Context were not send correctly

1.6.0

  • Add localised error
  • Resolved a bug where data were not syncing if same SDK was used in two apps on same device

1.5.3 (Swift 5.9)

  • Add context to Apple Heart Rate samples
  • Add Workout Kit (allowing pushing planned workouts)
  • Resolve memory corruption error in background syncs

1.5.2

  • Prioritise Apple Watch for sleep data

1.5.1

  • Fix a crash that occurs on iOS 16 for getActivity / getDaily

1.5.0

  • Update to use iOS 17.0
  • Add cycling power, cycling speed, cycling cadence and running power
  • Expose withSamples parameter when requests are made

1.4.9

  • Resolve a bug where getMenstruation may crash your app.
  • Ensure strong reference cycle for background delivery retrieval reliability
  • Updated Resources Enum for our REST API integrations

1.4.8

  • Ensures that HealthKit permission requests are executed on the main thread

1.4.7

  • Allow Freestylelibre Activation to propagate sensor state properly

1.4.6

  • Added integrations with ECG data, stand hours, and wheelchair distance

1.4.5

  • Updated Terra data models to latest versions

1.4.4

  • Fixed a bug where respiratory rate data would not sync correctly

1.4.3

  • Fixed a bug where sleep data would be overwritten on subsequent days

1.4.2

  • Added option to not use background tasks when an internet connection is unavailable

1.4.1

  • Added faster background syncing when the user re-establishes an internet connection

1.4.0

  • Added big improvements to background delivery speeds

1.3.23

  • Added oxygen data to Daily payloads

1.3.22

  • Added support for indoors swimming laps

1.3.21

  • Fixed a bug where if a sleep session had multiple inbed samples, it would aggregate it as one

1.3.20

  • Fixed a null pointer issue for activity data collection

1.3.19

  • Updated Backend models to match Terra API backend

1.3.18

  • Fixed a bug where background delivery would not execute on first app open

1.3.17

  • Allow background delivery to persist on app uninstall and reinstall

1.3.16

  • Fixed a bug where chunked requests had days being missed
  • Support custom permissions on app reinstall

1.3.15

  • Significantly improve chunking request times
  • Restart chunks if app was killed while chunking request is made
  • Resolve SEGFAULT on Swift deallocs

1.3.14

  • Trigger events are made independent (i.e Activity, Daily, Sleep, etc. can trigger on their own more often)
  • Fixed a bug where Menstruation data were not triggered by Background Delivery properly
  • Fixed a bug where Terra.instance method did not recreate a new instance every time.

1.3.13

  • Fixed a bug where Libre Pro trends do not get calibrated sometimes

1.3.12

  • Fixed a bug where getBody does not return correctly sometimes

1.3.11

  • Added trend data calibration
  • Added Interbeats data for Body
  • Added Distance in swimming indoors

1.3.10

  • Fixed a bug where one version of Libre 1 was not calibrated correctly

1.3.9

  • Added missing permissions for Activity and Daily type

1.3.8

  • Added Libre 1 Calibration Algorithm

1.3.7

  • Fix Background Delivery Hanging on Locked Devices

1.3.6

  • Freestylelibre scans now return local timezone on timestamps

1.3.5

  • Allow developers to take last reading for Body Data

1.3.4

  • All TerraClient getters now return optionals

1.3.3

  • Distance samples now added to daily payloads

1.3.2

  • Terra class is exposed to ObjC

1.3.1

  • Payload reference is now added to each payload sent to reference

1.3.0

  • Terra class has been renamed to TerraManager
  • TerraManager class is now instantiated via Terra.instance(..) to provide a singleton class
  • Data is now returned to get functions as data payloads
  • All data getting requests now return a (success boolean), (data DataPayload)

1.2.25

  • Fixed a bug where toWebhook was not correct

1.2.24

  • Expose a function to overwrite logging level in the SDK

1.2.23

  • Make data fields nullable for data models

1.2.22

  • Fixed a bug where FSL Pro/H scans returned erratic values instead of 0 for the first hour of activation

1.2.21

  • Fixed a bug where FSL Pro/H scans were returning old data passed 3 days of scanning

1.2.20

  • Added support to remove duplicated data to be sent to webhook from background delivery

1.2.19

  • Fixed a bug where upload_type was being mapped to Double instead of Int

1.2.18

  • Updated Terra V2 Models

1.2.17

  • Fixed a bug where steps data were always returning 0 in daily

1.2.16

  • Added support for Vo2Max Data in Body

1.2.15

  • Added Sleep sessions aggregations to match Apple Health's sleep data display

1.2.14

  • Fixed a bug where routes data were not gathered correctly sometimes

1.2.13

  • Allow Freestyle Libre scanning to be more robust (can move away from sensor and put back)

1.2.12

  • Fixed a bug where REM/CORE/DEEP sleep samples were not being assigned an InBed sample correctly

1.2.11

  • Added support to iOS 16 sleep stages

1.2.10

  • Increased redundancy to Background Delivery to make it trigger a lot more often

1.2.9

  • Fixed a bug where Asleep Samples from Apple could be outside of in bed times

1.2.8

  • Added Menstruation data
  • Added Glucose samples

1.2.7

  • Fix BG Delivery Combining Payloads

1.2.6

  • Add step samples
  • Add user entered flag for steps
  • Add source gathering

1.2.5

  • Fixed multiple inBed samples being ignored

1.2.4

  • Added extra detections for Body in Background Delivery

1.2.3

  • Fix on BG Delivery Activity

1.2.2

  • Custom NFC reading message

1.2.1

  • Fix bug where if Freestyle Libre scan causes tag lost error, the app crashes

1.2.0

  • Custom Permissions Enum
  • New subscriptions data

1.1.8

  • Permission requesting for speed data fix

1.1.7

  • Fix bug where getActivity never returned unless mindfulness permission given
  • Speed samples for activity added

1.1.6

  • Device data added for Freestyle Libre scan callback

1.1.5

  • Background Delivery for every datatype added

1.1.4

  • Freestyle Libre activation bug fix

1.1.3

  • Fix bug for background delivery failing on first init

1.1.2

  • Expose main functions to objC

1.1.1

  • Bug fix on first initConnection crashing

1.1.0

  • Clean up developer experience.
  • No longer need to run initConnection on every app launch
  • Background delivery for Activity/Daily