Interface Versioning
The MyDataHelps interfaces are continually evolving and adding new capabilities. This article describes the versioning strategy.
Versions
The REST API uses a singular, increasing version number (v1, v2, etc.). A change in version indicates a major change in functionality that is not backwards-compatible. Backwards-compatible updates will occur transparently, without a change in version number.
The SDKs use semantic versioning (Major.Minor.Patch
, e.g., 1.0.2
) where:
- Major Version - Reflects major changes in functionality that are not necessarily backwards-compatible.
- Minor Version - Reflects when new, backwards-compatible features are added.
- Patch Version - Reflects backwards-compatible bug fixes or other trivial updates.
Selecting a Version
For the REST API, the version is part of the resource URL. For example: /api/v1/administration/projects/:projectId/participants
.
For the SDKs, you select a version when you include it in your application. For example:
- JS SDK version x.y.z:
<script src="https://cdn.careevolution.com/mydatahelps-js/x.y.z/MyDataHelps.js"
- iOS SDK version x.y.z:
.package(url: "https://github.com/CareEvolution/MyDataHelpsKit-iOS", from: "x.y.z")
Backwards Compatibility
Changes which are additive are generally considered backwards-compatible. These include (but are not limited to):
- Adding a new REST API resource.
- Adding a new request type (e.g., POST) to an existing REST API resource.
- Adding a new response field to an existing REST API request.
- Adding a new optional body/query parameter to an existing REST API request.
- Adding a new SDK method.
- Adding a new, optional parameter to an existing SDK method.
- Adding a new field to an SDK class/object.
Deprecation of Old Versions
Older versions of the SDKs and REST API will continue to be supported for at least six months after a new version is released, allowing customers to upgrade at their own pace.