Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
131 changes: 131 additions & 0 deletions CHANGELOG/CHANGELOG-r4.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,131 @@
# Changelog SimSwap

<!-- TOC:START -->
## Table of Contents
- [r4.1](#r41)
<!-- TOC:END -->

**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

# r4.1

## Release Notes

This release candidate contains the definition and documentation of
* sim-swap-subscriptions 0.4.0-rc.1
* sim-swap 2.2.0-rc.3

The API definition(s) are based on
* Commonalities r4.3 (0.8.0)
* Identity and Consent Management r4.2 (0.5.0)

<!-- BEGIN:AUTOGENERATED:CANDIDATE_CHANGES -->
> **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.

<details>
<summary>Candidate changes (auto-generated from merged PRs)</summary>

## 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

## New Contributors
* @camara-release-automation[bot] made their first contribution in https://github.com/camaraproject/SimSwap/pull/261
* @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

</details>
<!-- END:AUTOGENERATED:CANDIDATE_CHANGES -->

## sim-swap-subscriptions 0.4.0-rc.1

**sim-swap-subscriptions 0.4.0-rc.1 is a release-candidate 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.1/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.1/code/API_definitions/sim-swap-subscriptions.yaml)
- OpenAPI [YAML spec file](https://github.com/camaraproject/SimSwap/blob/r4.1/code/API_definitions/sim-swap-subscriptions.yaml)

### Breaking changes

* N/A

### Added

* N/A
Comment on lines +75 to +81

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Compared to 0.3.0, GET /subscriptions changed its response from an array to an object, which is a breaking change (checked with oasdiff changelog between r3.3 and the snapshot). The 0.3.0 → 0.4.0 version change allows it, but it needs to be listed under Breaking changes and in its normal category (see the suggestion for Changed below). #272 also switched the error responses to the Commonalities r4.3 common definitions, which adds error codes that 0.3.0 did not document. Suggest:

Suggested change
### Breaking changes
* N/A
### Added
* N/A
### Breaking changes
* `GET /subscriptions` returns a `SubscriptionList` object with the required properties `subscriptions` and `pagination`, instead of an array of subscriptions
### Added
* 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`, by @bigludo7 in https://github.com/camaraproject/SimSwap/pull/272
* Error codes from the Commonalities r4.3 common error responses: `400 OUT_OF_RANGE` (`GET /subscriptions`), `403 INVALID_TOKEN_CONTEXT`, `403 SUBSCRIPTION_MISMATCH`, `404 IDENTIFIER_NOT_FOUND`, `409 CONFLICT`, `409 INCOMPATIBLE_STATE`, `422 MULTIEVENT_SUBSCRIPTION_NOT_SUPPORTED`, `422 MULTIEVENT_COMBINATION_TEMPORARILY_NOT_SUPPORTED`, `422 PRIVATE_KEY_JWT_NOT_CONFIGURED` and `422 UNSUPPORTED_IDENTIFIER`, by @bigludo7 in https://github.com/camaraproject/SimSwap/pull/272
* Note: these codes come from the generic Commonalities r4.3 error responses. The list will be trimmed to the codes applicable to this API in the next release candidate, with the adoption of the Commonalities r4.4 error response catalogue.


### Changed

* Update API definitions to fix CAMARA validation warnings and hints by @bigludo7 in https://github.com/camaraproject/SimSwap/pull/272

### Fixed

* 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
* Fix: resolve r4.1 release review findings (#285, #286, #287, #289) by @albertoramosmonagas in https://github.com/camaraproject/SimSwap/pull/290

### Removed

* N/A
Comment on lines +83 to +95

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The entries are PR titles. Suggest describing the changes compared to 0.3.0 instead, and listing the breaking change from above also in its normal category. The Fixed entries correct issues introduced during this release cycle (for example, #280 restores the Config schema of r3.3), so they are not fixes of 0.3.0. The removed protocol and credentialType values are not breaking, because the 0.3.0 descriptions already allowed only HTTP and ACCESSTOKEN:

Suggested change
### Changed
* Update API definitions to fix CAMARA validation warnings and hints by @bigludo7 in https://github.com/camaraproject/SimSwap/pull/272
### Fixed
* 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
* Fix: resolve r4.1 release review findings (#285, #286, #287, #289) by @albertoramosmonagas in https://github.com/camaraproject/SimSwap/pull/290
### Removed
* N/A
### 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
### Fixed
* N/A
### 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


## sim-swap 2.2.0-rc.3

**sim-swap 2.2.0-rc.3 is a release-candidate version 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.1/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.1/code/API_definitions/sim-swap.yaml)
- OpenAPI [YAML spec file](https://github.com/camaraproject/SimSwap/blob/r4.1/code/API_definitions/sim-swap.yaml)

### Breaking changes

* N/A

### Added

* N/A

### Changed

* Update API definitions to fix CAMARA validation warnings and hints by @bigludo7 in https://github.com/camaraproject/SimSwap/pull/272
Comment on lines +116 to +118

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Changed entry is the PR title and does not say what changed for API consumers, nor why the version moves to 2.2.0. With /retrieve-age-band removed in #292, the remaining reason for a minor version increase is the adoption of the request body strictness template. The CAMARA API Design Guide (Compatibility management) states that this is not a breaking change and recommends a minor version bump. Suggest listing it explicitly, together with the other consumer-relevant changes compared to 2.1.0:

Suggested change
### Changed
* Update API definitions to fix CAMARA validation warnings and hints by @bigludo7 in https://github.com/camaraproject/SimSwap/pull/272
### Changed
* 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
* Clarified that `latestSimChange` is `null` when the provider cannot return it for privacy reasons, by @albertoramosmonagas in https://github.com/camaraproject/SimSwap/pull/290


### Fixed

* 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
* Fix: resolve r4.1 release review findings (#285, #286, #287, #289) by @albertoramosmonagas in https://github.com/camaraproject/SimSwap/pull/290
Comment on lines +120 to +124

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These entries are not fixes of sim-swap 2.1.0: #280 changed only sim-swap-subscriptions.yaml, and #290 corrected issues introduced during this release cycle. Its one consumer-relevant change compared to 2.1.0, the latestSimChange clarification, is included under Changed in the suggestion above.

Suggested change
### Fixed
* 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
* Fix: resolve r4.1 release review findings (#285, #286, #287, #289) by @albertoramosmonagas in https://github.com/camaraproject/SimSwap/pull/290
### Fixed
* N/A


### Removed

* N/A

**Full Changelog**: https://github.com/camaraproject/SimSwap/compare/r3.3...r4.1

Loading