Analysis of Commonalities 0.5.0-alpha.1 changes
(DRAFT)
Changelog
Main CHANGELOG points for 0.5.0-alpha.1:
Added
Common 'area' data-type added to CAMARA_common.yaml by @tlohmar in #315
Security and Privacy Considerations for Filtering in API Design Guidelines by @rartych in #331
Security scheme added to CAMARA_common.yaml by @rartych in #335
VERSION.yaml file added to indicate Commonalities version by @rartych in #339
Filtering for boolean guideline and examples in API Design Guidelines by @rartych in #336
Guidelines on the coverage of error codes in API-Testing-Guidelines by @jlurien in #343
Changed
Normalization of error status and code allowed values using
enum
by @PedroDiez in #316Guidelines for subscription and event notification in API Design Guidelines by @bigludo7 in #313 main changes:
updated
terminationReason
in event notification type "subscription-ends"updated description of
sink
andsinkCredential
attributes for subscriptionadded rules for subscriptions with device identifier attribute
added section 11.7 Resource access restriction relevant to subscriptions
added clarification on
expiresAt
attribute for subscription
Updated error codes and changed
info.description
template for device / phone number identifiers in Appendix A in API Design Guideliness by @eric-murray in #324 and #346Guidelines regarding mandatory error
status
and alignment of error codes related to identifiers in API Design Guideliness by @PedroDiez in #329 and #351
Fixed
Analysis
This sections presents of main changes that need to be introduced in API definitions and analysis of impact of changes.
Release Management guidelines on breaking and non-breaking changes.
PR | Changes | Required changes in OAS | Breaking change for API Provider implementation | Breaking change for API Client implementation |
---|---|---|---|---|
Common 'area' data-type added to CAMARA_common.yaml #315 | The Area datatype is defined as follows: https://github.com/camaraproject/Commonalities/blob/main/artifacts/CAMARA_common.yaml#L134-L220 | If currently different Area definitions is used: YES | If currently different Area definitions is used: YES | If currently different Area definitions is used: YES |
Normalization of error status and code allowed values using | Error Responses should be defined as follows: application/json:
schema:
allOf:
- $ref: "#/components/schemas/ErrorInfo"
- type: object
properties:
status:
enum:
- <status>
code:
enum:
- <code1>
- <code2> | YES | NO | NO |
Error | If Error | If Error | If Error status is currently used in implementation logic : YES | |
Guidelines for subscription and event notification in API Design Guidelines | updated - MAX_EVENTS_REACHED
- NETWORK_TERMINATED
- SUBSCRIPTION_EXPIRED
- ACCESS_TOKEN_EXPIRED
- SUBSCRIPTION_DELETED | If | If | If |
It is recommended to provide clarification in all subscription APIs featuring | For APIs featuring | For APIs featuring | NO | |
Rules for subscriptions data minimization | NO | NO | NO | |
11.7 Resource access restriction | Potentially YES | Potentially YES | Potentially YES | |
The | Potentially YES | Potentially YES | Potentially YES | |
added clarification on | Potentially YES | Potentially YES | Potentially YES | |
Updated error codes and changed | Use new | For APIs using Device object or phoneNumber as identifier: YES | For APIs using Device object or phoneNumber as identifier: YES | For APIs using Device object or phoneNumber as identifier: potentially YES |
Error codes changed:
| For APIs using Device object or phoneNumber as identifier: YES | For APIs using Device object or phoneNumber as identifier: YES | For APIs using Device object or phoneNumber as identifier: potentially YES | |
Guidelines regarding mandatory error | Error codes changed:
| For APIs using Device object or phoneNumber as identifier: YES | For APIs using Device object or phoneNumber as identifier: YES | For APIs using Device object or phoneNumber as identifier: potentially YES |
Mandatory Errors to be documented in CAMARA API Spec YAML:
For event subscription/notification - see Section 12.1 and 12.2 of API Design Guidelines Errors not needed to be documented:
| YES | NO | Potentially YES | |
Guidelines on the coverage of error codes in API-Testing-Guidelines #343 | For test plans:
| NO (test plans) | NO | NO |
Note: The changes listed in Changes column are just indicative - always double check each requirement in API Design Guidelines.
Further changes expected
To be added before RC:
Remaining PRs:
Cleanup and slim down design guidelines document
Linting rules update
Corrections to alpha version