Breaking Changes in thingsHub 5.5
This document describes the changes that a user must be aware of when upgrading from thingsHub 5.4 to thingsHub 5.5:
API Changes
Changes to the /api/v3/drivers endpoint:
Change in
firmwareversionfield tofirmware_version:The
firmwareversionfield within thesupportsarray has been renamed tofirmware_versionin all API responses (GET, PUT, POST, and LIST) related to drivers.Pagination introduced in the Listing endpoint:
The LISTing endpoint
/api/v3/driversnow returns a paginated list of drivers instead of just a simple array.Before:
CODE[ { "author": "John Doe", "description": "Driver for XYZ device", "digest": "abcdef123456", "labels": [ { "key": "version", "value": "1.0" } ], "name": "XYZ Driver", "os": "Windows", "level": "1.0", "platform": "x86", "supports": [ { "firmwareversion": "v1.2.3", "manufacturer": "XYZ Corp", "model": "XYZ-1000" } ], "tags": [ "device", "driver" ] }, ... ]After:
CODE{ "count": 0, "page": 0, "total_count": 0, "total_pages": 0, "collection": [ { "author": "John Doe", "description": "Driver for XYZ device", "digest": "abcdef123456", "labels": [ { "key": "version", "value": "1.0" } ], "name": "XYZ Driver", "os": "Windows", "level": "1.0", "platform": "x86", "supports": [ { "firmwareversion": "v1.2.3", "manufacturer": "XYZ Corp", "model": "XYZ-1000" } ], "tags": [ "device", "driver" ] }, ... ] } }
Key changes:
The
firmwareversionfield in thesupportsarray has been renamed tofirmware_versionfor consistency.The endpoint
/api/v3/driversnow returns a paginated response, providing additional metadata such ascount,page,total_count,total_pages, and acollectionof drivers.
Required Actions:
Update your code to handle the
firmware_versionfield instead offirmwareversionin API responses related to drivers.Adjust your application to accommodate paginated responses from the
/api/v3/driversendpoint. The items now are under the field"collection", instead of in the first level of the json response.
If your application uses any of these endpoints, make sure to integrate these changes before upgrading to thingsHub 5.5.
Breaking helm changes:
Only for On-Premise Customers
Addition of Google Maps API key to the iam block:
The tenant configuration now has a mandatory google maps API key section in it, which will have to be added in the iam block. You should add the iam.keys with the following structure to your tenant configuration file.
global
...
...
...
iam:
keys:
map:
key: {GMAPS_API_KEY}
id: {YOUR_GOOGLE_MAP_ID}
...
For more information on this API key and how to set Google APIs up for your on-premise thingsHub installation, go to our official docs on Google API Key Management: Google Maps and other geo-service API Keys
Integration Changes
This is only applicable to users who are using integrations (e.g. MQTT) to get thingsHub device data to external systems.
Key change:
Support for the
versionfield in the device message has been removed, since this is not give any information about the device. This field is always empty in thingsHub 5.5.
Required Action
If any third party systems using data from thingsHub integrations have dependency on this
versionfield , they will have to remove this dependency.