diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..dae3aea --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,52 @@ +# Changelog Application Profiles + +NOTE: + +## 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 +Note: this API had former releases in the [ConnectivityInsights](https://github.com/camaraproject/ConnectivityInsights/releases) repository. +# r1.1 +## Release Notes + +This release contains the definition and documentation of +* application-profiles v0.5.0-rc.1 + +The API definition(s) are based on +* Commonalities v0.6.0-rc.1 (r3.2) +* Identity and Consent Management v0.4.0-rc.1 (r3.2) + +* **r1.1 release of ApplicationProfiles has the following API definitions:** + + * **application-profiles v0.5.0-rc.1** + [[View it on ReDoc]](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/ApplicationProfiles/r1.1/code/API_definitions/application-profiles.yaml&nocors) + [[View it on Swagger Editor]](https://camaraproject.github.io/swagger-ui/?url=https://raw.githubusercontent.com/camaraproject/ApplicationProfiles/r1.1/code/API_definitions/application-profiles.yaml) + [[OpenAPI]](https://raw.githubusercontent.com/camaraproject/ApplicationProfiles/r1.1/code/API_definitions/application-profiles.yaml) + + +### Added + +* New `DeviceResponse` object in responses limited to one identifier. +* Clarifications on non-documented error responses. +* Support for compute resource requirements related to the application. + +### Changed + +* Updated string pattern for `x-correlator`headers. + +### Removed + +* `verificationResult: UNKNOWN` for 200 responses. +* Error `422 IDENTIFIER_MISMATCH`. +* Error `401 AUTHENTICATION_REQUIRED`. + +**Full Changelog**: https://github.com/camaraproject/ApplicationProfiles/commits/r1.1 diff --git a/README.md b/README.md index ae91d95..4d0b858 100644 --- a/README.md +++ b/README.md @@ -15,24 +15,24 @@ Sandbox API Repository to describe, develop, document, and test the ApplicationP ## Scope -* Service API(s) “ApplicationProfiles” (see APIBacklog.md) -* The API(s) provide(s) the API consumer with the ability to: +* Service API(s) “ApplicationProfiles” (see APIBacklog.md) +* The API(s) provide(s) the API consumer with the ability to: * Application profiles allows application developers to share all the information about their application which would be relevant for network CAMARA APIs related decision making. * Describe, develop, document, and test the API(s) * Started: October 2024 (within ConnectivityInsights, own repository since March 2025) - + ## Release Information -The repository has no (pre)releases yet, work in progress is within the main branch. +**NEW**: First pre-release [r1.1](https://github.com/camaraproject/ApplicationProfiles/releases/tag/r1.1) with application-profiles v0.5.0-rc.1 is available. -Previous releases of the Application Profiles API up to version 0.4.0 as part of the Fall25 meta-release are available within [ConnectivityInsights](https://github.com/camaraproject/ConnectivityInsights/releases). +Prior releases of application-profiles (as a sub project in connectivity insights) up to version 0.4.0 as part of the Fall25 meta-release are available within [ConnectivityInsights](https://github.com/camaraproject/ConnectivityInsights/releases). - +Pre-releases of this sub project are available in https://github.com/camaraproject/ApplicationProfiles/releases - +For changes see [CHANGELOG.md](https://github.com/camaraproject/ApplicationProfiles/blob/main/CHANGELOG.md) ## Contributing * Meetings are held virtually together with ConnectivityInsights diff --git a/code/API_definitions/application-profiles.yaml b/code/API_definitions/application-profiles.yaml index 1a7d97a..ff20702 100644 --- a/code/API_definitions/application-profiles.yaml +++ b/code/API_definitions/application-profiles.yaml @@ -2,7 +2,7 @@ openapi: 3.0.3 info: title: Connectivity Insights - Application Profiles x-camara-commonalities: 0.6 - version: wip + version: 0.5.0-rc.1 license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0.html @@ -24,14 +24,16 @@ info: Any more general service failures will result in an error in the `5xx`range with an explanation. - ### Additional CAMARA error responses + The list of error codes in this API specification is not exhaustive. Therefore the API specification may not document some non-mandatory error - statuses as indicated in `CAMARA API Design Guidelines`. + statuses as indicated in `CAMARA API Design Guide`. Please refer to the `CAMARA_common.yaml` of the Commonalities Release associated to this API version for a complete list of error responses. + The applicable Commonalities Release can be identified in the `API + Readiness Checklist` document associated to this API version. As a specific rule, error `501 - NOT_IMPLEMENTED` can be only a possible error response if it is explicitly documented in the API. @@ -58,9 +60,11 @@ info: contact: email: sp-edc@lists.camaraproject.org - +externalDocs: + description: Project documentation at Camara + url: https://github.com/camaraproject/ApplicationProfiles servers: - - url: "{apiRoot}/application-profiles/vwip" + - url: "{apiRoot}/application-profiles/v0.5rc1" variables: apiRoot: default: https://localhost:9091 @@ -248,19 +252,19 @@ components: x-correlator: description: Correlation id for the different services schema: - type: string - pattern: ^[a-zA-Z0-9-_:;.\/<>{}]{0,256}$ + $ref: "#/components/schemas/XCorrelator" parameters: x-correlator: name: x-correlator in: header description: Correlation id for the different services schema: - type: string - pattern: ^[a-zA-Z0-9-_:;.\/<>{}]{0,256}$ - example: "b4333c46-49c0-4f62-80d7-f0ef930f1c46" - + $ref: "#/components/schemas/XCorrelator" schemas: + XCorrelator: + type: string + pattern: ^[a-zA-Z0-9-_:;.\/<>{}]{0,256}$ + example: "b4333c46-49c0-4f62-80d7-f0ef930f1c46" Duration: type: object properties: diff --git a/code/Test_definitions/application-profiles.feature b/code/Test_definitions/application-profiles.feature index c6c6d03..394aaa0 100644 --- a/code/Test_definitions/application-profiles.feature +++ b/code/Test_definitions/application-profiles.feature @@ -1,14 +1,14 @@ @Application_Profiles -Feature: CAMARA Application Profiles API, v0.4.0 - Operations for Application Profiles +Feature: CAMARA Application Profiles API, v0.5.0-rc.1 - Operations for Application Profiles # Input to be provided by the implementation to the tests # References to OAS spec schemas refer to schemas specified in application-profiles.yaml Background: Common Application Profiles setup - Given the resource "{apiroot}/application-profiles/v0.4" as base-url + Given the resource "{apiroot}/application-profiles/v0.5rc1" as base-url And the header "Content-Type" is set to "application/json" And the header "Authorization" is set to a valid access token - And the header "x-correlator" complies with the schema at "#/components/schema/XCorrelator" + And the header "x-correlator" complies with the schema at "#/components/schemas/XCorrelator" ######### Happy Path Scenarios ################################# diff --git a/documentation/API_documentation/application-profiles-API-Readiness-Checklist.md b/documentation/API_documentation/application-profiles-API-Readiness-Checklist.md index 0bac510..27dab06 100644 --- a/documentation/API_documentation/application-profiles-API-Readiness-Checklist.md +++ b/documentation/API_documentation/application-profiles-API-Readiness-Checklist.md @@ -1,12 +1,12 @@ # API Readiness Checklist -Checklist for application-profiles v0.5.0-alpha.1 in Fall 25 alpha milestone +Checklist for application-profiles v0.5.0-rc.1 in r1.1 | 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/application-profiles.yaml) | -| 2 | Design guidelines from Commonalities applied | O | M | M | M | Y | r3.2 | -| 3 | Guidelines from ICM applied | O | M | M | M | Y | r3.2 | +| 2 | Design guidelines from Commonalities applied | O | M | M | M | Y | [r3.2](https://github.com/camaraproject/Commonalities/releases/tag/r3.2) | +| 3 | Guidelines from ICM applied | O | M | M | M | Y | [r3.2](https://github.com/camaraproject/IdentityAndConsentManagement/releases/tag/r3.2) | | 4 | API versioning convention applied | M | M | M | M | Y | | | 5 | API documentation | M | M | M | M | Y | inline in YAML | | 6 | User stories | O | O | O | M | Y | [link](/documentation/API_documentation/application-profiles-User-Story.md) | @@ -16,6 +16,7 @@ Checklist for application-profiles v0.5.0-alpha.1 in Fall 25 alpha milestone | 10 | API release numbering convention applied | M | M | M | M | Y | | | 11 | Change log updated | M | M | M | M | Y | [link](/CHANGELOG.md) | | 12 | Previous public release was certified | O | O | O | M | N | | +| 13 | API description (for marketing) | O | O | M | M | Y | [wiki link](https://lf-camaraproject.atlassian.net/wiki/x/iQFmBQ) | 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.