diff --git a/CHANGELOG/CHANGELOG-r4.md b/CHANGELOG/CHANGELOG-r4.md new file mode 100644 index 0000000..f3659ca --- /dev/null +++ b/CHANGELOG/CHANGELOG-r4.md @@ -0,0 +1,137 @@ +# Changelog SimSwap + + +## Table of Contents +- [r4.1](#r41) + + +**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) + + +> **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 + + + +## 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 + +
+ + +## 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 + +* Align sim-swap-subscriptions with Commonalities r4.3 by @bigludo7 in https://github.com/camaraproject/SimSwap/pull/272: + * `GET /subscriptions` now returns a `SubscriptionList` object with required `subscriptions` and `pagination` properties, instead of a bare array of `Subscription` — existing list consumers must be updated + * `subscriptionMaxEvents` is now bounded at `1000000`; a request above that value is rejected + +### Added + +* Align sim-swap-subscriptions with Commonalities r4.3 by @bigludo7 in https://github.com/camaraproject/SimSwap/pull/272: + * Pagination for `GET /subscriptions`: `page` and `perPage` query parameters, `X-Total-Count`, `X-Total-Pages` and `Link` response headers, and the `Pagination` schema + * `PRIVATE_KEY_JWT` sink credential type and the `PrivateKeyJWTCredential` schema + * Additional error codes: `OUT_OF_RANGE` (400), `INVALID_TOKEN_CONTEXT` and `SUBSCRIPTION_MISMATCH` (403), `IDENTIFIER_NOT_FOUND` (404), `CONFLICT` and `INCOMPATIBLE_STATE` (409), and `UNSUPPORTED_IDENTIFIER`, `MULTIEVENT_SUBSCRIPTION_NOT_SUPPORTED`, `MULTIEVENT_COMBINATION_TEMPORARILY_NOT_SUPPORTED` and `PRIVATE_KEY_JWT_NOT_CONFIGURED` (422) + +### Changed + +* Align EventSubscriptionStarted/Updated/Ended with the Commonalities subscription template by @rartych in https://github.com/camaraproject/SimSwap/pull/280 +* Align sim-swap-subscriptions with Commonalities r4.3 by @bigludo7 in https://github.com/camaraproject/SimSwap/pull/272: + * Consume the common schemas by reference: `maxLength` / `format` / range constraints across `ErrorInfo`, `XCorrelator`, `PhoneNumber`, `SubscriptionId`, `Sink` and the credential schemas + * Restructure the notification event hierarchy: the callback body schema is now `NotificationEvent`, a `oneOf` over `ApiNotificationEvent` and `SubscriptionLifecycleEvent`, replacing the single flat `CloudEvent` schema + * Restrict the `Protocol` enum to `HTTP` and the `SinkCredential.credentialType` enum to `ACCESSTOKEN` and `PRIVATE_KEY_JWT`, codifying restrictions that 0.3.0 already stated normatively in the field descriptions + * `EventSwappedData` now requires `phoneNumber` in addition to `subscriptionId`; it was optional in 0.3.0 + * `SubscriptionAsync` now requires `id` + +### Fixed + +* Fixed externalDocs.url in sim-swap-subscriptions.yaml by @hdamker in https://github.com/camaraproject/SimSwap/pull/282 + +### Removed + +* N/A + +## 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 + +* No breaking changes for API consumers. Compatibility risk for API providers, disclosed here without implying any SemVer-breaking change: `SimSwapInfo.monitoredPeriod` is now bounded at `minimum: 1` / `maximum: 999`; it was unbounded in 2.1.0, so a provider returning a larger value is no longer conformant by @bigludo7 in https://github.com/camaraproject/SimSwap/pull/272 + +### Added + +* Add /retrieve-age-band (SIM swap age band) endpoint by @KeldaAnders in https://github.com/camaraproject/SimSwap/pull/273 + +### Changed + +* Align with Commonalities r4.3 by consuming the common schemas by reference: `maxLength` / `format` / range constraints across `ErrorInfo`, `XCorrelator`, `PhoneNumber`, `SimSwapInfo.latestSimChange` and `SimSwapInfo.monitoredPeriod` by @bigludo7 in https://github.com/camaraproject/SimSwap/pull/272 + +### Fixed + +* Fix validation errors/warnings in /retrieve-age-band (#276) by @rartych in https://github.com/camaraproject/SimSwap/pull/278 + +### Removed + +* N/A + +**Full Changelog**: https://github.com/camaraproject/SimSwap/compare/r3.3...r4.1 +