# What changed in @radix-ui/react-switch

> 11 changes in @radix-ui/react-switch 1 from its official release notes, upgrade guides and advisories: 3 new APIs and options. Each one cited. Sources checked 2026-10-19. HTML: https://unstale.sh/npm/@radix-ui/react-switch/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## @radix-ui/react-switch 1

### New APIs and options

- Added the unstable BubbleInput part so consumers can directly access and recompose the hidden form input; Switch continues to render it by default. (1.3.0) — [release notes](https://github.com/radix-ui/primitives/blob/925c88b773bb32aecf1b52a296a1a21ba7a720b9/packages/react/switch/CHANGELOG.md#130)
- Added the unstable Provider part so consumers can directly access and recompose the context provider; Switch continues to render it by default. (1.3.0) — [release notes](https://github.com/radix-ui/primitives/blob/925c88b773bb32aecf1b52a296a1a21ba7a720b9/packages/react/switch/CHANGELOG.md#130)
- Added the unstable Trigger part so consumers can directly access and recompose the interactive control; Switch continues to render it by default. (1.3.0) — [release notes](https://github.com/radix-ui/primitives/blob/925c88b773bb32aecf1b52a296a1a21ba7a720b9/packages/react/switch/CHANGELOG.md#130)

### Performance

- Improved tree-shaking lets bundlers drop unused components. (1.3.4) — [release notes](https://github.com/radix-ui/primitives/blob/925c88b773bb32aecf1b52a296a1a21ba7a720b9/packages/react/switch/CHANGELOG.md#134)

### Tooling

- The package was republished through CI so it includes a provenance attestation; the code is unchanged. (1.3.5) — [release notes](https://github.com/radix-ui/primitives/blob/925c88b773bb32aecf1b52a296a1a21ba7a720b9/packages/react/switch/CHANGELOG.md#135)

### Fixes and other changes

- Fixed a type regression so callback props declared as methods accept handlers whose parameter is narrower than the prop's. (1.4.1) — [release notes](https://github.com/radix-ui/primitives/blob/925c88b773bb32aecf1b52a296a1a21ba7a720b9/packages/react/switch/CHANGELOG.md#141)
- Fixed form-nested control components so user-driven changes are not treated as programmatic in some cases, allowing bubbled event handlers to be called. (1.4.0) — [release notes](https://github.com/radix-ui/primitives/blob/925c88b773bb32aecf1b52a296a1a21ba7a720b9/packages/react/switch/CHANGELOG.md#140)
- Optional types now allow explicit undefined, making them compatible with TypeScript's exactOptionalPropertyTypes flag. (1.4.0) — [release notes](https://github.com/radix-ui/primitives/blob/925c88b773bb32aecf1b52a296a1a21ba7a720b9/packages/react/switch/CHANGELOG.md#140)
- Reverted breaking changes that caused compatibility issues with React Server Components. (1.3.7) — [release notes](https://github.com/radix-ui/primitives/blob/925c88b773bb32aecf1b52a296a1a21ba7a720b9/packages/react/switch/CHANGELOG.md#137)
- Programmatic value updates inside a form no longer dispatch a click event from the hidden bubble input that propagates to ancestor onClick handlers. (1.3.4) — [release notes](https://github.com/radix-ui/primitives/blob/925c88b773bb32aecf1b52a296a1a21ba7a720b9/packages/react/switch/CHANGELOG.md#134)
- Switch values are now updated when their associated form is reset. (1.3.3) — [release notes](https://github.com/radix-ui/primitives/blob/925c88b773bb32aecf1b52a296a1a21ba7a720b9/packages/react/switch/CHANGELOG.md#133)
