From b5c2b18a7c9822d2d00deee382bce2d6fddf2b14 Mon Sep 17 00:00:00 2001 From: "camara-release-automation[bot]" <261643975+camara-release-automation[bot]@users.noreply.github.com> Date: Tue, 20 Oct 2026 07:59:23 +0000 Subject: [PATCH 1/4] Add CHANGELOG draft for r4.3 --- CHANGELOG/CHANGELOG-r4.md | 120 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 120 insertions(+) diff --git a/CHANGELOG/CHANGELOG-r4.md b/CHANGELOG/CHANGELOG-r4.md index 99ef223..d81131f 100644 --- a/CHANGELOG/CHANGELOG-r4.md +++ b/CHANGELOG/CHANGELOG-r4.md @@ -2,6 +2,7 @@ ## Table of Contents +- **[r4.3](#r43)** - [r4.2](#r42) - [r4.1](#r41) @@ -15,6 +16,125 @@ The below sections record the changes for each API version in each release as fo * 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 +# r4.3 + +## Release Notes + +This public release contains the definition and documentation of +* sim-swap-subscriptions 0.4.0 +* sim-swap 2.2.0 + +The API definition(s) are based on +* Commonalities r4.4 (0.9.0) +* Identity and Consent Management r4.2 (0.5.0) + + +> **Working area — candidate changes (auto-removed on merge)** +> Copy relevant entries into the Breaking changes/Added/Changed/Fixed/Removed sections below. List breaking changes both in Breaking changes and in their normal change category. +> You may edit this list while triaging; it will be removed on merge. +> This working-area section is removed automatically when the PR is merged. + +
+Candidate changes (auto-generated from merged PRs) + +## What's Changed +* Use standard Release Information section title by @hdamker in https://github.com/camaraproject/SimSwap/pull/243 +* Set back assets version to wip by @bigludo7 in https://github.com/camaraproject/SimSwap/pull/245 +* [bulk] Sync Release Information section (2025-12-12-001) by @hdamker-bot in https://github.com/camaraproject/SimSwap/pull/244 +* [bulk] Add release-plan.yaml (2026-02-23-001) by @hdamker-bot in https://github.com/camaraproject/SimSwap/pull/251 +* [bulk] Enable release automation and validation by @camara-release-automation[bot] in https://github.com/camaraproject/SimSwap/pull/261 +* Update release plan for Sync26 and target versions by @bigludo7 in https://github.com/camaraproject/SimSwap/pull/268 +* Sync common files from Commonalities r4.3 by @camara-release-automation[bot] in https://github.com/camaraproject/SimSwap/pull/269 +* fix(release-plan): set target_api_status to alpha for the alpha pre-release by @hdamker in https://github.com/camaraproject/SimSwap/pull/274 +* Update API definitions to fix CAMARA validation warnings and hints by @bigludo7 in https://github.com/camaraproject/SimSwap/pull/272 +* feat: add /retrieve-age-band (SIM swap age band) endpoint by @KeldaAnders in https://github.com/camaraproject/SimSwap/pull/273 +* Fix validation errors/warnings in /retrieve-age-band (#276) by @rartych in https://github.com/camaraproject/SimSwap/pull/278 +* Fix inconsistencies in sim-swap-subscriptions.yaml by @rartych in https://github.com/camaraproject/SimSwap/pull/280 +* Fix externalDocs validation findings from #281 by @hdamker in https://github.com/camaraproject/SimSwap/pull/282 +* Target Sync26 release as pre-release-rc instead of alpha by @hdamker in https://github.com/camaraproject/SimSwap/pull/281 +* fix: resolve r4.1 release review findings (#285, #286, #287, #289) by @albertoramosmonagas in https://github.com/camaraproject/SimSwap/pull/290 +* fix(sim-swap): remove SIM swap age band endpoint and tests by @albertoramosmonagas in https://github.com/camaraproject/SimSwap/pull/292 +* Release Automation: Post-release sync (r4.1) by @camara-release-automation[bot] in https://github.com/camaraproject/SimSwap/pull/300 +* Update release plan for Commonalities r4.4 by @albertoramosmonagas in https://github.com/camaraproject/SimSwap/pull/294 +* Sync common files from Commonalities r4.4 by @camara-release-automation[bot] in https://github.com/camaraproject/SimSwap/pull/301 +* Align Commonalities r4.4 to Sim Swap and Subscriptions by @albertoramosmonagas in https://github.com/camaraproject/SimSwap/pull/295 +* chore: remove obsolete v0 validation caller workflows by @hdamker in https://github.com/camaraproject/SimSwap/pull/306 +* fix: phoneNumber optional in EventSwappedData and SIM Swap capitalisation fixes by @albertoramosmonagas in https://github.com/camaraproject/SimSwap/pull/305 +* fix: harmonise "SIM swap" casing and subscriptionId examples (fixes #308) by @albertoramosmonagas in https://github.com/camaraproject/SimSwap/pull/309 +* Release Automation: Post-release sync (r4.2) by @camara-release-automation[bot] in https://github.com/camaraproject/SimSwap/pull/311 +* Update release plan to public release (sim swap and sim swap subscriptions) by @albertoramosmonagas in https://github.com/camaraproject/SimSwap/pull/312 + +## New Contributors +* @KeldaAnders made their first contribution in https://github.com/camaraproject/SimSwap/pull/273 +* @albertoramosmonagas made their first contribution in https://github.com/camaraproject/SimSwap/pull/290 + +
+ + +## sim-swap-subscriptions 0.4.0 + +**sim-swap-subscriptions 0.4.0 is an initial public version of this API.** + +Changes documented below are compared to version 0.3.0. + +- API definition **with inline documentation**: + - [View it on ReDoc](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/SimSwap/r4.3/code/API_definitions/sim-swap-subscriptions.yaml&nocors) + - [View it on Swagger Editor](https://camaraproject.github.io/swagger-ui/?url=https://raw.githubusercontent.com/camaraproject/SimSwap/r4.3/code/API_definitions/sim-swap-subscriptions.yaml) + - OpenAPI [YAML spec file](https://github.com/camaraproject/SimSwap/blob/r4.3/code/API_definitions/sim-swap-subscriptions.yaml) + +### Breaking changes + +* N/A + +### Added + +* N/A + +### Changed + +* N/A + +### Fixed + +* N/A + +### Removed + +* N/A + +## sim-swap 2.2.0 + +**sim-swap 2.2.0 is a minor update of this API.** + +Changes documented below are compared to version 2.1.0. + +- API definition **with inline documentation**: + - [View it on ReDoc](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/SimSwap/r4.3/code/API_definitions/sim-swap.yaml&nocors) + - [View it on Swagger Editor](https://camaraproject.github.io/swagger-ui/?url=https://raw.githubusercontent.com/camaraproject/SimSwap/r4.3/code/API_definitions/sim-swap.yaml) + - OpenAPI [YAML spec file](https://github.com/camaraproject/SimSwap/blob/r4.3/code/API_definitions/sim-swap.yaml) + +### Breaking changes + +* N/A + +### Added + +* N/A + +### Changed + +* N/A + +### Fixed + +* N/A + +### Removed + +* N/A + +**Full Changelog**: https://github.com/camaraproject/SimSwap/compare/r3.3...r4.3 + # r4.2 ## Release Notes From 0d3f1074c0bcc5e6b8549fb773a143bf7fd845fe Mon Sep 17 00:00:00 2001 From: Alberto Ramos Monagas Date: Tue, 20 Oct 2026 11:17:03 +0200 Subject: [PATCH 2/4] Add public version changelog entries for sim swap and sim swap subscriptions --- CHANGELOG/CHANGELOG-r4.md | 30 ++++++++++++++++++++++-------- 1 file changed, 22 insertions(+), 8 deletions(-) diff --git a/CHANGELOG/CHANGELOG-r4.md b/CHANGELOG/CHANGELOG-r4.md index d81131f..2607214 100644 --- a/CHANGELOG/CHANGELOG-r4.md +++ b/CHANGELOG/CHANGELOG-r4.md @@ -84,23 +84,32 @@ Changes documented below are compared to version 0.3.0. ### Breaking changes -* N/A +* `GET /subscriptions` returns a paginated `SubscriptionList` object with the required properties `subscriptions` and `pagination`, instead of an array of subscriptions, by @bigludo7 in https://github.com/camaraproject/SimSwap/pull/272 ### Added -* N/A +* Pagination for `GET /subscriptions`: optional `page` and `perPage` query parameters, and `link`, `x-total-count` and `x-total-pages` response headers, by @bigludo7 in https://github.com/camaraproject/SimSwap/pull/272 +* `PRIVATE_KEY_JWT` as `sinkCredential.credentialType`, together with the `422 PRIVATE_KEY_JWT_NOT_CONFIGURED` error code, by @bigludo7 in https://github.com/camaraproject/SimSwap/pull/272 ### Changed -* N/A +* Mandatory `info.description` sections added or updated (authorization and authentication, additional error responses, request body strictness), `servers` API root variable described, and API Readiness Checklist updated, by @bigludo7 in https://github.com/camaraproject/SimSwap/pull/272 +* Aligned with the Commonalities r4.3 (0.8.0) event subscription template: security schemes, `PhoneNumber`, `SubscriptionId`, `Config`, the notification event schemas and the error responses are now referenced from `CAMARA_common.yaml` and `CAMARA_event_common.yaml` instead of being defined locally, by @bigludo7 in https://github.com/camaraproject/SimSwap/pull/272 +* Adopted the request body strictness rule: requests with JSON bodies containing properties not declared in the specification are rejected with `400 INVALID_ARGUMENT`, by @bigludo7 in https://github.com/camaraproject/SimSwap/pull/272 +* `config.subscriptionMaxEvents` is `int32` with a maximum of 1000000, by @rartych in https://github.com/camaraproject/SimSwap/pull/280 +* `info.description` extended to document the pagination of `GET /subscriptions` (`page` and `perPage`) and the supported sink credential types (`ACCESSTOKEN` and `PRIVATE_KEY_JWT`), and to state that `types` is mandatory when creating a subscription, by @albertoramosmonagas in https://github.com/camaraproject/SimSwap/pull/290 +* Aligned with Commonalities r4.4 (0.9.0): error responses now reference the centralised `CAMARA_common.yaml` definitions, and mandatory `info.description` sections are updated, by @albertoramosmonagas in https://github.com/camaraproject/SimSwap/pull/295 +* "SIM swap" capitalisation standardised across all operation summaries, descriptions and tags; subscription operation examples unified to UUID format, by @albertoramosmonagas in https://github.com/camaraproject/SimSwap/pull/305 +* Clarified that `phoneNumber` in the `swapped` event data (`EventSwappedData`) is only included for subscriptions created with a two-legged access token, so the subscriber identity is not exposed to API consumers using a three-legged access token, by @albertoramosmonagas in https://github.com/camaraproject/SimSwap/pull/305 ### Fixed -* N/A +* `externalDocs.url` corrected to point to the SimSwap repository instead of the CAMARA organisation page, by @hdamker in https://github.com/camaraproject/SimSwap/pull/282 +* "SIM swap" casing harmonised in the remaining descriptions; notification examples unified to UUID format for `subscriptionId`, by @albertoramosmonagas in https://github.com/camaraproject/SimSwap/pull/309 ### Removed -* N/A +* `protocol` values `AMQP`, `KAFKA`, `MQTT3`, `MQTT5` and `NATS`, and `sinkCredential.credentialType` values `PLAIN` and `REFRESHTOKEN`, which were already not allowed by the 0.3.0 descriptions, by @bigludo7 in https://github.com/camaraproject/SimSwap/pull/272 ## sim-swap 2.2.0 @@ -123,11 +132,17 @@ Changes documented below are compared to version 2.1.0. ### Changed -* N/A +* Tags `Retrieve SIM Swap Date` and `Check SIM Swap` defined; `x-correlator`, `PhoneNumber`, the security scheme and the error responses are now referenced from `CAMARA_common.yaml` instead of being defined locally; API Readiness Checklist updated, by @bigludo7 in https://github.com/camaraproject/SimSwap/pull/272 +* Adopted the request body strictness rule: requests with JSON bodies containing properties not declared in the specification are rejected with `400 INVALID_ARGUMENT`. Per the CAMARA API Design Guide this is not a breaking change; it is the reason for the minor version increase, by @bigludo7 in https://github.com/camaraproject/SimSwap/pull/272 +* Aligned with Commonalities r4.3 (0.8.0): updated mandatory `info.description` sections, added `maxLength` to `phoneNumber` and `x-correlator` (values were already bounded by the existing patterns), added bounds to the `ErrorInfo` properties, and constrained `monitoredPeriod` to `int32` in the range 1-999, by @bigludo7 in https://github.com/camaraproject/SimSwap/pull/272 +* `latestSimChange` clarified to be `null` when the provider cannot return it for privacy reasons (the `monitoredPeriod` mechanism applies), by @albertoramosmonagas in https://github.com/camaraproject/SimSwap/pull/290 +* Aligned with Commonalities r4.4 (0.9.0): error responses now reference the centralised `CAMARA_common.yaml` definitions, and mandatory `info.description` sections are updated, by @albertoramosmonagas in https://github.com/camaraproject/SimSwap/pull/295 +* `latestSimChange` description updated to explicitly reference RFC 3339 date-time format, by @albertoramosmonagas in https://github.com/camaraproject/SimSwap/pull/305 ### Fixed -* N/A +* `externalDocs.description` corrected to use the "CAMARA" capitalisation, by @hdamker in https://github.com/camaraproject/SimSwap/pull/282 +* "SIM swap" casing harmonised in the `info.description`, tag and example descriptions, by @albertoramosmonagas in https://github.com/camaraproject/SimSwap/pull/309 ### Removed @@ -251,7 +266,6 @@ Changes documented below are compared to version 0.3.0. ### Changed * Aligned with the Commonalities r4.3 (0.8.0) event subscription template; most schemas are now taken from the Commonalities common files, by @bigludo7 in https://github.com/camaraproject/SimSwap/pull/272 -* **Breaking:** `GET /subscriptions` returns a paginated `SubscriptionList` object instead of an array, by @bigludo7 in https://github.com/camaraproject/SimSwap/pull/272 * Adopted the request body strictness rule: requests with JSON bodies containing properties not declared in the specification are rejected with `400 INVALID_ARGUMENT`, by @bigludo7 in https://github.com/camaraproject/SimSwap/pull/272 * `config.subscriptionMaxEvents` is `int32` with a maximum of 1000000, by @rartych in https://github.com/camaraproject/SimSwap/pull/280 * Updated the API documentation for pagination, sink credentials and the event structure, by @albertoramosmonagas in https://github.com/camaraproject/SimSwap/pull/290 From cc825305afe079484bd4db209b2befab782dcabe Mon Sep 17 00:00:00 2001 From: Ludovic Robert <30499179+bigludo7@users.noreply.github.com> Date: Tue, 20 Oct 2026 13:26:40 +0200 Subject: [PATCH 3/4] Update CHANGELOG/CHANGELOG-r4.md Co-authored-by: Alberto Ramos Monagas --- CHANGELOG/CHANGELOG-r4.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG/CHANGELOG-r4.md b/CHANGELOG/CHANGELOG-r4.md index 2607214..8f49903 100644 --- a/CHANGELOG/CHANGELOG-r4.md +++ b/CHANGELOG/CHANGELOG-r4.md @@ -110,6 +110,7 @@ Changes documented below are compared to version 0.3.0. ### Removed * `protocol` values `AMQP`, `KAFKA`, `MQTT3`, `MQTT5` and `NATS`, and `sinkCredential.credentialType` values `PLAIN` and `REFRESHTOKEN`, which were already not allowed by the 0.3.0 descriptions, by @bigludo7 in https://github.com/camaraproject/SimSwap/pull/272 +* Error code `QUOTA_EXCEEDED` (`429`), not applicable to this API, removed with the Commonalities r4.4 error catalogue; `TOO_MANY_REQUESTS` remains, by @albertoramosmonagas in https://github.com/camaraproject/SimSwap/pull/295 ## sim-swap 2.2.0 From d81677fe8cd152bb22f3984fbfbd262c11cef2b0 Mon Sep 17 00:00:00 2001 From: Ludovic Robert <30499179+bigludo7@users.noreply.github.com> Date: Tue, 20 Oct 2026 13:26:52 +0200 Subject: [PATCH 4/4] Update CHANGELOG/CHANGELOG-r4.md Co-authored-by: Alberto Ramos Monagas --- CHANGELOG/CHANGELOG-r4.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG/CHANGELOG-r4.md b/CHANGELOG/CHANGELOG-r4.md index 8f49903..38104a1 100644 --- a/CHANGELOG/CHANGELOG-r4.md +++ b/CHANGELOG/CHANGELOG-r4.md @@ -147,7 +147,7 @@ Changes documented below are compared to version 2.1.0. ### Removed -* N/A +* Error codes not applicable to this API, removed with the Commonalities r4.4 error catalogue: `NOT_FOUND` (`404`, replaced by `IDENTIFIER_NOT_FOUND`), `QUOTA_EXCEEDED` (`429`, `TOO_MANY_REQUESTS` remains), and `OUT_OF_RANGE` (`400`) in `POST /retrieve-date` (still applicable in `POST /check`), by @albertoramosmonagas in https://github.com/camaraproject/SimSwap/pull/295 **Full Changelog**: https://github.com/camaraproject/SimSwap/compare/r3.3...r4.3