From e6e18f4d0d4c3fbd6884448bcb7937fddc2aaab1 Mon Sep 17 00:00:00 2001 From: FabrizioMoggio <87469955+FabrizioMoggio@users.noreply.github.com> Date: Wed, 3 Dec 2025 15:03:38 +0100 Subject: [PATCH 01/13] Update API version to 0.1.0 in YAML file https://github.com/camaraproject/IoTNetworkOptimization/issues/36 --- code/API_definitions/iot-network-optimization.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/API_definitions/iot-network-optimization.yaml b/code/API_definitions/iot-network-optimization.yaml index 1e8f64e..440d11f 100644 --- a/code/API_definitions/iot-network-optimization.yaml +++ b/code/API_definitions/iot-network-optimization.yaml @@ -116,7 +116,7 @@ info: ## Release Notes First draft for the IoT Network Optimization API. - version: wip + version: 0.1.0 license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0.html @@ -128,7 +128,7 @@ externalDocs: # Servers # ############################################################################ servers: - - url: "{apiRoot}/iot-network-opt/vwip" + - url: "{apiRoot}/iot-network-opt/v0.1" variables: apiRoot: default: http://localhost:9091 From a3c3d41ad0399cf9f356244b28c957f1c29264bc Mon Sep 17 00:00:00 2001 From: FabrizioMoggio <87469955+FabrizioMoggio@users.noreply.github.com> Date: Wed, 3 Dec 2025 15:13:41 +0100 Subject: [PATCH 02/13] readme v0.1 https://github.com/camaraproject/IoTNetworkOptimization/issues/36 --- README.md | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index ef1af2a..f7bd526 100644 --- a/README.md +++ b/README.md @@ -24,12 +24,14 @@ Sandbox API Repository to describe, develop, document, and test the IoTNetworkOp ## Release Information -The repository has no (pre)releases yet, work in progress is within the main branch. - - - - - +* Note: Please be aware that the project will have frequent updates to the main branch. There are no compatibility guarantees associated with code in any branch, including main, until a new release is created. For example, changes may be reverted before a release is created. **For best results, use the latest available release**. + +* `NEW`: The latest public release is [r1.0](https://github.com/camaraproject/IoTNetworkOptimization/releases/tag/r1.1) with iot-network-optimization v0.1.0 is available. + * version v0.1.0 of the **API iot-network-optimization** - available [here](https://github.com/camaraproject/IoTNetworkOptimization/tree/r1.1) + * API definitions **with inline documentation**: + * OpenAPI [YAML](https://github.com/camaraproject/IoTNetworkOptimizationn/blob/r1.1/code/API_definitions/iot-network-optimization.yaml) + * [View it on ReDoc](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/IoTNetworkOptimization/refs/tags/r1.1/code/API_definitions/iot-network-optimization.yaml&nocors) + * [View it on Swagger Editor](https://camaraproject.github.io/swagger-ui/?url=https://raw.githubusercontent.com/camaraproject/IoTNetworkOptimization/refs/tags/r1.1/code/API_definitions/iot-network-optimization.yaml) ## Contributing From 4b345d2fccada22e28f19a60ce3e2b0dcf7b9573 Mon Sep 17 00:00:00 2001 From: FabrizioMoggio <87469955+FabrizioMoggio@users.noreply.github.com> Date: Wed, 3 Dec 2025 15:22:17 +0100 Subject: [PATCH 03/13] alpha --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f7bd526..805b915 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,7 @@ Sandbox API Repository to describe, develop, document, and test the IoTNetworkOp * Note: Please be aware that the project will have frequent updates to the main branch. There are no compatibility guarantees associated with code in any branch, including main, until a new release is created. For example, changes may be reverted before a release is created. **For best results, use the latest available release**. -* `NEW`: The latest public release is [r1.0](https://github.com/camaraproject/IoTNetworkOptimization/releases/tag/r1.1) with iot-network-optimization v0.1.0 is available. +* `NEW`: The latest pre-release is [r1.0](https://github.com/camaraproject/IoTNetworkOptimization/releases/tag/r1.1) with **iot-network-optimization v0.1.0 alpha** is available. * version v0.1.0 of the **API iot-network-optimization** - available [here](https://github.com/camaraproject/IoTNetworkOptimization/tree/r1.1) * API definitions **with inline documentation**: * OpenAPI [YAML](https://github.com/camaraproject/IoTNetworkOptimizationn/blob/r1.1/code/API_definitions/iot-network-optimization.yaml) From b6b480915ce618527cb76a69ea396d6d0c7cd1e4 Mon Sep 17 00:00:00 2001 From: FabrizioMoggio <87469955+FabrizioMoggio@users.noreply.github.com> Date: Wed, 3 Dec 2025 15:25:17 +0100 Subject: [PATCH 04/13] Update API readiness checklist with status notes https://github.com/camaraproject/IoTNetworkOptimization/issues/36 --- ...t-network-optimization-API-Readiness-Checklist.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/documentation/API_documentation/iot-network-optimization-API-Readiness-Checklist.md b/documentation/API_documentation/iot-network-optimization-API-Readiness-Checklist.md index a8bd45e..3588a31 100644 --- a/documentation/API_documentation/iot-network-optimization-API-Readiness-Checklist.md +++ b/documentation/API_documentation/iot-network-optimization-API-Readiness-Checklist.md @@ -5,16 +5,16 @@ Checklist for kyc-match vwip | Nr | API release assets | alpha | release-candidate | initial
public | stable
public | Status | Reference information | |----|----------------------------------------------|:-----:|:-----------------:|:-------:|:------:|:----:|:----:| | 1 | API definition | M | M | M | M | Y | [link](/code/API_definitions/iot-network-optimization.yaml) | -| 2 | Design guidelines from Commonalities applied | O | M | M | M | N | | -| 3 | Guidelines from ICM applied | O | M | M | M | N | | -| 4 | API versioning convention applied | M | M | M | M | Y | | +| 2 | Design guidelines from Commonalities applied | O | M | M | M | N | not fully checked | +| 3 | Guidelines from ICM applied | O | M | M | M | N | not fully checked | +| 4 | API versioning convention applied | M | M | M | M | Y | 0.1.0 | | 5 | API documentation | M | M | M | M | Y | Embedded documentation into API spec - [link](/code/API_definitions/iot-network-optimization.yaml) | | 6 | User stories | O | O | O | M | Y | [link](/documentation/API_documentation/IoT_Network_Optimization_UserStory_UseCase_1) | | 7 | Basic API test cases & documentation | O | M | M | M | Y | [link](/code/Test_definitions/iot-network-optimization-power-saving.feature) | -| 8 | Enhanced API test cases & documentation | O | O | O | M | Y | | +| 8 | Enhanced API test cases & documentation | O | O | O | M | N | | | 9 | Test result statement | O | O | O | M | N | | -| 10 | API release numbering convention applied | M | M | M | M | Y | | -| 11 | Change log updated | M | M | M | M | N | | +| 10 | API release numbering convention applied | M | M | M | M | Y | r1.1 | +| 11 | Change log updated | M | M | M | M | Y | | | 12 | Previous public release was certified | O | O | O | M | N | | | 13 | API description (for marketing) | O | O | M | M | | [wiki link](https://lf-camaraproject.atlassian.net/wiki/spaces/CAM/pages/129204225/IoTNetworkOptimization) | From d6e2bb86728a9177ef46f25d3fda8135f2e503fb Mon Sep 17 00:00:00 2001 From: FabrizioMoggio <87469955+FabrizioMoggio@users.noreply.github.com> Date: Tue, 9 Dec 2025 14:50:05 +0100 Subject: [PATCH 05/13] alpha release https://github.com/camaraproject/IoTNetworkOptimization/issues/36 From 8e4325c5423dffa6fac2a8316f060f9a406298dc Mon Sep 17 00:00:00 2001 From: FabrizioMoggio <87469955+FabrizioMoggio@users.noreply.github.com> Date: Tue, 9 Dec 2025 15:00:53 +0100 Subject: [PATCH 06/13] Fix version number --- code/API_definitions/iot-network-optimization.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/API_definitions/iot-network-optimization.yaml b/code/API_definitions/iot-network-optimization.yaml index 5202543..7360d2c 100644 --- a/code/API_definitions/iot-network-optimization.yaml +++ b/code/API_definitions/iot-network-optimization.yaml @@ -116,7 +116,7 @@ info: ## Release Notes First draft for the IoT Network Optimization API. - version: 0.1.0 + version: 0.1.0-alpha.1 license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0.html @@ -128,7 +128,7 @@ externalDocs: # Servers # ############################################################################ servers: - - url: "{apiRoot}/iot-network-opt/v0.1" + - url: "{apiRoot}/iot-network-opt/v0.1alpha1" variables: apiRoot: default: http://localhost:9091 From 98dd5541bdb825b12f1ce973884cd9708c028bba Mon Sep 17 00:00:00 2001 From: FabrizioMoggio <87469955+FabrizioMoggio@users.noreply.github.com> Date: Tue, 9 Dec 2025 15:03:52 +0100 Subject: [PATCH 07/13] Changelog --- CHANGELOG.md | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..a005ebc --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,47 @@ + +# Changelog CAMARA IoTNetworkOptimization + +## Table of Contents + +- **[r1.1](#r11)** + +**Please be aware that the project will have frequent updates to the main branch. There are no compatibility guarantees associated with code in any branch, including main, until it has been released. For example, changes may be reverted before a release is published. For the best results, use the latest published release.** + +The below sections record the changes for each API version in each release as follows: + +* for an alpha release, the delta with respect to the previous release +* for the first release-candidate, all changes since the last public release +* for subsequent release-candidate(s), only the delta to the previous release-candidate +* for a public release, the consolidated changes since the previous public release + +# r1.1 + +## Release Notes + +This release contains the definition and documentation of: +* iot-network-optimization v0.1.0-alpha.1 + + +## iot-network-optimization v0.1.0-alpha.1 +This is an alpha release of the CAMARA IoTNetworkOptimization API supporting the activation of power-saving network features for a fleet of IoT devices. + +- API definition **with inline documentation**: + - OpenAPI [YAML spec file](https://github.com/camaraproject/IoTNetworkOptimization/blob/r1.1/code/API_definitions/iot-network-optimization.yaml) + - [View it on ReDoc](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/IoTNetworkOptimization/r1.1/code/API_definitions/iot-network-optimization.yaml&nocors) + - [View it on Swagger Editor](https://camaraproject.github.io/swagger-ui/?url=https://raw.githubusercontent.com/camaraproject/IoTNetworkOptimization/r1.1/code/API_definitions/iot-network-optimization.yaml) + +## Please note: + +- This pre-release contains a release-candidate API version, there are bug fixes to be expected and incompatible changes in upcoming versions +- The release is suitable for implementers, but it is not recommended to use the API with customers in productive environments +- The release scope is defined here: https://github.com/camaraproject/IoTNetworkOptimization/issues/50 + +## What's New + +* Support for the following use cases: https://github.com/camaraproject/IoTNetworkOptimization/discussions/11 + +## New Contributors +* @FabrizioMoggio +* @varanto + +**Full Changelog**: https://github.com/camaraproject/IoTNetworkOptimization/commits/r1.1 \ No newline at end of file From 6d1147d3b927e30f6623d35dd111b48724598fa8 Mon Sep 17 00:00:00 2001 From: FabrizioMoggio <87469955+FabrizioMoggio@users.noreply.github.com> Date: Tue, 9 Dec 2025 15:06:04 +0100 Subject: [PATCH 08/13] Update API versioning convention to alpha --- .../iot-network-optimization-API-Readiness-Checklist.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/API_documentation/iot-network-optimization-API-Readiness-Checklist.md b/documentation/API_documentation/iot-network-optimization-API-Readiness-Checklist.md index 3588a31..cf21b14 100644 --- a/documentation/API_documentation/iot-network-optimization-API-Readiness-Checklist.md +++ b/documentation/API_documentation/iot-network-optimization-API-Readiness-Checklist.md @@ -7,7 +7,7 @@ Checklist for kyc-match vwip | 1 | API definition | M | M | M | M | Y | [link](/code/API_definitions/iot-network-optimization.yaml) | | 2 | Design guidelines from Commonalities applied | O | M | M | M | N | not fully checked | | 3 | Guidelines from ICM applied | O | M | M | M | N | not fully checked | -| 4 | API versioning convention applied | M | M | M | M | Y | 0.1.0 | +| 4 | API versioning convention applied | M | M | M | M | Y | 0.1.0-alpha.1 | | 5 | API documentation | M | M | M | M | Y | Embedded documentation into API spec - [link](/code/API_definitions/iot-network-optimization.yaml) | | 6 | User stories | O | O | O | M | Y | [link](/documentation/API_documentation/IoT_Network_Optimization_UserStory_UseCase_1) | | 7 | Basic API test cases & documentation | O | M | M | M | Y | [link](/code/Test_definitions/iot-network-optimization-power-saving.feature) | From e44fe41a7786aa3eabb0f2ece649212e26f03a35 Mon Sep 17 00:00:00 2001 From: FabrizioMoggio <87469955+FabrizioMoggio@users.noreply.github.com> Date: Tue, 9 Dec 2025 15:07:37 +0100 Subject: [PATCH 09/13] Update release information to reflect new version --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 805b915..746c748 100644 --- a/README.md +++ b/README.md @@ -26,8 +26,8 @@ Sandbox API Repository to describe, develop, document, and test the IoTNetworkOp * Note: Please be aware that the project will have frequent updates to the main branch. There are no compatibility guarantees associated with code in any branch, including main, until a new release is created. For example, changes may be reverted before a release is created. **For best results, use the latest available release**. -* `NEW`: The latest pre-release is [r1.0](https://github.com/camaraproject/IoTNetworkOptimization/releases/tag/r1.1) with **iot-network-optimization v0.1.0 alpha** is available. - * version v0.1.0 of the **API iot-network-optimization** - available [here](https://github.com/camaraproject/IoTNetworkOptimization/tree/r1.1) +* `NEW`: The latest pre-release is [r1.1](https://github.com/camaraproject/IoTNetworkOptimization/releases/tag/r1.1) with **iot-network-optimization v0.1.0-alpha.1** is available. + * version v0.1.0-alpha.1 of the **API iot-network-optimization** - available [here](https://github.com/camaraproject/IoTNetworkOptimization/tree/r1.1) * API definitions **with inline documentation**: * OpenAPI [YAML](https://github.com/camaraproject/IoTNetworkOptimizationn/blob/r1.1/code/API_definitions/iot-network-optimization.yaml) * [View it on ReDoc](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/IoTNetworkOptimization/refs/tags/r1.1/code/API_definitions/iot-network-optimization.yaml&nocors) From eddd3569f3295cce34ea886a5681e0f884eb5ee0 Mon Sep 17 00:00:00 2001 From: FabrizioMoggio <87469955+FabrizioMoggio@users.noreply.github.com> Date: Wed, 10 Dec 2025 09:21:36 +0100 Subject: [PATCH 10/13] Increase maxItems for event types from 1 to 2 --- code/API_definitions/iot-network-optimization.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/API_definitions/iot-network-optimization.yaml b/code/API_definitions/iot-network-optimization.yaml index 7360d2c..9fe96a4 100644 --- a/code/API_definitions/iot-network-optimization.yaml +++ b/code/API_definitions/iot-network-optimization.yaml @@ -345,7 +345,7 @@ components: Note: the maximum number of event types per subscription will be decided at API project level type: array minItems: 1 - maxItems: 1 + maxItems: 2 items: $ref: "#/components/schemas/SubscriptionEventType" config: From f892f1cdba242a762197275bfa83bbeefe1b9c89 Mon Sep 17 00:00:00 2001 From: FabrizioMoggio <87469955+FabrizioMoggio@users.noreply.github.com> Date: Thu, 11 Dec 2025 11:43:12 +0100 Subject: [PATCH 11/13] 409-202 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit • The success response is now 202 Accepted instead of 200 OK, to reflect that the activation is processed asynchronously. • A 409 Conflict response has been added for cases where one or more devices in the request already have an active power-saving configuration. --- .../iot-network-optimization.yaml | 31 +++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/code/API_definitions/iot-network-optimization.yaml b/code/API_definitions/iot-network-optimization.yaml index 9fe96a4..0d406c9 100644 --- a/code/API_definitions/iot-network-optimization.yaml +++ b/code/API_definitions/iot-network-optimization.yaml @@ -160,8 +160,8 @@ paths: schema: $ref: '#/components/schemas/PowerSavingRequest' responses: - "200": - description: Power-saving feature request sent successfully + "202": + description: Power-saving feature request accepted headers: x-correlator: $ref: '#/components/headers/x-correlator' @@ -177,6 +177,8 @@ paths: $ref: "#/components/responses/Generic403" "404": $ref: "#/components/responses/Generic404" + "409": + $ref: "#/components/responses/Generic409" "501": $ref: "#/components/responses/Generic501" callbacks: @@ -921,6 +923,31 @@ components: status: 404 code: UNKNOWN_APPLICATION_IDENTIFIER message: the target application is unknown. + Generic409: + description: Conflict + headers: + x-correlator: + $ref: "#/components/headers/x-correlator" + content: + application/json: + schema: + allOf: + - $ref: "#/components/schemas/ErrorInfo" + - type: object + properties: + status: + enum: + - 409 + code: + enum: + - CONFLICT + examples: + GENERIC_409_CONFLICT: + description: Device already in the requested state or conflicting operation in progress + value: + status: 409 + code: CONFLICT + message: The device is already in the requested power-saving state or a conflicting operation is in progress. Generic410: description: Gone headers: From deacb5b7fcc87289c7204c71aad0bdf06a6d78ee Mon Sep 17 00:00:00 2001 From: FabrizioMoggio <87469955+FabrizioMoggio@users.noreply.github.com> Date: Thu, 11 Dec 2025 11:48:33 +0100 Subject: [PATCH 12/13] Update code/API_definitions/iot-network-optimization.yaml Co-authored-by: Kevin Smith --- code/API_definitions/iot-network-optimization.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/API_definitions/iot-network-optimization.yaml b/code/API_definitions/iot-network-optimization.yaml index 0d406c9..a5bfe21 100644 --- a/code/API_definitions/iot-network-optimization.yaml +++ b/code/API_definitions/iot-network-optimization.yaml @@ -128,7 +128,7 @@ externalDocs: # Servers # ############################################################################ servers: - - url: "{apiRoot}/iot-network-opt/v0.1alpha1" + - url: "{apiRoot}/iot-network-optimization/v0.1alpha1" variables: apiRoot: default: http://localhost:9091 From b2b1a547272d41b2067b91d62585bd3e607bbe93 Mon Sep 17 00:00:00 2001 From: FabrizioMoggio <87469955+FabrizioMoggio@users.noreply.github.com> Date: Thu, 11 Dec 2025 11:48:51 +0100 Subject: [PATCH 13/13] Update documentation/API_documentation/iot-network-optimization-API-Readiness-Checklist.md Co-authored-by: Kevin Smith --- .../iot-network-optimization-API-Readiness-Checklist.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/API_documentation/iot-network-optimization-API-Readiness-Checklist.md b/documentation/API_documentation/iot-network-optimization-API-Readiness-Checklist.md index cf21b14..d050d9d 100644 --- a/documentation/API_documentation/iot-network-optimization-API-Readiness-Checklist.md +++ b/documentation/API_documentation/iot-network-optimization-API-Readiness-Checklist.md @@ -16,7 +16,7 @@ Checklist for kyc-match vwip | 10 | API release numbering convention applied | M | M | M | M | Y | r1.1 | | 11 | Change log updated | M | M | M | M | Y | | | 12 | Previous public release was certified | O | O | O | M | N | | -| 13 | API description (for marketing) | O | O | M | M | | [wiki link](https://lf-camaraproject.atlassian.net/wiki/spaces/CAM/pages/129204225/IoTNetworkOptimization) | +| 13 | API description (for marketing) | O | O | M | M | | [wiki link](https://lf-camaraproject.atlassian.net/wiki/x/AQCGDg) | To fill the checklist: - in the line above the table, replace the api-name, api-version and the rx.y by their actual values for the current API version and release.