Appearance
Deprecation
All features that are now marked deprecated are listed here. Deprecated features will be removed in version five at the latest.
Websocket
The first version of the websocket is now marked deprecated and will be removed in the near future. While it was pretty useful and is still being used in some applications, it had no dynamic way to relay events via a websocket. All events the websocket module is sending are hardcoded and therefore would require changes in two specific points in the code to properly work. In the latest version modules define the events themselves and therefore no code discrepancy can occur. The biggest responsibility of the websocket module is handling the access mapping from client to event and sending events accordingly. Furthermore, the first iteration of the websocket module had no way to allow e.g. browsers, who are incapable of sending headers in the upgrade request, to start a websocket connection. To read more about the websocket head to websocket documentation. To get more information about events, check out each modules' event section.
Health Endpoints
The monitor health endpoint did not conform to the camel-case naming convention the API uses throughout its endpoints. To not break any current deployments a new endpoint has been created that uses the camel-case-convention and is reachable via api/v1/health/status. This endpoint does also return the coldwave-library version.
Pair Endpoints
The pair endpoints are now marked deprecated. They are still used in some application and should be replaced with the newest endpoints that offer similar functionality with a slight change in the payload to better match the coldwave naming schema.
Alarm Status Endpoint
There is a typo in the alarm status endpoint. The watcher
key in the response for /alarm/status
json
{
"watchers": {
"deviceIdentifier": "000000000000001",
"watchers": [{
"watcherIdentifier": "17a325a5c9d306287fa"
}]
}
}
has been renamed to devices
and does now properly reflect the keys contents:
json
{
"devices": {
"deviceIdentifier": "000000000000001",
"watchers": [{
"watcherIdentifier": "17a325a5c9d306287fa"
}]
}
}
However, this is apparently a breaking change, so it is hidden behind flag. Namely, the query parameter fixTypo
which is false by default. Setting it to true will change the response value and fix the typo.