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