# What changed in tailwind-variants

> 14 changes in tailwind-variants 1 to 3 from its official release notes, upgrade guides and advisories: 5 breaking, 2 new APIs and options. Each one cited. Sources checked 2026-10-23. HTML: https://unstale.sh/npm/tailwind-variants/

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

## tailwind-variants 3

### Breaking changes

- Removes responsiveVariants. (1.0.0, 3.2.0) — [release notes](https://github.com/heroui-inc/tailwind-variants/releases/tag/v3.2.0), [release notes](https://github.com/heroui-inc/tailwind-variants/releases/tag/v1.0.0)
- cnBase was moved to utils and renamed to cn; the lite version exports cn without any tw-merge logic. (3.0.0) — [release notes](https://github.com/heroui-inc/tailwind-variants/releases/tag/v3.0.0)
- In the lite version, createTV, tv, and cn no longer accept config parameters such as tailwind-merge config. (3.0.0) — [release notes](https://github.com/heroui-inc/tailwind-variants/releases/tag/v3.0.0)

### New APIs and options

- Adds the cx function for combining classes. (3.2.0) — [release notes](https://github.com/heroui-inc/tailwind-variants/releases/tag/v3.2.0)
- A lite entry point is available without tailwind-merge logic; import from it when you do not use tailwind-merge. (3.0.0) — [release notes](https://github.com/heroui-inc/tailwind-variants/releases/tag/v3.0.0)

### Behavior and default changes

- twMerge now defaults to true in cn, enabling Tailwind class merging by default. (3.2.0) — [release notes](https://github.com/heroui-inc/tailwind-variants/releases/tag/v3.2.0)
- cnBase now filters and handles various input types and formats output, including removing extra spaces or newlines. (3.0.0) — [release notes](https://github.com/heroui-inc/tailwind-variants/releases/tag/v3.0.0)

### Fixes and other changes

- Fixes shared-state contamination involving slots. (3.3.1) — [release notes](https://github.com/heroui-inc/tailwind-variants/releases/tag/v3.3.1)
- Updated the cn function type and imported cx from tailwind-variants/lite. (3.2.1) — [release notes](https://github.com/heroui-inc/tailwind-variants/releases/tag/v3.2.1)
- Exports defaultConfig as a value. (3.2.0) — [release notes](https://github.com/heroui-inc/tailwind-variants/releases/tag/v3.2.0)

## tailwind-variants 2

### Breaking changes

- tailwind-merge is no longer bundled and is now an optional peer dependency. Install it separately to use conflict resolution, or disable twMerge if conflict resolution is not needed. (2.0.0) — [release notes](https://github.com/heroui-inc/tailwind-variants/releases/tag/v2.0.0)

### Performance

- Operations are 37–62% faster for most use cases, with optimized object creation and array operations, reduced function call overhead, and better memory usage. (2.0.0) — [release notes](https://github.com/heroui-inc/tailwind-variants/releases/tag/v2.0.0)

## tailwind-variants 1

### Breaking changes

- withTv has been removed. (1.0.0) — [release notes](https://github.com/heroui-inc/tailwind-variants/releases/tag/v1.0.0)

### Behavior and default changes

- Tailwind Variants now supports Tailwind CSS v4. (1.0.0) — [release notes](https://github.com/heroui-inc/tailwind-variants/releases/tag/v1.0.0)
