Releases: openmhealth/shimmer
v0.6.0
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
andomh:speed:1.0
.
All shims
-
All shims that support calories burned and step count now serve
omh:calories_burned:2.0
andomh: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
andphysical_activity
endpoints if you use the Moves shim.
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.
v0.4.5
v0.4.4
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
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
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
andsteps
. 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
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
- 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)
- Creates consistency for the
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.