Skip to content

Releases: openmhealth/shimmer

v0.6.0

06 Oct 14:36
Compare
Choose a tag to compare

This is a major release recommended for all users.

Functionality

  • The schema SDK has been updated, which introduces new schemas like omh:geoposition:1.0 and omh:speed:1.0.

All shims

  • All shims that support calories burned and step count now serve omh:calories_burned:2.0 and omh:step_count:2.0 data points, respectively, which require effective time frames to be time intervals.

    Jawbone mappers aren't being updated until it's clear what will happen to the company's products and APIs.

  • All shims that support sleep duration now serve omh:sleep_duration:2.0 data points, which requires effective time frames to be time intervals and whose start and end times ignore the latency to sleep onset and the latency to arising.

Google Fit

  • A mapper and endpoint have been added to serve omh:geoposition:1.0 data points, which serve location data from Android and Google Fit data streams.
  • A mapper and endpoint have been added to serve omh:speed:1.0 data points.

Misfit

  • A mapper and endpoint have been added to serve omh:sleep-episode:1.0 data points.

Moves

  • The endpoint names have been fixed to be consistent with other shims. See the migration instructions below for more details. (#91)

Withings

  • A mapper and endpoint have been added to serve omh:body-temperature:1.0 data points.
  • A mapper and endpoint have been added to serve omh:sleep-episode:1.0 data points.
  • The endpoints have been updated following Nokia's acquisition of Withings. (thank you for the PR @rbidanta)
  • Time zone offsets in mapped data have been updated to match the time zone information sent by Withings, instead of being transformed to UTC.
  • The device attribute "Pulse" included in mapped data has been changed to "Activity tracker", as sent by Withings.
  • The external ID included in mapped data has been changed to a String for consistency.

Documentation

  • The supported mapping list in the documentation has been updated to include the new mappers and schema versions.

Migration instructions

The following breaking changes have been made.

  • When API endpoints were made consistent with Open mHealth schema names and with one another in 0.6.0, Moves was missed. This has been rectified, so you will now need to point to the step_count and physical_activity endpoints if you use the Moves shim.

v0.5.0

14 Aug 01:02
Compare
Choose a tag to compare

This is a major release recommended for all users.

Functionality

  • The schema SDK has been updated, which adds properties or restrictions to a number of schemas and introduces new schemas like omh:sleep-episode:1.0.
  • Different shims can now serve different versions of a schema, allowing shims to be upgraded individually.
  • Shimmer will now correctly handle OAuth 2.0 denials from data providers.
  • A Postman environment and collection have been added to make it easy to experiment with the Shimmer API.

All shims

  • All shims that support heart rate now serve omh:heart-rate:1.1 data points, which can capture temporal relationship to sleep.

Fitbit

  • All Fitbit mappers have been updated to serve the latest versions of schemas.
    • The body_mass_index endpoint now serves omh:body-mass-index:2.0, which changes the unit from kg/m2 to kg/m^2 for consistency with other data points.
    • The effective time frame of sleep-duration data has been updated to represent the time interval the user slept, ignoring the latency to sleep onset and the latency to arising. The schema has changed from omh:sleep-duration:1.0 to omh:sleep-duration:2.0.
  • A Fitbit mapper and endpoint have been added to serve omh:sleep-episode:1.0 data points.
  • A Fitbit mapper and endpoint have been added to serve omh:heart-rate:1.1 data points.
  • A intraday-data-granularity-in-minutes property has been added that controls whether the shim requests data at a 1 minute or 15 minute granularity from Fitbit.

iHealth

  • A sandbox configuration setting has been added to support connecting to sandbox and non-sandbox accounts, which have different URLs and supported scopes.

Documentation

  • The setting up and usage of Postman has been documented.
  • The documentation has been updated to reflect Docker changes.
  • The supported mapping list in the schema has been
    • updated to include the new Fitbit mapper.
    • updated to reflect the latest schema versions served by each mapper.
    • revised to explicitly reference intraday and non-intraday mappers.

Devops

  • It is now possible to configure the resource server without rebuilding it. A resource-server.env has been added that is read using Docker Compose env_file directives. The file contains every possible property commented out, so using it is as simple as uncommenting relevant properties and setting their values.
  • Client credentials and secrets are no longer stored in Mongo, but read from the environment for security reasons.
  • The undocumented configuration API endpoint has also been removed for security reasons.
  • The resource server container now publishes port 8084, so the console container is completely optional.
  • The Docker Machine instructions have been removed in favour of using Docker for Mac and Docker for Windows, as recommended by Docker.
  • Docker base images are now using alpine variants, making them some 500 MB smaller.

Migration instructions

The following breaking changes have been made.

  • The console hasn't been updated to work with version 0.5.0 yet. Postman is the preferred way to visually exercise the API until it is updated.
  • All API endpoints have been made consistent with Open mHealth schema names and with one another. Please consult the README for the full list.
  • The openmhealth.shim.server.callbackUrlBase property has been renamed to openmhealth.shimmer.data-provider-redirect-base-url for clarity.
  • The openmhealth.shim.fitbit.partnerAccess has been renamed to openmhealth.shim.fitbit.intraday-data-available for clarity.
  • The openmhealth.shim.ihealth.partnerAccess has been renamed to openmhealth.shim.ihealth.intraday-data-available for clarity.

v0.4.5

07 Apr 15:35
Compare
Choose a tag to compare

This is a minor release recommended for all users.

  • Fixes a Fitbit error message that referred to Jawbone by mistake.

v0.4.4

07 Apr 14:55
Compare
Choose a tag to compare

This release is a minor release recommended for all users, especially those using the Fitbit shim.

  • Updates the Fitbit shim to use OAuth 2.0 instead of OAuth 1.0a. (fixes #45)
    • Fitbit will support OAuth 1.0a for a few more months but will stop giving out OAuth 1.0a keys imminently.
  • Adds initial redirect URL information to the README.
  • Updates to the latest version of the Java Schema SDK.
  • Updates Gradle to 2.12.

Migrating

If you use the Fitbit shim, visit Fitbit's application management portal to get new OAuth 2.0 credentials, and replace the OAuth 1.0 credentials in Shimmer, e.g. using the console. You should then get your users to re-authorize your application. You could also attempt to follow Fitbit's instructions to migrate existing tokens, but they're not straightforward to follow given the serialized representation of the tokens in MongoDB. If you need this, open an issue and we'll try to get it scheduled.

v0.4.3

23 Feb 17:46
Compare
Choose a tag to compare

This is a minor release recommended for all users.

  • Updates mappers to use the omh:physical-activity:1.1 schema and populate the calories_burned property for APIs which provide that information.
  • Updates the iHealth shim to provide oxygen saturation data using the omh:oxygen-saturation:1.0 schema.
  • Updates the Java schema SDK dependency to 1.0.5.
  • Updates third-party dependencies to latest stable versions.

v0.4.2

23 Dec 16:01
Compare
Choose a tag to compare

This is a minor release recommended for all users.

  • Changes Shimmer to be built as a deployable WAR instead of a JAR. (#31)
  • Updates the Fitbit shim to use date range queries to request body_mass_index and steps. This reduces Shimmer's impact on Fitbit rate limits and improves performance for those measures. (#33 and #34)
  • Removes limits on the number of data points requested from Jawbone and Runkeeper. (#21)

v0.4.1

03 Dec 14:23
Compare
Choose a tag to compare

This is a bug fix release recommended for all users.

  • Prevents a potentially broken version of grunt-contrib-imagemin getting used on a fresh install that breaks the console build.
  • Ensures the authorization result screen gets rendered properly when running on a port other than 80.

v0.4.0

02 Dec 19:23
Compare
Choose a tag to compare
  • Adds support for iHealth.
  • Adds support for Fitbit intraday step activity.
  • Simplifies the authentication process through the console so that the pop-up windows automatically close.
  • Fixes several bugs.
    • Creates consistency for the /authorize endpoint, so that it responds the same for both OAuth1 and OAuth2-based shims when a shim has already been authorized. (#29)

iHealth

  • Adds endpoints for blood_glucose, blood_pressure, body_weight, body_mass_index, heart_rate, physical_activity, step_count, sleep_duration.

Fitbit

  • Adds support for Fitbit intraday step activity when partner access is enabled.

Jawbone

  • Adds test data from Jawbone devices for body weight and body mass index, such that these endpoints have now been tested with real data.

v0.3.2

18 Oct 20:43
Compare
Choose a tag to compare
  • Fixed an issue that caused the Jawbone physical activity mapper to skip distance values that included decimals.

v0.3.1

07 Oct 11:00
Compare
Choose a tag to compare
  • Fixed an issue where Jawbone requests were not retrieving data for the final day of the request.