v0.5.0
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 servesomh: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 fromomh:sleep-duration:1.0
toomh:sleep-duration:2.0
.
- The
- 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 Composeenv_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 toopenmhealth.shimmer.data-provider-redirect-base-url
for clarity. - The
openmhealth.shim.fitbit.partnerAccess
has been renamed toopenmhealth.shim.fitbit.intraday-data-available
for clarity. - The
openmhealth.shim.ihealth.partnerAccess
has been renamed toopenmhealth.shim.ihealth.intraday-data-available
for clarity.