> ## Documentation Index
> Fetch the complete documentation index at: https://docs.metrifox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# SDK Changelog

> Metrifox SDK releases: v2.0.0 unified theme API for React and Angular, playgrounds, and backend notes.

<Warning>
  **Policy:** On **`@metrifox/react-sdk` v2.0.0+** and **`@metrifox/angular-sdk` v2.0.0+**, removed frontend theme APIs are **not** supported. Root-level **`pricingTableTheme`** and legacy customer portal / pricing table theme shapes are ignored. Use **`theme.customerPortal`** and **`theme.pricingTable`** as in [React](/sdks/frontend/react) and [Angular](/sdks/frontend/angular).
</Warning>

## Frontend SDKs

### Breaking change: unified theme model — **v2.0.0** (React & Angular)

The new theme system ships in **v2.0.0** of both **`@metrifox/react-sdk`** and **`@metrifox/angular-sdk`**. Anything **below v2.0.0** follows the old theme model; plan an upgrade and theme migration together.

**What changed in v2.0.0**

* **Single `theme` object** on initialization:
  * React: `metrifoxInit({ theme: { customerPortal, pricingTable } })`
  * Angular: `MetrifoxService.initialize({ theme: { customerPortal, pricingTable } })`
* **Customer Portal** theme is grouped into: `general`, `tabs`, `sections`, `buttons`, `lineItems`, `tables`, `modals`, `plans`. Property names and nesting differ from pre-2.0.0 keys.
* **Pricing Table** theme uses the same idea: **all plan styling is under `plans`** (e.g. `plans.planCards`, `plans.planToggle`). Old top-level plan keys are invalid on 2.x.
* **Removed on v2.0.0+:** root-level **`pricingTableTheme`** and the legacy theme shapes documented for earlier versions.
* **Per-instance overrides:** React `theme` prop on `<CustomerPortal />` / `<PricingTable />`; Angular `[theme]` on `<metrifox-customer-portal>` / `<metrifox-pricing-table>`.

**After upgrading**

* Compare your theme object to [React styling](/sdks/frontend/react#styling) (Angular matches the same shapes).
* Use the live playgrounds to preview Customer Portal and Pricing Table before integrating the SDK into your application:
  * [playground.metrifox.com/react](https://playground.metrifox.com/react)
  * [playground.metrifox.com/angular](https://playground.metrifox.com/angular)

These docs describe **only** the v2.0.0+ API.

***

### `@metrifox/react-sdk`

#### v2.0.0

* **Breaking:** Unified `theme` with `customerPortal` and `pricingTable` (see above). Not compatible with pre-2.0.0 theme objects or root `pricingTableTheme`.
* **Live playground (React):** [playground.metrifox.com/react](https://playground.metrifox.com/react) — preview components before integration.

#### Earlier releases (before v2.0.0)

* **v0.0.18** — 2026-02-02: maintenance and dependency updates on the pre-2.0 line.
* **v0.0.2** — 2025-11-21: upgrade / downgrade flows, UI fixes, and polish.
* **v0.0.1** — 2025-11-21: stabilization; `CustomerPortal` aligned with dashboard UI presets.

Those versions used the **legacy** theme API. Upgrade to **v2.0.0+** for the model documented on this site.

***

### `@metrifox/angular-sdk`

#### v2.0.0

* **Breaking:** Same unified theme contract as React (`theme.customerPortal`, `theme.pricingTable`). Not compatible with pre-2.0.0 theme objects or root `pricingTableTheme`.
* Standalone `CustomerPortal` and `PricingTable`, `provideMetrifox()`, `MetrifoxService.initialize` / `getTheme` / `updateTheme`.
* **Live playground (Angular):** [playground.metrifox.com/angular](https://playground.metrifox.com/angular) — preview components before integration.

#### v1.0.2 — 2026-02-02 (pre–2.0.0 line)

* First public Angular SDK on npm with the **legacy** theme model.
* For the unified API and supported docs, use **v2.0.0** or later.

***

## Backend SDKs

### Python — 2025-02-01

* **v1.0.0** — Customer APIs, usage, checkout helpers; typed, framework-agnostic usage patterns.

### Other backend notes — 2025-02-01

* **JavaScript / Node** — Docs expanded with API usage and framework examples.
* **Ruby** — Docs expanded for Rails and Sinatra-style apps.

***

<Note>
  Pin an exact npm version (`@metrifox/react-sdk@x.y.z` or `@metrifox/angular-sdk@x.y.z`) if you need a time-locked build; compare this page before moving to **v2.0.0+**.
</Note>
