Skip to content

Commit bc17cee

Browse files
authored
Merge pull request #374 from camaraproject/create-public-r3.2
Create public r3.2 (M4 Fall25)
2 parents d437959 + c500b47 commit bc17cee

11 files changed

Lines changed: 159 additions & 46 deletions

CHANGELOG.md

Lines changed: 110 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,9 @@
22

33
## Table of Contents
44

5+
- **[r3.2](#r32) (Fall25 public release)**
56
- [r3.1](#r31)
6-
- **[r2.2](#r21) (Spring25 public release)**
7+
- **[r2.2](#r22) (Spring25 public release)**
78
- [r2.1](#r21)
89
- **[r1.2](#r12) (Fall24 public release)**
910
- [r1.1](#r11)
@@ -19,6 +20,112 @@ The below sections record the changes for each API version in each release as fo
1920
* for subsequent release-candidate(s), only the delta to the previous release-candidate
2021
* for a public release, the consolidated changes since the previous public release
2122

23+
# r3.2
24+
25+
This **public release** contains the definition and documentation of
26+
* location-verification v3.0.0
27+
* location-retrieval v0.5.0
28+
* geofencing-subscriptions v0.5.0
29+
30+
The API definition(s) are based on
31+
* Commonalities r3.3
32+
* Identity and Consent Management r3.3
33+
34+
## location-verification v3.0.0
35+
36+
location-verification v3.0.0 is the public release for the next stable version of the API Location Verification.
37+
38+
**There is breaking change compared to the previous release r2.2**, due to the deprecation of `UNKNOWN` value for `verificationResult` in favor of the new error `422 LOCATION_VERIFICATION.UNABLE_TO_LOCATE`.
39+
40+
* API definition with **inline documentation**:
41+
42+
- [View it on ReDoc](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/DeviceLocation/r3.2/code/API_definitions/location-verification.yaml&nocors)
43+
- [View it on Swagger Editor](https://camaraproject.github.io/swagger-ui/?url=https://raw.githubusercontent.com/camaraproject/DeviceLocation/r3.2/code/API_definitions/location-verification.yaml)
44+
- OpenAPI [YAML spec file](https://github.com/camaraproject/DeviceLocation/blob/r3.2/code/API_definitions/location-verification.yaml)
45+
46+
### Added
47+
48+
* New error code `422 LOCATION_VERIFICATION.UNABLE_TO_LOCATE`.
49+
* New `DeviceResponse` object in responses limited to one identifier.
50+
* Clarifications on non-documented error responses.
51+
52+
### Changed
53+
54+
* Updated string pattern for `x-correlator`headers.
55+
* Type of `radius` for CIRCLE Area changed from `integer` to `number`, and maximum removed.
56+
* Clarified format for properties with format `date-time`.
57+
58+
### Removed
59+
60+
* `verificationResult: UNKNOWN` for 200 responses.
61+
* Error `422 IDENTIFIER_MISMATCH`.
62+
* Error `401 AUTHENTICATION_REQUIRED`.
63+
64+
## location-retrieval v0.5.0
65+
66+
location-retrieval v0.5.0 is the public release for the next initial version of the API Location Retrieval. It introduces breaking changes compared to the previous release r2.2, due to the deprecation of error `404 LOCATION_RETRIEVAL.DEVICE_NOT_FOUND` in favor of the new error `422 LOCATION_RETRIEVAL.UNABLE_TO_LOCATE`.
67+
68+
* API definition with **inline documentation**:
69+
70+
- [View it on ReDoc](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/DeviceLocation/r3.2/code/API_definitions/location-retrieval.yaml&nocors)
71+
- [View it on Swagger Editor](https://camaraproject.github.io/swagger-ui/?url=https://raw.githubusercontent.com/camaraproject/DeviceLocation/r3.2/code/API_definitions/location-retrieval.yaml)
72+
- OpenAPI [YAML spec file](https://github.com/camaraproject/DeviceLocation/blob/r3.2/code/API_definitions/location-retrieval.yaml)
73+
74+
### Added
75+
76+
* New error `422 LOCATION_RETRIEVAL.UNABLE_TO_LOCATE`.
77+
* New `DeviceResponse` object in responses limited to one identifier.
78+
* Clarifications on non-documented error responses.
79+
80+
### Changed
81+
82+
* Updated string pattern for `x-correlator`headers.
83+
* Clarified format for properties with format `date-time`.
84+
85+
### Removed
86+
87+
* Error `404 LOCATION_RETRIEVAL.DEVICE_NOT_FOUND`.
88+
* Error `422 IDENTIFIER_MISMATCH`.
89+
* Error `401 AUTHENTICATION_REQUIRED`.
90+
91+
## geofencing-subscriptions v0.5.0
92+
93+
geofencing-subscriptions v0.5.0 is the public release for the next initial version of the API Geofencing Subscriptions. It introduces breaking changes compared to the previous release r2.2, coming from the alignment to the new guidelines in Commonalities for APIs with subscriptions.
94+
95+
* API definition with **inline documentation**:
96+
97+
- [View it on ReDoc](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/DeviceLocation/r3.2/code/API_definitions/geofencing-subscriptions.yaml&nocors)
98+
- [View it on Swagger Editor](https://camaraproject.github.io/swagger-ui/?url=https://raw.githubusercontent.com/camaraproject/DeviceLocation/r3.2/code/API_definitions/geofencing-subscriptions.yaml)
99+
- OpenAPI [YAML spec file](https://github.com/camaraproject/DeviceLocation/blob/r3.2/code/API_definitions/geofencing-subscriptions.yaml)
100+
101+
### Added
102+
103+
* New subscription event types for `subscription-started` and `subscription-updated`.
104+
* New `DeviceResponse` object in responses and events, limited to one identifier.
105+
* Pattern to property `sink` and new error `400 INVALID_SINK`.
106+
* Clarifications on non-documented error responses.
107+
108+
### Changed
109+
110+
* Subscription event type `subscription-ends` renamed to `subscription-ended`.
111+
* Property `id` becomes required for `SubscriptionAsync` objects.
112+
* operationId `createSubscription` renamed to `createGeofencingSubscription`.
113+
* Updated string pattern for `x-correlator`headers.
114+
* Type of `radius` for CIRCLE Area changed from `integer` to `number`, and maximum removed.
115+
* Clarified format for properties with format `date-time`.
116+
117+
### Fixed
118+
119+
* Subscription types array items must be limited to allowed `SubscriptionEventType` values
120+
121+
### Removed
122+
123+
* Error `422 IDENTIFIER_MISMATCH`.
124+
* Error `401 AUTHENTICATION_REQUIRED`.
125+
126+
**Changelog since r2.2**
127+
* Full Changelog with the list of PRs and contributors: https://github.com/camaraproject/DeviceLocation/compare/r2.2...r3.2
128+
22129
# r3.1
23130

24131
## Release Notes
@@ -117,6 +224,7 @@ geofencing-subscriptions v0.5.0-rc.1 is the first release candidate for the next
117224
* Error `422 IDENTIFIER_MISMATCH`.
118225
* Error `401 AUTHENTICATION_REQUIRED`.
119226

227+
120228
# r2.2
121229

122230
## Release Notes
@@ -586,3 +694,4 @@ The API definition(s) are based on
586694

587695
* New API `location`, v0.1.0, with a single operation for location verification:
588696
- Given a device identified by the `ueId` object, a set of coordinates (`latitude` and `longitude`), and the requested `accuracy`, returns a boolean `verificationResult`, verifying if the device is within the circular area delimited by the coordinates and the accuracy radius.
697+

README.md

Lines changed: 15 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -31,24 +31,22 @@ Incubating API Repository to evolve and maintain the definitions and documentati
3131

3232
* 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**.
3333

34-
**NEW**: Pre-release [r3.1](https://github.com/camaraproject/DeviceLocation/releases/tag/r3.1) with location-verification v3.0.0-rc.1, location-retrieval v0.5.0-rc.1 and geofencing-subscriptions v0.5.0-rc.1 is available.
35-
36-
* **The latest public release is [r2.2](https://github.com/camaraproject/DeviceLocation/tree/r2.2), with the following API definitions (with inline documentation):**
34+
* **NEW: public release** [r3.2](https://github.com/camaraproject/DeviceLocation/releases/r3.2) is available, with the following API definitions (with inline documentation):**
3735

38-
- **location-verification v2.0.0**
39-
[[YAML OAS]](https://github.com/camaraproject/DeviceLocation/blob/r2.2/code/API_definitions/location-verification.yaml)
40-
[[View it on ReDoc]](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/DeviceLocation/r2.2/code/API_definitions/location-verification.yaml&nocors)
41-
[[View it on Swagger Editor]](https://camaraproject.github.io/swagger-ui/?url=https://raw.githubusercontent.com/camaraproject/DeviceLocation/r2.2/code/API_definitions/location-verification.yaml)
42-
43-
- **location-retrieval v0.4.0**
44-
[[YAML OAS]](https://github.com/camaraproject/DeviceLocation/blob/r2.2/code/API_definitions/location-retrieval.yaml)
45-
[[View it on ReDoc]](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/DeviceLocation/r2.2/code/API_definitions/location-retrieval.yaml&nocors)
46-
[[View it on Swagger Editor]](https://camaraproject.github.io/swagger-ui/?url=https://raw.githubusercontent.com/camaraproject/DeviceLocation/r2.2/code/API_definitions/location-retrieval.yaml)
47-
48-
- **geofencing-subscriptions v0.4.0**
49-
[[YAML OAS]](https://github.com/camaraproject/DeviceLocation/blob/r2.2/code/API_definitions/geofencing-subscriptions.yaml)
50-
[[View it on ReDoc]](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/DeviceLocation/r2.2/code/API_definitions/geofencing-subscriptions.yaml&nocors)
51-
[[View it on Swagger Editor]](https://camaraproject.github.io/swagger-ui/?url=https://raw.githubusercontent.com/camaraproject/DeviceLocation/r2.2/code/API_definitions/geofencing-subscriptions.yaml)
36+
- **location-verification v3.0.0**
37+
[[YAML OAS]](https://github.com/camaraproject/DeviceLocation/blob/r3.2/code/API_definitions/location-verification.yaml)
38+
[[View it on ReDoc]](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/DeviceLocation/r3.2/code/API_definitions/location-verification.yaml&nocors)
39+
[[View it on Swagger Editor]](https://camaraproject.github.io/swagger-ui/?url=https://raw.githubusercontent.com/camaraproject/DeviceLocation/r3.2/code/API_definitions/location-verification.yaml)
40+
41+
- **location-retrieval v0.5.0**
42+
[[YAML OAS]](https://github.com/camaraproject/DeviceLocation/blob/r3.2/code/API_definitions/location-retrieval.yaml)
43+
[[View it on ReDoc]](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/DeviceLocation/r3.2/code/API_definitions/location-retrieval.yaml&nocors)
44+
[[View it on Swagger Editor]](https://camaraproject.github.io/swagger-ui/?url=https://raw.githubusercontent.com/camaraproject/DeviceLocation/r3.2/code/API_definitions/location-retrieval.yaml)
45+
46+
- **geofencing-subscriptions v0.5.0**
47+
[[YAML OAS]](https://github.com/camaraproject/DeviceLocation/blob/r3.2/code/API_definitions/geofencing-subscriptions.yaml)
48+
[[View it on ReDoc]](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/DeviceLocation/r3.2/code/API_definitions/geofencing-subscriptions.yaml&nocors)
49+
[[View it on Swagger Editor]](https://camaraproject.github.io/swagger-ui/?url=https://raw.githubusercontent.com/camaraproject/DeviceLocation/r3.2/code/API_definitions/geofencing-subscriptions.yaml)
5250

5351
## Contributing
5452

code/API_definitions/geofencing-subscriptions.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ info:
114114
115115
(FAQs will be added in a later version of the documentation)
116116
117-
version: wip
117+
version: 0.5.0
118118
license:
119119
name: Apache 2.0
120120
url: https://www.apache.org/licenses/LICENSE-2.0.html
@@ -124,7 +124,7 @@ externalDocs:
124124
url: https://github.com/camaraproject/DeviceLocation
125125

126126
servers:
127-
- url: "{apiRoot}/geofencing-subscriptions/vwip"
127+
- url: "{apiRoot}/geofencing-subscriptions/v0.5"
128128
variables:
129129
apiRoot:
130130
default: http://localhost:9091
@@ -672,7 +672,7 @@ components:
672672
$ref: "#/components/schemas/ConfigResponse"
673673
id:
674674
type: string
675-
description: The unique identifier of the subscription in the scope of the subscription manager. When this information is contained within an event notification, this concept SHALL be referred as `subscriptionId` as per [Commonalities Event Notification Model](https://github.com/camaraproject/Commonalities/blob/main/documentation/API-design-guidelines.md#122-event-notification).
675+
description: The unique identifier of the subscription in the scope of the subscription manager. When this information is contained within an event notification, this concept SHALL be referred as subscriptionId as per Commonalities Event Notification Model.
676676
example: "1119920371"
677677
startsAt:
678678
type: string
@@ -724,7 +724,7 @@ components:
724724

725725
SubscriptionId:
726726
type: string
727-
description: The unique identifier of the subscription in the scope of the subscription manager. When this information is contained within an event notification, this concept SHALL be referred as `subscriptionId` as per [Commonalities Event Notification Model](https://github.com/camaraproject/Commonalities/blob/main/documentation/API-design-guidelines.md#122-event-notification).
727+
description: The unique identifier of the subscription in the scope of the subscription manager. When this information is contained within an event notification, this concept SHALL be referred as subscriptionId as per Commonalities Event Notification Model.
728728
example: qs15-h556-rt89-1298
729729

730730
Device:

code/API_definitions/location-retrieval.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ info:
108108
# Further info and support
109109
110110
(FAQs will be added in a later version of the documentation)
111-
version: wip
111+
version: 0.5.0
112112
license:
113113
name: Apache 2.0
114114
url: https://www.apache.org/licenses/LICENSE-2.0.html
@@ -117,7 +117,7 @@ externalDocs:
117117
description: Project documentation at Camara
118118
url: https://github.com/camaraproject/DeviceLocation
119119
servers:
120-
- url: '{apiRoot}/location-retrieval/vwip'
120+
- url: '{apiRoot}/location-retrieval/v0.5'
121121
variables:
122122
apiRoot:
123123
default: http://localhost:9091

code/API_definitions/location-verification.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ info:
9292
# Further info and support
9393
9494
(FAQs will be added in a later version of the documentation)
95-
version: wip
95+
version: 3.0.0
9696
license:
9797
name: Apache 2.0
9898
url: https://www.apache.org/licenses/LICENSE-2.0.html
@@ -101,7 +101,7 @@ externalDocs:
101101
description: Project documentation at CAMARA
102102
url: https://github.com/camaraproject/DeviceLocation
103103
servers:
104-
- url: "{apiRoot}/location-verification/vwip"
104+
- url: "{apiRoot}/location-verification/v3"
105105
variables:
106106
apiRoot:
107107
default: http://localhost:9091

code/Test_definitions/geofencing-subscriptions.feature

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Feature: Camara Geofencing Subscriptions API, vwip - Operations on subscriptions
1+
Feature: Camara Geofencing Subscriptions API, v0.5.0 - Operations on subscriptions
22

33
# Input to be provided by the implementation to the tester
44
#
@@ -8,11 +8,13 @@ Feature: Camara Geofencing Subscriptions API, vwip - Operations on subscriptions
88
# Testing assets:
99
# * A device object which location is known by the network when connected. 2 distinct device are required for some scenario.
1010
# * A moveable device to trigger area-left / area-entered events.
11+
# * apiRoot: API root of the server URL
1112
#
1213
# References to OAS spec schemas refer to schemas specifies in geofencing-subscriptions.yaml
1314

1415
Background: Common Geofencing Subscriptions setup
15-
Given the resource "{apiroot}/geofencing-subscriptions/vwip/" as geofencing base-url
16+
Given an environment at "apiRoot"
17+
And the resource "/geofencing-subscriptions/v0.5/" as geofencing base-url
1618
And the header "Authorization" is set to a valid access token
1719
And the header "x-correlator" complies with the schema at "#/components/schemas/XCorrelator"
1820

code/Test_definitions/location-retrieval.feature

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Feature: CAMARA Device location retrieval API, vwip - Operation retrieveLocation
1+
Feature: CAMARA Device location retrieval API, v0.5.0 - Operation retrieveLocation
22
# Input to be provided by the implementation to the tester
33
#
44
# Implementation indications:
@@ -8,11 +8,13 @@ Feature: CAMARA Device location retrieval API, vwip - Operation retrieveLocation
88
# * A device object which location is known by the network when connected. 2 distinct device are required for some scenario.
99
# * A device object identifying a device commercialized by the implementation for which the service is not applicable
1010
# * A device object which location cannot be provided during test by the network.
11+
# * apiRoot: API root of the server URL
1112
#
1213
# References to OAS spec schemas refer to schemas specifies in location-retrieval.yaml
1314

1415
Background: Common retrieveLocation setup
15-
Given the resource "/location-retrieval/vwip/retrieve" |
16+
Given an environment at "apiRoot"
17+
And the resource "/location-retrieval/v0.5/retrieve" |
1618
And the header "Content-Type" is set to "application/json"
1719
And the header "Authorization" is set to a valid access token
1820
And the header "x-correlator" complies with the schema at "#/components/schemas/XCorrelator"
@@ -261,4 +263,4 @@ Feature: CAMARA Device location retrieval API, vwip - Operation retrieveLocation
261263
And the response header "x-correlator" has same value as the request header "x-correlator"
262264
And the response property "$.status" is 422
263265
And the response property "$.code" is "LOCATION_RETRIEVAL.UNABLE_TO_FULFILL_MAX_AGE"
264-
And the response property "$.message" contains a user friendly text
266+
And the response property "$.message" contains a user friendly text

code/Test_definitions/location-verification.feature

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Feature: CAMARA Device location verification API, vwip - Operation verifyLocation
1+
Feature: CAMARA Device location verification API, v3.0.0 - Operation verifyLocation
22
# Input to be provided by the implementation to the tester
33
#
44
# Implementation indications:
@@ -8,11 +8,13 @@ Feature: CAMARA Device location verification API, vwip - Operation verifyLocatio
88
# * A device object which location is known by the network when connected. To test all scenarios, at least 2 valid devices are needed
99
# * The known location of the testing devices
1010
# * A device object identifying a device commercialized by the implementation for which the service is not applicable, if any
11+
# * apiRoot: API root of the server URL
1112
#
1213
# References to OAS spec schemas refer to schemas specifies in location-verification.yaml
1314

1415
Background: Common verifyLocation setup
15-
Given the resource "/location-verification/vwip/verify"
16+
Given an environment at "apiRoot"
17+
And the resource "/location-verification/v3/verify"
1618
And the header "Content-Type" is set to "application/json"
1719
And the header "Authorization" is set to a valid access token
1820
And the header "x-correlator" complies with the schema at "#/components/schemas/XCorrelator"
@@ -308,4 +310,4 @@ Feature: CAMARA Device location verification API, vwip - Operation verifyLocatio
308310
Then the response status code is 422
309311
And the response property "$.status" is 422
310312
And the response property "$.code" is "LOCATION_VERIFICATION.UNABLE_TO_LOCATE"
311-
And the response property "$.message" contains a user-friendly text
313+
And the response property "$.message" contains a user-friendly text

0 commit comments

Comments
 (0)