From c07c147acd3968f6f65fbd13dd2e6750e69acdb6 Mon Sep 17 00:00:00 2001 From: Colin Bird Date: Sat, 6 Jun 2026 10:20:53 -0400 Subject: [PATCH] docs(sdk): document plan model class removal in 3.1.8 changelog Call out the breaking SDK rename from bare SubscriptionPlan to PlanSubscriptionPlan / FlexiblePlanSubscriptionPlan so consumers upgrading from 3.1.6 know to update instanceof checks. Co-authored-by: Cursor --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index cc4d999c..06caac6d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -137,6 +137,11 @@ - response-body-any-of-removed (4x) — e.g. removed `#/components/schemas/OneTimeSalePlan, #/components/schemas/SubscriptionPlan, #/components/schemas/TrialOnlyPlan - fix(sdk): Make SDK compatible with PHP 8.4 +- fix(sdk): **(breaking)** Removed bare plan model classes `SubscriptionPlan`, `OneTimeSalePlan`, and `TrialOnlyPlan`. `Plan` and `FlexiblePlan` unions now deserialize to prefixed variants: + - Catalog `/plans` responses: `PlanSubscriptionPlan`, `PlanOneTimeSalePlan`, `PlanTrialOnlyPlan` + - Embedded subscription/order item plans: `FlexiblePlanSubscriptionPlan`, `FlexiblePlanOneTimeSalePlan`, `FlexiblePlanTrialOnlyPlan` + - Id-only plan references: `OriginalPlan` + - When upgrading from 3.1.6 or earlier, replace `instanceof SubscriptionPlan` (and other bare plan classes) with the variant for your API context. See [#779](https://github.com/Rebilly/rebilly-php/pull/779). ## 3.1.7