Skip to content

v0.5.0

Compare
Choose a tag to compare
@emersonf emersonf released this 14 Aug 01:02
· 88 commits to master since this release

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.