---
title: "tailwindcss Breaking Changes on npm | Since.dev"
description: "What each tailwindcss release removed, renamed or changed: 139 breaking changes in 40 versions on npm, each with its source."
canonical_url: https://since.dev/packages/npm/tailwindcss
last_updated: 2026-11-03
---

# tailwindcss breaking changes

Every breaking API change we have recorded in tailwindcss on npm: 139 breaking changes in 40 versions. Below are its newest 6 versions, removals and renames first, each with its source.

Newest change November 3, 2026

## 4.3.4

5 breaking changes, first published November 3, 2026.

- **Behavior changed**  

Arbitrary values using units such as dvmin, svi, cap and rex are now treated as lengths, so text-\[10dvmin\] generates font-size instead of color. [github.com](https://github.com/tailwindlabs/tailwindcss/releases/tag/v4.3.4)
- **Behavior changed**  

Classes that contain an empty additional modifier, such as bg-red-500/50/ or group-hover/foo//bar, no longer generate CSS. Remove the empty modifier from those class names. [github.com](https://github.com/tailwindlabs/tailwindcss/releases/tag/v4.3.4)
- **Behavior changed**  

Classes whose modifier would be silently ignored, such as rounded-sm/\[5\], shadow-sm/foo and stroke-2/50, no longer produce any CSS. Update any class names that used these modifiers. [github.com](https://github.com/tailwindlabs/tailwindcss/releases/tag/v4.3.4)
- **Behavior changed**  

The tailwindcss canonicalize command writes plugin logs to stderr instead of stdout. Scripts that read logs from stdout must read stderr instead. [github.com](https://github.com/tailwindlabs/tailwindcss/releases/tag/v4.3.4)
- **Behavior changed**  

Arbitrary values with unbalanced parentheses or brackets, such as w-\[calc(1px\] or \[--x:a\[b\], no longer generate CSS. Fix the brackets in those values. [github.com](https://github.com/tailwindlabs/tailwindcss/releases/tag/v4.3.4)

## 4.3.3

1 breaking change, first published July 16, 2026.

- **Behavior changed**  

The default sans-serif font stack now uses explicit platform fonts instead of system-ui and ui-sans-serif. Text rendering may change for some users, especially CJK text on Windows. [github.com](https://github.com/tailwindlabs/tailwindcss/releases/tag/v4.3.3)

## 4.3.1

2 breaking changes, first published June 12, 2026.

- **Behavior changed**  

Utilities such as m-1 and left-1 now output var(--spacing) rather than calc(var(--spacing) \* 1). Code that matches the exact generated CSS may need updating. [github.com](https://github.com/tailwindlabs/tailwindcss/releases/tag/v4.3.1)
- **Behavior changed**  

Utilities such as m-0 and left-0 now output 0 rather than calc(var(--spacing) \* 0). Code that matches the exact generated CSS may need updating. [github.com](https://github.com/tailwindlabs/tailwindcss/releases/tag/v4.3.1)

## 4.3.0

4 breaking changes, first published May 8, 2026.

- **Behavior changed** `@utility`  

Functional @utility definitions without a --value(…) call are no longer accepted. Add --value(…) to any custom functional utility that lacks it. [github.com](https://github.com/tailwindlabs/tailwindcss/releases/tag/v4.3.0)
- **Behavior changed** `end`  

The legacy end utility without a value no longer generates CSS. Check any use of a bare end class and add a value if it is needed. [github.com](https://github.com/tailwindlabs/tailwindcss/releases/tag/v4.3.0)
- **Behavior changed** `start`  

The legacy start utility without a value no longer generates CSS. Check any use of a bare start class and add a value if it is needed. [github.com](https://github.com/tailwindlabs/tailwindcss/releases/tag/v4.3.0)
- **Signature changed** `Config`  

Was type Config = UserConfig; now interface Config extends UserConfig. [npmjs.com](https://www.npmjs.com/package/tailwindcss/v/4.3.0)

## 4.2.3

2 breaking changes, first published April 20, 2026.

- **Behavior changed** `placeholder-*`  

placeholder-\* utilities now read --placeholder-color instead of --background-color. Check any custom theme variables that set placeholder colors. [github.com](https://github.com/tailwindlabs/tailwindcss/releases/tag/v4.2.3)
- **Default changed**  

The .env and .env.\* files are now default ignored content files. Files matching these patterns are no longer scanned for class names unless you change the content configuration. [github.com](https://github.com/tailwindlabs/tailwindcss/releases/tag/v4.2.3)

## 4.2.0

2 breaking changes, first published February 18, 2026.

- **Signature changed** `colors:default`  

Was const \_default: {inherit: string; current: string; transparent: string; black: string; white: string; slate: {'50': string; '100': string; '200': string; '300': string; '400': string; '500': string; '600': string; '700': string; '800'... [npmjs.com](https://www.npmjs.com/package/tailwindcss/v/4.2.0)
- **Signature changed** `defaultTheme:default`  

Was const \_default: {accentColor: ({theme}: PluginUtils) => any; animation: {none: string; spin: string; ping: string; pulse: string; bounce: string;}; aria: {busy: string; checked: string; disabled: string; expanded: string; hidden... [npmjs.com](https://www.npmjs.com/package/tailwindcss/v/4.2.0)

## Check your code

These are the changes. To see which of them reach your code, [scan a public repository](https://since.dev/scan.md), or have your coding agent call `check_code` with your manifest or lockfile over [MCP](https://since.dev/docs.md#mcp). [The API](https://since.dev/docs.md#api) reads every change in every version, not only the newest. On Team and up, a fix pull request opens for the changes that reach a connected repository. Nothing merges or deploys.

## Put your code on continuous management.

Scan a public repository now, or give your agent one line.

### See how out of date your code is.

[Scan a repository](https://since.dev/scan.md). Any public GitHub repository. No sign-in.

### Tell your agent what changed since it was trained.

`claude mcp add --transport http since https://api.since.dev/mcp`

---

Every page on this site as Markdown: https://since.dev/sitemap.md. For agents: https://since.dev/llms.txt.
