Skip to content

Conversation

@dependabot
Copy link

@dependabot dependabot bot commented on behalf of github Oct 25, 2025

Bumps tailwindcss from 3.4.18 to 4.1.16.

Release notes

Sourced from tailwindcss's releases.

v4.1.16

Fixed

  • Discard candidates with an empty data type (#19172)
  • Fix canonicalization of arbitrary variants with attribute selectors (#19176)
  • Fix invalid colors due to nested & (#19184)
  • Improve canonicalization for & > :pseudo and & :pseudo arbitrary variants (#19178)

v4.1.15

Fixed

  • Fix Safari devtools rendering issue due to color-mix fallback (#19069)
  • Suppress Lightning CSS warnings about :deep, :slotted, and :global (#19094)
  • Fix resolving theme keys when starting with the name of another theme key in JS configs and plugins (#19097)
  • Allow named groups in combination with not-*, has-*, and in-* (#19100)
  • Prevent important utilities from affecting other utilities (#19110)
  • Don’t index into strings with the theme(…) function (#19111)
  • Fix parsing issue when \t is used in at-rules (#19130)
  • Upgrade: Canonicalize utilities containing 0 values (#19095)
  • Upgrade: Migrate deprecated break-words to wrap-break-word (#19157)

Changed

  • Remove the postinstall script from oxide (#19149)

v4.1.14

Fixed

  • Handle ' syntax in ClojureScript when extracting classes (#18888)
  • Handle @variant inside @custom-variant (#18885)
  • Merge suggestions when using @utility (#18900)
  • Ensure that file system watchers created when using the CLI are always cleaned up (#18905)
  • Do not generate grid-column utilities when configuring grid-column-start or grid-column-end (#18907)
  • Do not generate grid-row utilities when configuring grid-row-start or grid-row-end (#18907)
  • Prevent duplicate CSS when overwriting a static utility with a theme key (#18056)
  • Show Lightning CSS warnings (if any) when optimizing/minifying (#18918)
  • Use default export condition for @tailwindcss/vite (#18948)
  • Re-throw errors from PostCSS nodes (#18373)
  • Detect classes in markdown inline directives (#18967)
  • Ensure files with only @theme produce no output when built (#18979)
  • Support Maud templates when extracting classes (#18988)
  • Upgrade: Do not migrate variant = 'outline' during upgrades (#18922)
  • Upgrade: Show version mismatch (if any) when running upgrade tool (#19028)
  • Upgrade: Ensure first class inside className is migrated (#19031)
  • Upgrade: Migrate classes inside *ClassName and *Class attributes (#19031)

v4.1.13

Changed

  • Drop warning from browser build (#18731)

... (truncated)

Changelog

Sourced from tailwindcss's changelog.

[4.1.16] - 2025-10-23

Fixed

  • Discard candidates with an empty data type (#19172)
  • Fix canonicalization of arbitrary variants with attribute selectors (#19176)
  • Fix invalid colors due to nested & (#19184)
  • Improve canonicalization for & > :pseudo and & :pseudo arbitrary variants (#19178)

[4.1.15] - 2025-10-20

Fixed

  • Fix Safari devtools rendering issue due to color-mix fallback (#19069)
  • Suppress Lightning CSS warnings about :deep, :slotted, and :global (#19094)
  • Fix resolving theme keys when starting with the name of another theme key in JS configs and plugins (#19097)
  • Allow named groups in combination with not-*, has-*, and in-* (#19100)
  • Prevent important utilities from affecting other utilities (#19110)
  • Don’t index into strings with the theme(…) function (#19111)
  • Fix parsing issue when \t is used in at-rules (#19130)
  • Upgrade: Canonicalize utilities containing 0 values (#19095)
  • Upgrade: Migrate deprecated break-words to wrap-break-word (#19157)

Changed

[4.1.14] - 2025-10-01

Fixed

  • Handle ' syntax in ClojureScript when extracting classes (#18888)
  • Handle @variant inside @custom-variant (#18885)
  • Merge suggestions when using @utility (#18900)
  • Ensure that file system watchers created when using the CLI are always cleaned up (#18905)
  • Do not generate grid-column utilities when configuring grid-column-start or grid-column-end (#18907)
  • Do not generate grid-row utilities when configuring grid-row-start or grid-row-end (#18907)
  • Prevent duplicate CSS when overwriting a static utility with a theme key (#18056)
  • Show Lightning CSS warnings (if any) when optimizing/minifying (#18918)
  • Use default export condition for @tailwindcss/vite (#18948)
  • Re-throw errors from PostCSS nodes (#18373)
  • Detect classes in markdown inline directives (#18967)
  • Ensure files with only @theme produce no output when built (#18979)
  • Support Maud templates when extracting classes (#18988)
  • Upgrade: Do not migrate variant = 'outline' during upgrades (#18922)
  • Upgrade: Show version mismatch (if any) when running upgrade tool (#19028)
  • Upgrade: Ensure first class inside className is migrated (#19031)
  • Upgrade: Migrate classes inside *ClassName and *Class attributes (#19031)

[4.1.13] - 2025-09-03

... (truncated)

Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

@dependabot dependabot bot added dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code labels Oct 25, 2025
@fossabot
Copy link
Contributor

fossabot bot commented Oct 25, 2025

fossabot is Thinking

@fossabot
Copy link
Contributor

fossabot bot commented Oct 25, 2025

Needs Review

I recommend reviewing this upgrade before merging because this is a major version upgrade from v3 to v4 that introduces significant breaking changes requiring manual configuration updates. The project uses Tailwind CSS v3 configuration syntax which is incompatible with v4's new CSS-first configuration system. Specifically, the tailwind.config.js uses the legacy v3 module.exports format, src/index.css uses deprecated @​tailwind directives that must be replaced with @​import syntax, and postcss.config.js uses the legacy plugin configuration. While the codebase doesn't use any of the removed deprecated utilities (max-w-auto, break-words, clip, etc.), the configuration files must be migrated to v4 syntax before the build will work. The security vulnerabilities mentioned (CVE-2024-4068, CVE-2024-4067) in transitive dependencies braces and micromatch are not relevant to this upgrade as they were already fixed in earlier v4 versions.

What we checked

  • Upgrading tailwindcss from v3.4.18 to v4.1.16 - a major version change with breaking configuration syntax [1]
  • Uses v3 configuration syntax (module.exports) which must be converted to v4 CSS-first configuration or @​config directive [2]
  • Uses deprecated @​tailwind directives which must be replaced with @​import 'tailwindcss' in v4 [3]
  • Uses legacy PostCSS plugin configuration 'tailwindcss: {}' which needs to be updated for v4 compatibility [4]
  • Official v4 upgrade guide documents breaking changes: CSS-first configuration replaces JS config, @​import replaces @​tailwind directives, and requires Safari 16.4+ and Chrome 111+ [5]
  • Community reports v4 removes default element styles and dark mode functionality, requiring manual fixes in migrated projects [6]
  • Uses shadow-xl utility - confirmed safe as Tailwind v4 only deprecated shadow-inner, not shadow-xl [7]

Dependency Usage

No direct usages found in your codebase.

Changes

A major upgrade to Tailwind CSS v4 brings critical breaking changes including removal of invalid max-w-auto/max-h-auto utilities, deprecation of several positioning utilities (bg-{left,right}-{top,bottom}, object-{left,right}-{top,bottom}), and removal of automatic var(…) injection that addresses a security concern. The update delivers 98 new features including a completely rebuilt high-performance engine (5x faster full builds, 100x faster incremental builds), unified tooling with built-in import handling and vendor prefixing, new 3D transform utilities, mask utilities, text-shadow utilities, and modern CSS support for cascade layers, @​starting-style, and wide-gamut colors.

  • Ensure color-mix(…) polyfills do not cause used CSS variables to be removed (#17555) (vv4.1.4, release notes)
  • @​source rules that include file extensions or point inside node_modules/ folders no longer consider your .gitignore rules (#17255) (vv4.1.0, release notes)
  • Removed max-w-auto and max-h-auto utilities as they generate invalid CSS (#16917) (vv4.0.10, release notes)
View 616 more changes
  • Discard candidates with an empty data type (#19172) (vv4.1.16, release notes)
  • Fix canonicalization of arbitrary variants with attribute selectors (#19176) (vv4.1.16, release notes)
  • Fix invalid colors due to nested & (#19184) (vv4.1.16, release notes)
  • Improve canonicalization for & > :pseudo and & :pseudo arbitrary variants (#19178) (vv4.1.16, release notes)
  • Fix Safari devtools rendering issue due to color-mix fallback (#19069) (vv4.1.15, release notes)
  • Suppress Lightning CSS warnings about :deep, :slotted, and :global (#19094) (vv4.1.15, release notes)
  • Fix resolving theme keys when starting with the name of another theme key in JS configs and plugins (#19097) (vv4.1.15, release notes)
  • Allow named groups in combination with not-*, has-*, and in-* (#19100) (vv4.1.15, release notes)
  • Prevent important utilities from affecting other utilities (#19110) (vv4.1.15, release notes)
  • Don’t index into strings with the theme(…) function (#19111) (vv4.1.15, release notes)
  • Fix parsing issue when \t is used in at-rules (#19130) (vv4.1.15, release notes)
  • Upgrade: Canonicalize utilities containing 0 values (#19095) (vv4.1.15, release notes)
  • Upgrade: Migrate deprecated break-words to wrap-break-word (#19157) (vv4.1.15, release notes)
  • Remove the postinstall script from oxide (#19149) (vv4.1.15, release notes)
  • Handle ' syntax in ClojureScript when extracting classes (#18888) (vv4.1.14, release notes)
  • Handle @​variant inside @​custom-variant (#18885) (vv4.1.14, release notes)
  • Merge suggestions when using @​utility (#18900) (vv4.1.14, release notes)
  • Ensure that file system watchers created when using the CLI are always cleaned up (#18905) (vv4.1.14, release notes)
  • Do not generate grid-column utilities when configuring grid-column-start or grid-column-end (#18907) (vv4.1.14, release notes)
  • Prevent duplicate CSS when overwriting a static utility with a theme key (#18056) (vv4.1.14, release notes)
  • Show Lightning CSS warnings (if any) when optimizing/minifying (#18918) (vv4.1.14, release notes)
  • Use default export condition for @​tailwindcss/vite (#18948) (vv4.1.14, release notes)
  • Re-throw errors from PostCSS nodes (#18373) (vv4.1.14, release notes)
  • Detect classes in markdown inline directives (#18967) (vv4.1.14, release notes)
  • Ensure files with only @​theme produce no output when built (#18979) (vv4.1.14, release notes)
  • Support Maud templates when extracting classes (#18988) (vv4.1.14, release notes)
  • Upgrade: Do not migrate variant = 'outline' during upgrades (#18922) (vv4.1.14, release notes)
  • Upgrade: Show version mismatch (if any) when running upgrade tool (#19028) (vv4.1.14, release notes)
  • Upgrade: Ensure first class inside className is migrated (#19031) (vv4.1.14, release notes)
  • Upgrade: Migrate classes inside *ClassName and *Class attributes (#19031) (vv4.1.14, release notes)
  • Drop warning from browser build (#18731) (vv4.1.13, release notes)
  • Drop exact duplicate declarations when emitting CSS (#18809) (vv4.1.13, release notes)
  • Don't transition visibility when using transition (#18795) (vv4.1.13, release notes)
  • Discard matched variants with unknown named values (#18799) (vv4.1.13, release notes)
  • Show suggestions for known matchVariant values (#18798) (vv4.1.13, release notes)
  • Replace deprecated clip with clip-path in sr-only (#18769) (vv4.1.13, release notes)
  • Hide internal fields from completions in matchUtilities (#18820) (vv4.1.13, release notes)
  • Ignore .vercel folders by default (can be overridden by @​source … rules) (#18855) (vv4.1.13, release notes)
  • Consider variants starting with @- to be invalid (e.g. @-2xl:flex) (#18869) (vv4.1.13, release notes)
  • Do not allow custom variants to start or end with a - or _ (#18867, #18872) (vv4.1.13, release notes)
  • Upgrade: Migrate aria theme keys to @​custom-variant (#18815) (vv4.1.13, release notes)
  • Upgrade: Migrate data theme keys to @​custom-variant (#18816) (vv4.1.13, release notes)
  • Upgrade: Migrate supports theme keys to @​custom-variant (#18817) (vv4.1.13, release notes)
  • Don't consider the global important state in @​apply (#18404) (vv4.1.12, release notes)
  • Add missing suggestions for flex-<number> utilities (#18642) (vv4.1.12, release notes)
  • Fix trailing ) from interfering with extraction in Clojure keywords (#18345) (vv4.1.12, release notes)
  • Detect classes inside Elixir charlist, word list, and string sigils (#18432) (vv4.1.12, release notes)
  • Track source locations through @​plugin and @​config (#18345) (vv4.1.12, release notes)
  • Allow boolean values of process.env.DEBUG in @​tailwindcss/node (#18485) (vv4.1.12, release notes)
  • Ignore consecutive semicolons in the CSS parser (#18532) (vv4.1.12, release notes)
  • Center the dropdown icon added to an input with a paired datalist by default (#18511) (vv4.1.12, release notes)
  • Extract candidates in Slang templates (#18565) (vv4.1.12, release notes)
  • Improve error messages when encountering invalid functional utility names (#18568) (vv4.1.12, release notes)
  • Discard CSS AST objects with false or undefined properties (#18571) (vv4.1.12, release notes)
  • Allow users to disable URL rebasing in @​tailwindcss/postcss via transformAssetUrls: false (#18321) (vv4.1.12, release notes)
  • Fix false-positive migrations in addEventListener and JavaScript variable names (#18718) (vv4.1.12, release notes)
  • Fix Standalone CLI showing default Bun help when run via symlink on Windows (#18723) (vv4.1.12, release notes)
  • Read from --border-color-* theme keys in divide-* utilities for backwards compatibility (#18704) (vv4.1.12, release notes)
  • Don't scan .hdr and .exr files for classes by default (#18734) (vv4.1.12, release notes)
  • Add heuristic to skip candidate migrations inside emit(…) (#18330) (vv4.1.11, release notes)
  • Extract candidates with variants in Clojure/ClojureScript keywords (#18338) (vv4.1.11, release notes)
  • Document --watch=always in the CLI's usage (#18337) (vv4.1.11, release notes)
  • Add support for Vite 7 to @​tailwindcss/vite (#18384) (vv4.1.11, release notes)
  • Fix incorrectly generated CSS when using percentages in arbitrary values with calc (e.g. w-[calc(100%-var(--offset))]) (#18289) (vv4.1.10, release notes)
  • Correctly parse custom properties with strings containing semicolons (#18251) (vv4.1.9, release notes)
  • Upgrade: Migrate arbitrary modifiers without percentage signs to bare values (e.g. /[0.16]/16) (#18184) (vv4.1.9, release notes)
  • Upgrade: Migrate CSS variable shorthands where fallback value contains function call (#18184) (vv4.1.9, release notes)
  • Upgrade: Migrate negative arbitrary values to negative bare values (e.g. mb-[-32rem]-mb-128) (#18212) (vv4.1.9, release notes)
  • Upgrade: Do not migrate blur in wire:model.blur (#18216) (vv4.1.9, release notes)
  • Don't add spaces around CSS dashed idents when formatting math expressions (#18220) (vv4.1.9, release notes)
  • Improve error messages when @​apply fails (#18059) (vv4.1.8, release notes)
  • Upgrade: Do not migrate declarations that look like candidates in <style> blocks (#18057, 18068) (vv4.1.8, release notes)
  • Upgrade: Don't error when looking for tailwindcss in pnpm monorepos (#18065) (vv4.1.8, release notes)
  • Upgrade: Migrate deprecated order-none to order-0 (#18126) (vv4.1.8, release notes)
  • Support Leptos class: attributes when extracting classes (#18093) (vv4.1.8, release notes)
  • Fix "Cannot read properties of undefined" crash on malformed arbitrary value (#18133) (vv4.1.8, release notes)
  • Upgrade: Migrate -mt-[0px] to mt-[0px] instead of the other way around (#18154) (vv4.1.8, release notes)
  • Fix Haml pre-processing crash when there is no \n at the end of the file (#18155) (vv4.1.8, release notes)
  • Ignore .pnpm-store folders by default (can be overridden by @​source … rules) (#18163) (vv4.1.8, release notes)
  • Fix PostCSS crash when calling toJSON() (#18083) (vv4.1.8, release notes)
  • Upgrade: Migrate bare values to named values (#18000) (vv4.1.7, release notes)
  • Upgrade: Added cache to improve template migration performance (#18025) (vv4.1.7, release notes)
  • Allow _ before numbers during candidate extraction (#17961) (vv4.1.7, release notes)
  • Prevent duplicate suggestions when using @​theme and @​utility together (#17675) (vv4.1.7, release notes)
  • Ensure that media queries within ::before and ::after pseudo selectors create valid CSS rules in production builds (#17979) (vv4.1.7, release notes)
  • Ensure that the standalone CLI does not leave temporary files behind (#17981) (vv4.1.7, release notes)
  • Ensure -rotate-* utilities properly negate arbitrary values (#18014) (vv4.1.7, release notes)
  • Ignore custom variants using :merge(…) selectors in legacy JS plugins (#18020) (vv4.1.7, release notes)
  • Ensure classes containing . are properly extracted from Clojure files (#18038) (vv4.1.7, release notes)
  • Upgrade: Fix error when using @​import … source(…) (#17963) (vv4.1.7, release notes)
  • Upgrade: Change casing of utilities with named values to kebab-case to match updated theme variables (#18017) (vv4.1.7, release notes)
  • Upgrade: Don't migrate strings that match utility names in Vue attribute bindings other than class (#18025) (vv4.1.7, release notes)
  • Upgrade: Automatically convert arbitrary values to named values when possible (e.g. h-[1lh] to h-lh) (#17831, #17854) (vv4.1.6, release notes)
  • Upgrade: Update dependencies in parallel for improved performance (#17898) (vv4.1.6, release notes)
  • Add detailed logging about @​source directives, discovered files and scanned files when using DEBUG=* (#17906, #17952) (vv4.1.6, release notes)
  • Add support for generating source maps in development (#17775) (vv4.1.6, release notes)
  • Ensure negative arbitrary scale values generate negative values (#17831) (vv4.1.6, release notes)
  • Fix HAML extraction with embedded Ruby (#17846) (vv4.1.6, release notes)
  • Don't scan files for utilities when using @​reference (#17836) (vv4.1.6, release notes)
  • Fix incorrectly replacing _ with in arbitrary modifier shorthand bg-red-500/(--my_opacity) (#17889) (vv4.1.6, release notes)
  • Don't scan .log files for classes by default (#17906) (vv4.1.6, release notes)
  • Ensure that custom utilities applying other custom utilities don't swallow nested @​apply rules (#17925) (vv4.1.6, release notes)
  • Download platform specific package if optionalDependencies are skipped (#17929) (vv4.1.6, release notes)
  • Support using @​tailwindcss/upgrade to upgrade between versions of v4.* (#17717) (vv4.1.5, release notes)
  • Add h-lh / min-h-lh / max-h-lh utilities (#17790) (vv4.1.5, release notes)
  • Transition display, visibility, content-visibility, overlay, and pointer-events when using transition to simplify @​starting-style usage (#17812) (vv4.1.5, release notes)
  • Don't scan .geojson or .db files for classes by default (#17700, #17711) (vv4.1.5, release notes)
  • Hide default shadow suggestions when missing default shadow theme keys (#17743) (vv4.1.5, release notes)
  • Replace _ with . in theme suggestions for @​utility if surrounded by digits (#17733) (vv4.1.5, release notes)
  • Skip color-mix(…) when opacity is 100% (#17815) (vv4.1.5, release notes)
  • PostCSS: Ensure that errors in imported stylesheets are recoverable (#17754) (vv4.1.5, release notes)
  • Upgrade: Bump all Tailwind CSS related dependencies during upgrade (#17763) (vv4.1.5, release notes)
  • Upgrade: Don't add - to variants starting with @ (#17814) (vv4.1.5, release notes)
  • Upgrade: Don't format stylesheets that didn't change when upgrading (#17824) (vv4.1.5, release notes)
  • Add experimental @​tailwindcss/oxide-wasm32-wasi target for running Tailwind in browser environments like StackBlitz (#17558) (vv4.1.4, release notes)
  • Ensure color-mix(…) polyfills create fallbacks for theme variables that reference other theme variables (#17562) (vv4.1.4, release notes)
  • Fix brace expansion in declining ranges like {10..0..5} and {0..10..-5} (#17591) (vv4.1.4, release notes)
  • Work around a Chrome rendering bug when using the skew-* utilities (#17627) (vv4.1.4, release notes)
  • Ensure container query variant names can contain hyphens (#17628) (vv4.1.4, release notes)
  • Ensure shadow-inherit, inset-shadow-inherit, drop-shadow-inherit, and text-shadow-inherit inherit the shadow color (#17647) (vv4.1.4, release notes)
  • Ensure compatibility with array tuples used in fontSize JS theme keys (#17630) (vv4.1.4, release notes)
  • Ensure folders with binary file extensions in their names are scanned for utilities (#17595) (vv4.1.4, release notes)
  • Upgrade: Convert fontSize array tuple syntax to CSS theme variables (#17630) (vv4.1.4, release notes)
  • Show warning when using unsupported bare value data type in --value(…) (#17464) (vv4.1.3, release notes)
  • PostCSS: Ensure changes to the input CSS file don't generate stale output when using Turbopack (#17554) (vv4.1.3, release notes)
  • Ensure classes are detected in Ruby's %w syntax in Slim templates (#17557) (vv4.1.3, release notes)
  • Don't rely on the presence of @​layer base to polyfill @​property (#17506) (vv4.1.2, release notes)
  • Support setting multiple inset shadows as arbitrary values (#17523) (vv4.1.2, release notes)
  • Fix drop-shadow-* utilities that are defined with multiple shadows (#17515) (vv4.1.2, release notes)
  • PostCSS: Fix race condition when two changes are queued concurrently (#17514) (vv4.1.2, release notes)
  • PostCSS: Ensure files containing @​tailwind utilities are processed (#17514) (vv4.1.2, release notes)
  • Ensure the color-mix(…) polyfill creates fallbacks even when using colors that cannot be statically analyzed (#17513) (vv4.1.2, release notes)
  • Fix slow incremental builds with @​tailwindcss/vite and @​tailwindcss/postscss (especially on Windows) (#17511) (vv4.1.2, release notes)
  • Vite: Fix missing CSS file in Qwik setups (#17533) (vv4.1.2, release notes)
  • Disable padding in @​source inline(…) brace expansion (#17491) (vv4.1.1, release notes)
  • Inject polyfills after @​import and body-less @​layer (#17493) (vv4.1.1, release notes)
  • Ensure @​tailwindcss/cli does not contain an import for jiti (#17502) (vv4.1.1, release notes)
  • Add details-content variant (#15319) (vv4.1.0, release notes)
  • Add inverted-colors variant (#11693) (vv4.1.0, release notes)
  • Add noscript variant (#11929, #17431) (vv4.1.0, release notes)
  • Add items-baseline-last and self-baseline-last utilities (#13888, #17476) (vv4.1.0, release notes)
  • Add pointer-none, pointer-coarse, and pointer-fine variants (#16946) (vv4.1.0, release notes)
  • Add any-pointer-none, any-pointer-coarse, and any-pointer-fine variants (#16941) (vv4.1.0, release notes)
  • Add safe alignment utilities (#14607) (vv4.1.0, release notes)
  • Add user-valid and user-invalid variants (#12370) (vv4.1.0, release notes)
  • Add wrap-anywhere, wrap-break-word, and wrap-normal utilities (#12128) (vv4.1.0, release notes)
  • Add @​source inline(…) and @​source not inline(…) (#17147) (vv4.1.0, release notes)
  • Add @​source not "…" (#17255) (vv4.1.0, release notes)
  • Add text-shadow-* utilities (#17389) (vv4.1.0, release notes)
  • Add mask-* utilities (#17134) (vv4.1.0, release notes)
  • Add bg-{position,size}-* utilities for arbitrary values (#17432) (vv4.1.0, release notes)
  • Add shadow-*/<alpha>, inset-shadow-*/<alpha>, drop-shadow-*/<alpha>, and text-shadow-*/<alpha> utilities to control shadow opacity (#17398, #17434) (vv4.1.0, release notes)
  • Add drop-shadow-<color> utilities (#17434) (vv4.1.0, release notes)
  • Improve compatibility with older versions of Safari and Firefox (#17435) (vv4.1.0, release notes)
  • Follow symlinks when resolving @​source directives (#17391) (vv4.1.0, release notes)
  • Don't scan ignored files for classes when changing an ignored file triggers a rebuild using @​tailwindcss/cli (#17255) (vv4.1.0, release notes)
  • Support negated content rules in legacy JavaScript configuration (#17255) (vv4.1.0, release notes)
  • Interpret syntax like @("@")md:… as @​md:… in Razor files (#17427) (vv4.1.0, release notes)
  • Disallow top-level braces, top-level semicolons, and unbalanced parentheses and brackets in arbitrary values (#17361) (vv4.1.0, release notes)
  • Ensure the --theme(…) function still resolves to the CSS variables when using legacy JS plugins (#17458) (vv4.1.0, release notes)
  • Detect used theme variables in CSS module files (#17433, #17467) (vv4.1.0, release notes)
  • Ignore node_modules by default (can be overridden by @​source … rules) (#17255) (vv4.1.0, release notes)
  • Deprecate bg-{left,right}-{top,bottom} in favor of bg-{top,bottom}-{left,right} utilities (#17378) (vv4.1.0, release notes)
  • Deprecate object-{left,right}-{top,bottom} in favor of object-{top,bottom}-{left,right} utilities (#17437) (vv4.1.0, release notes)
  • Fix an issue causing the CLI to hang when processing Ruby files (#17383) (vv4.0.17, release notes)
  • Add support for literal values in --value('…') and --modifier('…') (#17304) (vv4.0.16, release notes)
  • Fix class extraction followed by ( in Pug (#17320) (vv4.0.16, release notes)
  • Ensure @​keyframes for theme animations are emitted if they are referenced following a comma (#17352) (vv4.0.16, release notes)
  • Vite: Ensure that updates to an imported CSS file are properly propagated after updating source files (#17347) (vv4.0.16, release notes)
  • Pre process Slim templates embedded in Ruby files (#17336) (vv4.0.16, release notes)
  • Error when input and output files resolve to the same file when using the CLI (#17311) (vv4.0.16, release notes)
  • Add missing suggestions when --spacing(--value(integer, number)) is used (#17308) (vv4.0.16, release notes)
  • Add ::-webkit-details-marker pseudo to marker variant (#17362) (vv4.0.16, release notes)
  • Fix incorrect angle in -bg-conic-* utilities (#17174) (vv4.0.15, release notes)
  • Fix border-[12px_4px] being interpreted as a border-color instead of a border-width (#17248) (vv4.0.15, release notes)
  • Work around a crash in Safari 16.4 and 16.5 when using the default Preflight styles (#17306) (vv4.0.15, release notes)
  • Pre-process <template lang="…"> in Vue files (#17252) (vv4.0.15, release notes)
  • Ensure that all CSS variables used by Preflight are prefixed (#17036) (vv4.0.15, release notes)
  • Prevent segfault when loaded in a worker thread on Linux (#17276) (vv4.0.15, release notes)
  • Ensure multiple --value(…) or --modifier(…) calls don't delete subsequent declarations (#17273) (vv4.0.15, release notes)
  • Fix class extraction followed by ( in Slim (#17278) (vv4.0.15, release notes)
  • Export PluginUtils from tailwindcss/plugin for compatibility with v3 (#17299) (vv4.0.15, release notes)
  • Remove redundant line-height: initial from Preflight (#15212) (vv4.0.15, release notes)
  • Increase Standalone hardware compatibility on macOS x64 builds (#17267) (vv4.0.15, release notes)
  • Ensure that the CSS file rebuilds if a new CSS variable is used from templates (#17301) (vv4.0.15, release notes)
  • The --theme(…) function now returns CSS variables from your theme variables unless used inside positions where CSS variables are invalid (e.g. inside @​media queries) (#17036) (vv4.0.15, release notes)
  • Do not extract candidates with JS string interpolation ${ (#17142) (vv4.0.14, release notes)
  • Fix extraction of variants containing . character (#17153) (vv4.0.14, release notes)
  • Fix extracting candidates in Clojure/ClojureScript (#17087) (vv4.0.14, release notes)
  • Fix Haml pre-processing (#17051) (vv4.0.13, release notes)
  • Ensure .node and .wasm files are not scanned for utilities (#17123) (vv4.0.13, release notes)
  • Improve performance when scanning JSON files (#17125) (vv4.0.13, release notes)
  • Fix extracting candidates containing dots in Haml, Pug, and Slim pre processors (#17094, #17085, #17113) (vv4.0.13, release notes)
  • Don't create invalid CSS when encountering a link wrapped in square brackets (#17129) (vv4.0.13, release notes)
  • Vite: Fix url(…) rebasing in transitively imported CSS files (#16965) (vv4.0.12, release notes)
  • PostCSS: Rebase url(…)s in imported CSS files (#16965) (vv4.0.12, release notes)
  • Ensure utilities are sorted based on their actual property order (#16995) (vv4.0.12, release notes)
  • Ensure strings in Pug and Slim templates are handled correctly (#17000) (vv4.0.12, release notes)
  • Ensure classes between } and { are properly extracted (#17001) (vv4.0.12, release notes)
  • Fix razor/cshtml pre-processing (#17027) (vv4.0.12, release notes)
  • Ensure extracting candidates from JS embedded in a PHP string works as expected (#17031) (vv4.0.12, release notes)
  • Ensure classes containing -- are extracted correctly (#16972) (vv4.0.11, release notes)
  • Ensure classes containing numbers followed by dash or underscore are extracted correctly (#16980) (vv4.0.11, release notes)
  • Ensure arbitrary container queries are extracted correctly (#16984) (vv4.0.11, release notes)
  • Ensure classes ending in [ are extracted in Slim templating language (#16985) (vv4.0.11, release notes)
  • Ensure arbitrary variables with data types are extracted correctly (#16986) (vv4.0.11, release notes)
  • Add col-<number> and row-<number> utilities for grid-column and grid-row (#15183) (vv4.0.10, release notes)
  • Ensure not-* does not remove :is(…) from variants (#16825) (vv4.0.10, release notes)
  • Ensure @​keyframes are correctly emitted when using a prefix (#16850) (vv4.0.10, release notes)
  • Don't swallow @​utility declarations when @​apply is used in nested rules (#16940) (vv4.0.10, release notes)
  • Ensure outline-hidden behaves like outline-none outside of forced colors mode (#16943) (vv4.0.10, release notes)
  • Allow !important on CSS variables again (#16873) (vv4.0.10, release notes)
  • Vite: Do not crash when encountering an .svg file with # or ? in the filename (#16957) (vv4.0.10, release notes)
  • Ensure utilities are properly detected within square brackets (#16306) (vv4.0.10, release notes)
  • Ensure utilities are properly detected using Angular's conditional class binding syntax (#16306) (vv4.0.10, release notes)
  • Ensure utilities starting with numbers are properly extracted from Slim templates (#16306) (vv4.0.10, release notes)
  • Discard arbitrary property candidates that have guaranteed-invalid property names (#16306) (vv4.0.10, release notes)
  • Replaced the existing candidate extractor with a brand new extractor to improve maintainability, correctness, and performance (#16306) (vv4.0.10, release notes)
  • Make JS APIs available to plugins and configs in the Standalone CLI (#15934) (vv4.0.9, release notes)
  • Vite: Don't crash when importing a virtual module from JavaScript that ends in .css (#16780) (vv4.0.9, release notes)
  • Fix an issue where @​reference "…" would sometimes omit keyframe animations (#16774) (vv4.0.9, release notes)
  • Ensure z-*! utilities are properly marked as !important (#16795) (vv4.0.9, release notes)
  • Read UTF-8 CSS files that start with a byte-order mark (BOM) (#16800) (vv4.0.9, release notes)
  • Ensure nested functions in selectors used with JavaScript plugins are not truncated (#16802) (vv4.0.9, release notes)
  • Emit variable fallbacks when using @​reference "…" instead of duplicate CSS variable declarations (#16774) (vv4.0.9, release notes)
  • Allow @​import with theme(…) options for stylesheets that contain more than just @​theme rules (#16514) (vv4.0.8, release notes)
  • Don't add !important to CSS variable declarations when using the important modifier (#16668) (vv4.0.8, release notes)
  • Vite: Ignore files and directories specified in your .gitignore file when using automatic source detection(#16631) (vv4.0.8, release notes)
  • Vite: Don't rely on the module graph for detecting candidates to ensure setups with multiple Vite builds work as expected (#16631) (vv4.0.8, release notes)
  • Vite: Ensure Astro production builds always contain classes used in client-only components (#16631) (vv4.0.8, release notes)
  • Vite: Always scan raw file contents for utility classes before any other transforms have been applied to ensure utility classes are scanned without any additional escaping (#16631) (vv4.0.8, release notes)
  • Ensure utilities with more declarations are always sorted before utilities with fewer declarations when utilities only define CSS variables (#16715) (vv4.0.8, release notes)
  • Only include translate-z-px utilities once in compiled CSS (#16718) (vv4.0.8, release notes)
  • Don't include theme variables that aren't used in compiled CSS (#16211, #16676) (vv4.0.8, release notes)
  • Export tailwindcss/lib/util/flattenColorPalette.js for backward compatibility (#16411) (vv4.0.7, release notes)
  • Fix sorting of numeric utility suggestions when they have different magnitudes (#16414) (vv4.0.7, release notes)
  • Show suggestions for fractions in IntelliSense (#16353) (vv4.0.7, release notes)
  • Don’t replace _ in suggested theme keys (#16433) (vv4.0.7, release notes)
  • Ensure --default-outline-width can be used to change the outline-width value of the outline utility (#16469) (vv4.0.7, release notes)
  • Ensure drop shadow utilities don't inherit unexpectedly (#16471) (vv4.0.7, release notes)
  • Export config and plugin types from tailwindcss/plugin for backward compatibility (#16505) (vv4.0.7, release notes)
  • Ensure JavaScript plugins that emit nested rules referencing the utility name work as expected (#16539) (vv4.0.7, release notes)
  • Statically link Visual Studio redistributables in @​tailwindcss/oxide Windows builds (#16602) (vv4.0.7, release notes)
  • Ensure that Next.js splat routes are scanned for classes (#16457) (vv4.0.7, release notes)
  • Pin exact version of tailwindcss in @​tailwindcss/* packages (#16623) (vv4.0.7, release notes)
  • Upgrade: Report errors when updating dependencies (#16504) (vv4.0.7, release notes)
  • Upgrade: Ensure a darkMode JS config setting with block syntax converts to use @​slot (#16507) (vv4.0.7, release notes)
  • Upgrade: Ensure the latest version of tailwindcss and @​tailwindcss/postcss are installed when upgrading (#16620) (vv4.0.7, release notes)
  • Revert change to no longer include theme variables that aren't used in compiled CSS (#16403) (vv4.0.6, release notes)
  • Add @​theme static option for always including theme variables in compiled CSS (#16211) (vv4.0.5, release notes)
  • Remove rogue console.log from @​tailwindcss/vite (#16307) (vv4.0.5, release notes)
  • Fix a crash when setting JS theme values to null (#16210) (vv4.0.4, release notes)
  • Ensure escaped underscores in CSS variables in arbitrary values are properly unescaped (#16206) (vv4.0.4, release notes)
  • Ensure that the containers JS theme key is added to the --container-* namespace (#16169) (vv4.0.4, release notes)
  • Ensure theme @​keyframes are generated even if an --animation-* variable spans multiple lines (#16237) (vv4.0.4, release notes)
  • Vite: Skip parsing stylesheets with the ?commonjs-proxy flag (#16238) (vv4.0.4, release notes)
  • Fix order-first and order-last for Firefox (#16266) (vv4.0.4, release notes)
  • Fix support for older instruction sets on Linux x64 builds of the standalone CLI (#16244) (vv4.0.4, release notes)
  • Ensure NODE_PATH is respected when resolving JavaScript and CSS files (#16274) (vv4.0.4, release notes)
  • Ensure Node addons are packaged correctly with FreeBSD builds (#16277) (vv4.0.4, release notes)
  • Fix an issue where @​variant inside a referenced stylesheet could cause a stack overflow (#16300) (vv4.0.4, release notes)
  • Fix incorrect removal of @​import url(); (#16144) (vv4.0.3, release notes)
  • Only generate positive grid-cols-* and grid-rows-* utilities (#16020) (vv4.0.2, release notes)
  • Ensure escaped theme variables are handled correctly (#16064) (vv4.0.2, release notes)
  • Ensure we process Tailwind CSS features when only using @​reference or @​variant (#16057) (vv4.0.2, release notes)
  • Refactor gradient implementation to work around prettier/prettier#17058 (#16072) (vv4.0.2, release notes)
  • Vite: Ensure hot-reloading works with SolidStart setups (#16052) (vv4.0.2, release notes)
  • Vite: Fix a crash when starting the development server in SolidStart setups (#16052) (vv4.0.2, release notes)
  • Vite: Don't rebase URLs that appear to be aliases (#16078) (vv4.0.2, release notes)
  • Vite: Transform <style> blocks in HTML files (#16069) (vv4.0.2, release notes)
  • Prevent camel-casing CSS custom properties added by JavaScript plugins (#16103) (vv4.0.2, release notes)
  • Do not emit @​keyframes in @​theme reference (#16120) (vv4.0.2, release notes)
  • Discard invalid declarations when parsing CSS (#16093) (vv4.0.2, release notes)
  • Do not emit empty CSS rules and at-rules (#16121) (vv4.0.2, release notes)
  • Handle @​variant when at the top-level of a stylesheet (#16129) (vv4.0.2, release notes)
  • Include :open pseudo-class in existing open variant (#15349) (vv4.0.1, release notes)
  • Remove invalid min-w/h-none utilities (#15845) (vv4.0.1, release notes)
  • Discard CSS variable shorthand utilities that don't use valid CSS variables (#15738) (vv4.0.1, release notes)
  • Ensure font-size utilities with none modifier have a line-height set e.g. text-sm/none (#15921) (vv4.0.1, release notes)
  • Ensure font-size utilities with unknown modifier don't generate CSS (#15921) (vv4.0.1, release notes)
  • Don’t suggest font weight utilities more than once (#15857) (vv4.0.1, release notes)
  • Suggest container query variants (#15857) (vv4.0.1, release notes)
  • Disable bare value suggestions when not using the --spacing variable (#15857) (vv4.0.1, release notes)
  • Ensure suggested classes are properly sorted (#15857) (vv4.0.1, release notes)
  • Don’t look at .gitignore files outside initialized repos (#15941) (vv4.0.1, release notes)
  • Find utilities when using the Svelte class shorthand syntax across multiple lines (#15974) (vv4.0.1, release notes)
  • Ensure that @​tailwindcss/browser does not pollute the global namespace (#15978) (vv4.0.1, release notes)
  • Ensure that tailwind-merge is not scanned when using the Vite plugin (#16005) (vv4.0.1, release notes)
  • Ensure CSS theme variables are available within shadow roots (#15975) (vv4.0.1, release notes)
  • Fix crash when project lives in the / directory (#15988) (vv4.0.1, release notes)
  • Ensure custom variants have a non-empty selector list (#16009) (vv4.0.1, release notes)
  • Upgrade: Ensure JavaScript config files on different drives are correctly migrated (#15927) (vv4.0.1, release notes)
  • Upgrade: Migrate leading-[1] to leading-none (#16004) (vv4.0.1, release notes)
  • Upgrade: Do not migrate arbitrary leading utilities to bare values (#16004) (vv4.0.1, release notes)
  • Tailwind CSS framework optimized for performance (vv4.0.0, release notes)
  • Configuration experience reimagined (vv4.0.0, release notes)
  • Customization experience reimagined (vv4.0.0, release notes)
  • Leverages latest web platform advancements (vv4.0.0, release notes)
  • New high-performance engine — where full builds are up to 5x faster, and incremental builds are over 100x faster — and measured in microseconds. (vv4.0.0, release notes)
  • Designed for the modern web — built on cutting-edge CSS features like cascade layers, registered custom properties with @​property, and color-mix(). (vv4.0.0, release notes)
  • Simplified installation — fewer dependencies, zero configuration, and just a single line of code in your CSS file. (vv4.0.0, release notes)
  • First-party Vite plugin — tight integration for maximum performance and minimum configuration. (vv4.0.0, release notes)
  • Automatic content detection — all of your template files are discovered automatically, with no configuration required. (vv4.0.0, release notes)
  • Built-in import support — no additional tooling necessary to bundle multiple CSS files. (vv4.0.0, release notes)
  • CSS-first configuration — a reimagined developer experience where you customize and extend the framework directly in CSS instead of a JavaScript configuration file. (vv4.0.0, release notes)
  • CSS theme variables — all of your design tokens exposed as native CSS variables so you can access them anywhere. (vv4.0.0, release notes)
  • Dynamic utility values and variants — stop guessing what values exist in your spacing scale, or extending your configuration for things like basic data attributes. (vv4.0.0, release notes)
  • Modernized P3 color palette — a redesigned, more vivid color palette that takes full advantage of modern display technology. (vv4.0.0, release notes)
  • Container queries — first-class APIs for styling elements based on their container size, no plugins required. (vv4.0.0, release notes)
  • New 3D transform utilities — transform elements in 3D space directly in your HTML. (vv4.0.0, release notes)
  • Expanded gradient APIs — radial and conic gradients, interpolation modes, and more. (vv4.0.0, release notes)
  • @​starting-style support — a new variant you can use to create enter and exit transitions, without the need for JavaScript. (vv4.0.0, release notes)
  • not-* variant — style an element only when it doesn't match another variant, custom selector, or media or feature query. (vv4.0.0, release notes)
  • Even more new utilities and variants — including support for color-scheme, field-sizing, complex shadows, inert, and more. (vv4.0.0, release notes)
  • Add support for using @​variant to use variants in your CSS (#15663) (vv4.0.0-beta.10, release notes)
  • Include outline-color when transitioning colors (#15690) (vv4.0.0-beta.10, release notes)
  • Add missing main and browser fields for @​tailwindcss/browser (#15594) (vv4.0.0-beta.10, release notes)
  • Support escaping * in theme namespace syntax (e.g.: --color-\*: initial;) (#15603) (vv4.0.0-beta.10, release notes)
  • Respect @​theme options when resolving values in custom functional utilities (#15623) (vv4.0.0-beta.10, release notes)
  • Discard invalid variants (e.g. data-checked-[selected=1]:*) (#15629) (vv4.0.0-beta.10, release notes)
  • Ensure -outline-offset-* utilities are suggested in IntelliSense (#15646) (vv4.0.0-beta.10, release notes)
  • Write to stdout when --output is set to - or omitted with @​tailwindcss/cli (#15656) (vv4.0.0-beta.10, release notes)
  • Prevent not-* from being used with variants that have multiple sibling rules (#15689) (vv4.0.0-beta.10, release notes)
  • Upgrade (experimental): Pretty print --spacing(…) to prevent ambiguity (#15596) (vv4.0.0-beta.10, release notes)
  • Use more modern --alpha(color / 50%) syntax instead of --alpha(color, 50%) (#15665) (vv4.0.0-beta.10, release notes)
  • Rename @​variant to @​custom-variant (#15663) (vv4.0.0-beta.10, release notes)
  • Change outline-hidden to set outline-style: none except in forced colors mode (#15690) (vv4.0.0-beta.10, release notes)
  • Add @​tailwindcss/browser package to run Tailwind CSS in the browser (#15558) (vv4.0.0-beta.9, release notes)
  • Add @​reference "…" API as a replacement for the previous @​import "…" reference option (#15565) (vv4.0.0-beta.9, release notes)
  • Add support for defining functional utilities in CSS (#15455) (vv4.0.0-beta.9, release notes)
  • Add new --spacing(…), --alpha(…), and --theme(…) CSS functions (#15572) (vv4.0.0-beta.9, release notes)
  • Add musl-based Linux builds of the standalone CLI (#15567) (vv4.0.0-beta.9, release notes)
  • Improve performance of internal AST manipulations (#15529) (vv4.0.0-beta.9, release notes)
  • Use the correct property value for place-content-between, place-content-around, and place-content-evenly utilities (#15440) (vv4.0.0-beta.9, release notes)
  • Don’t detect arbitrary properties when preceded by an escape (#15456) (vv4.0.0-beta.9, release notes)
  • Fix incorrectly named bg-round and bg-space utilities to bg-repeat-round to bg-repeat-space (#15462) (vv4.0.0-beta.9, release notes)
  • Fix inset-shadow-* suggestions in IntelliSense (#15471) (vv4.0.0-beta.9, release notes)
  • Only compile arbitrary values ending in ] (#15503) (vv4.0.0-beta.9, release notes)
  • Ensure @​apply rules are processed in the correct order (#15542) (vv4.0.0-beta.9, release notes)
  • Allow negative utility names in @​utility (#15573) (vv4.0.0-beta.9, release notes)
  • Remove all @​keyframes contributed by JavaScript plugins when using @​reference imports (#15581) (vv4.0.0-beta.9, release notes)
  • Upgrade (experimental): Do not extract class names from functions (e.g. shadow in filter: 'drop-shadow(…)') (#15566) (vv4.0.0-beta.9, release notes)
  • Upgrade (experimental): Migrate theme(spacing.2) to --spacing(2) (#15579) (vv4.0.0-beta.9, release notes)
  • Remove --container-prose in favor of a deprecated --max-width-prose theme variable so that *-prose is only available for max-width utilities and only for backward compatibility (#15439) (vv4.0.0-beta.9, release notes)
  • Use Vite post-processor APIs for processing Svelte <style> blocks (#15436) (vv4.0.0-beta.9, release notes)
  • Ensure Symbol.dispose and Symbol.asyncDispose are polyfilled (#15404) (vv4.0.0-beta.8, release notes)
  • Export tailwindcss/lib/util/flattenColorPalette for backward compatibility (#15318) (vv4.0.0-beta.7, release notes)
  • Improve debug logs to get better insights (#15303) (vv4.0.0-beta.7, release notes)
  • Fix dependency related warnings when using @​tailwindcss/postcss on Windows (#15321) (vv4.0.0-beta.7, release notes)
  • Skip creating a compiler for CSS files that should not be processed (#15340) (vv4.0.0-beta.7, release notes)
  • Fix missing shadow-none suggestion in IntelliSense (#15342) (vv4.0.0-beta.7, release notes)
  • Optimize AST before printing for IntelliSense (#15347) (vv4.0.0-beta.7, release notes)
  • Generate vendor prefixes for Chrome 111+ (e.g. -webkit-background-clip: text) (#15389) (vv4.0.0-beta.7, release notes)
  • Rename --aspect-ratio-* theme key to --aspect-* (#15365) (vv4.0.0-beta.7, release notes)
  • Derive aspect-video utility from theme (#15365) (vv4.0.0-beta.7, release notes)
  • Ensure @​import "…" reference never generates utilities (#15307) (vv4.0.0-beta.6, release notes)
  • Parallelize parsing of individual source files (#15270) (vv4.0.0-beta.5, release notes)
  • Add new @​import "…" reference option for importing Tailwind CSS configuration details into another CSS entry point without duplicating CSS (#15228) (vv4.0.0-beta.5, release notes)
  • Improve performance of @​tailwindcss/postcss by translating between internal data structures and PostCSS nodes directly without additional parsing or stringification (#15297) (vv4.0.0-beta.5, release notes)
  • Ensure absolute URLs inside imported CSS files are not rebased when using @​tailwindcss/vite (#15275) (vv4.0.0-beta.5, release notes)
  • Fix issues with dev servers using Svelte 5 with @​tailwindcss/vite (#15274) (vv4.0.0-beta.5, release notes)
  • Support installing @​tailwindcss/vite in Vite 6 projects (#15274) (vv4.0.0-beta.5, release notes)
  • Fix resolution of imported CSS files in SSR builds with @​tailwindcss/vite (#15279) (vv4.0.0-beta.5, release notes)
  • Ensure other plugins can run after @​tailwindcss/postcss (#15273) (vv4.0.0-beta.5, release notes)
  • Rebase URLs inside imported CSS files when using Vite with the @​tailwindcss/postcss extension (#15273) (vv4.0.0-beta.5, release notes)
  • Fix missing font family suggestions in IntelliSense (#15288) (vv4.0.0-beta.5, release notes)
  • Don't scan source files for utilities unless @​tailwind utilities is present in the CSS in @​tailwindcss/postcss and @​tailwindcss/vite (#15226) (vv4.0.0-beta.4, release notes)
  • Skip reserializing CSS files that don't use Tailwind features in @​tailwindcss/postcss and @​tailwindcss/vite (#15226) (vv4.0.0-beta.4, release notes)
  • Upgrade (experimental): Do not migrate the overflow-clip utility (#15244) (vv4.0.0-beta.4, release notes)
  • Upgrade (experimental): Rename backdrop-blur to backdrop-blur-sm and backdrop-blur-sm to backdrop-blur-xs (#15242) (vv4.0.0-beta.4, release notes)
  • Ensure any necessary vendor prefixes are generated for iOS Safari, Firefox, and Chrome (#15166) (vv4.0.0-beta.3, release notes)
  • Ensure .group and .peer are prefixed when using the prefix(…) option (#15174) (vv4.0.0-beta.3, release notes)
  • Ensure 3D transforms render correctly in Safari (#15179) (vv4.0.0-beta.3, release notes)
  • Ensure --spacing-* variables take precedence over --container-* variables (#15180) (vv4.0.0-beta.3, release notes)
  • Fix scanning classes delimited by tab characters (#15169) (vv4.0.0-beta.3, release notes)
  • Ensure opacity modifiers and semi-transparent gradients render correctly by default in Safari (#15201) (vv4.0.0-beta.3, release notes)
  • Fix element size thrashing when transitioning gradients on elements with a defined font-size in Safari (#15216) (vv4.0.0-beta.3, release notes)
  • Ensure translate-* utilities work with arbitrary values that use calc(…) (#15215) (vv4.0.0-beta.3, release notes)
  • Ensure Node addons are packaged correctly with Windows ARM builds (#15171) (vv4.0.0-beta.3, release notes)
  • Ensure the Vite plugin resolves CSS and JS files according to the configured resolver conditions ([#15173])(Vite: Use Vite resolvers for CSS and JS files tailwindlabs/tailwindcss#15173) (vv4.0.0-beta.3, release notes)
  • Upgrade (experimental): Migrate prefixes for .group and .peer classes (#15208) (vv4.0.0-beta.3, release notes)
  • Interpolate gradients using OKLAB instead of OKLCH by default (#15201) (vv4.0.0-beta.3, release notes)
  • Error when layer(…) in @​import is not first in the list of functions/conditions (#15109) (vv4.0.0-beta.3, release notes)
  • Use unitless line-height values for font-size variables in default theme (#15216) (vv4.0.0-beta.3, release notes)
  • Don't register custom properties with explicit types unless those custom properties need to be animateable (#15215) (vv4.0.0-beta.3, release notes)
  • Use configured --letter-spacing values for custom font size utilities (#15099) (vv4.0.0-beta.2, release notes)
  • Ensure space-x/y-* and divide-x/y-* with variants can undo space-x/y-reverse and divide-x/y-reverse (#15094) (vv4.0.0-beta.2, release notes)
  • Don't print minified code when the build fails in the CLI (#15106) (vv4.0.0-beta.2, release notes)
  • Generate the correct CSS for the break-keep utility (#15108) (vv4.0.0-beta.2, release notes)
  • Detect single word utilities that include numbers (e.g. h1) when scanning files (#15110) (vv4.0.0-beta.2, release notes)
  • Upgrade (experimental): Always add layer(…) as the first param to @​import (#15102) (vv4.0.0-beta.2, release notes)
  • Revert the new base styles for buttons and form controls (#15100) (vv4.0.0-beta.2, release notes)
  • Built for performance — full builds in the new engine are up to 5x faster, and incremental builds are over 100x faster — and measured in microseconds. (vv4.0.0-beta.1, release notes)
  • Unified toolchain — built-in import handling, vendor prefixing, and syntax transforms, with no additional tooling required. (vv4.0.0-beta.1, release notes)
  • Designed for the modern web — built on native cascade layers, wide-gamut colors, and including first-class support for modern CSS features like container queries, @​starting-style, popovers, and more. (vv4.0.0-beta.1, release notes)
  • Add consistent base styles for buttons and form controls (#15036) (vv4.0.0-alpha.36, release notes)
  • Upgrade (experimental): Convert group-[]:flex to in-[.group]:flex (#15054) (vv4.0.0-alpha.36, release notes)
  • Upgrade (experimental): Add form reset styles to CSS files for compatibility with v3 (#15036) (vv4.0.0-alpha.36, release notes)
  • Upgrade (experimental): Migrate ring to ring-3 (#15063) (vv4.0.0-alpha.36, release notes)
  • Upgrade (experimental): Ensure migrating to the in-* requires a descendant selector (#15054) (vv4.0.0-alpha.36, release notes)
  • Use single drop shadow values instead of multiple (#15056) (vv4.0.0-alpha.36, release notes)
  • Do not parse invalid candidates with empty arbitrary values (#15055) (vv4.0.0-alpha.36, release notes)
  • Reintroduce max-w-screen-* utilities that read from the --breakpoint namespace as deprecated utilities (#15013) (vv4.0.0-alpha.35, release notes)
  • Support using CSS variables as arbitrary values without var(…) by using parentheses instead of square brackets (e.g. bg-(--my-color)) (#15020) (vv4.0.0-alpha.35, release notes)
  • Add new in-* variant (#15025) (vv4.0.0-alpha.35, release notes)
  • Bundle @​tailwindcss/forms, @​tailwindcss/typography, and @​tailwindcss/aspect-ratio with the standalone CLI (#15028) (vv4.0.0-alpha.35, release notes)
  • Allow addUtilities() and addComponents() to work with child combinators and other complex selectors (#15029) (vv4.0.0-alpha.35, release notes)
  • Support colors that use <alpha-value> in JS configs and plugins (#15033) (vv4.0.0-alpha.35, release notes)
  • Add new transition-discrete and transition-normal utilities for transition-behavior (#15051) (vv4.0.0-alpha.35, release notes)
  • Upgrade (experimental): Migrate [&>*] to the * variant (#15022) (vv4.0.0-alpha.35, release notes)
  • Upgrade (experimental): Warn when trying to migrating a project that is not on Tailwind CSS v3 (#15015) (vv4.0.0-alpha.35, release notes)
  • Ensure flex is suggested (#15014) (vv4.0.0-alpha.35, release notes)
  • Improve module resolution for cjs-only and esm-only plugins (#15041) (vv4.0.0-alpha.35, release notes)
  • Perform calc(…) on just values for negative -rotate-* utilities, not on the rotateX/Y/Z(…) functions themselves (#15044) (vv4.0.0-alpha.35, release notes)
  • Upgrade (experimental): Resolve imports when specifying a CSS entry point on the command-line (#15010) (vv4.0.0-alpha.35, release notes)
  • Upgrade (experimental): Resolve nearest Tailwind config file when CSS file does not contain @​config (#15001) (vv4.0.0-alpha.35, release notes)
  • Upgrade (experimental): Improve output when CSS imports can not be found (#15038) (vv4.0.0-alpha.35, release notes)
  • Upgrade (experimental): Ignore analyzing imports with external URLs (e.g.: @​import "https://fonts.google.com") (#15040) (vv4.0.0-alpha.35, release notes)
  • Upgrade (experimental): Use resolveJsId when resolving tailwindcss/package.json (#15041) (vv4.0.0-alpha.35, release notes)
  • Upgrade (experimental): Ensure children of Tailwind root file are not considered Tailwind root files (#15048) (vv4.0.0-alpha.35, release notes)
  • Bring back support for color opacity modifiers to read from --opacity-* theme values (#14278) (vv4.0.0-alpha.35, release notes)
  • Support opacity values in increments of 0.25 by default (#14980) (vv4.0.0-alpha.34, release notes)
  • Support specifying the color interpolation method for gradients via modifier (#14984) (vv4.0.0-alpha.34, release notes)
  • Reintroduce container component as a utility (#14993, #14999) (vv4.0.0-alpha.34, release notes)
  • Upgrade (experimental): Migrate container component configuration to CSS (#14999) (vv4.0.0-alpha.34, release notes)
  • Ensure that CSS inside Svelte <style> blocks always run the expected Svelte processors when using the Vite extension (#14981) (vv4.0.0-alpha.34, release notes)
  • Upgrade (experimental): Ensure it's safe to migrate blur, rounded, or shadow (#14979) (vv4.0.0-alpha.34, release notes)
  • Upgrade (experimental): Do not rename classes using custom defined theme values (#14976) (vv4.0.0-alpha.34, release notes)
  • Upgrade (experimental): Ensure @​config is injected in nearest common ancestor stylesheet (#14989) (vv4.0.0-alpha.34, release notes)
  • Upgrade (experimental): Add missing layer(…) to imports above Tailwind directives (#14982) (vv4.0.0-alpha.34, release notes)
  • Don't reset horizontal padding on date/time pseudo-elements (#14959) (vv4.0.0-alpha.33, release notes)
  • Don't emit calc() with invalid values for bare values that aren't integers in spacing utilities (#14962) (vv4.0.0-alpha.33, release notes)
  • Ensure spacing scale values work as line-height modifiers (#14966) (vv4.0.0-alpha.33, release notes)
  • Support derived spacing scales based on a single --spacing theme value (#14857) (vv4.0.0-alpha.32, release notes)
  • Add svh, dvh, svw, dvw, and auto values to all width/height/size utilities (#14857) (vv4.0.0-alpha.32, release notes)
  • Add new ** variant (#14903) (vv4.0.0-alpha.32, release notes)
  • Process <style> blocks inside Svelte files when using the Vite extension (#14151) (vv4.0.0-alpha.32, release notes)
  • Normalize date/time input styles in Preflight (#14931) (vv4.0.0-alpha.32, release notes)
  • Upgrade (experimental): Migrate grid-cols-[subgrid] and grid-rows-[subgrid] to grid-cols-subgrid and grid-rows-subgrid (#14840) (vv4.0.0-alpha.32, release notes)
  • Upgrade (experimental): Support migrating projects with multiple config files (#14863) (vv4.0.0-alpha.32, release notes)
  • Upgrade (experimental): Rename shadow to shadow-sm, shadow-sm to shadow-xs, and shadow-xs to shadow-2xs (#14875) (vv4.0.0-alpha.32, release notes)
  • Upgrade (experimental): Migrate theme() usage and JS config files to use the new --spacing multiplier where possible (#14905) (vv4.0.0-alpha.32, release notes)
  • Upgrade (experimental): Migrate arbitrary values in variants to built-in values where possible (#14841) (vv4.0.0-alpha.32, release notes)
  • Detect classes in new files when using @​tailwindcss/postcss (#14829) (vv4.0.0-alpha.32, release notes)
  • Fix crash when using @​source containing .. (#14831) (vv4.0.0-alpha.32, release notes)
  • Ensure instances of the same variant with different values are always sorted deterministically (e.g. data-focus:flex and data-active:flex) (#14835) (vv4.0.0-alpha.32, release notes)
  • Ensure --inset-ring=* and --inset-shadow-* variables are ignored by inset-* utilities (#14855) (vv4.0.0-alpha.32, release notes)
  • Ensure url(…) containing special characters such as ; or {} end up in one declaration (#14879) (vv4.0.0-alpha.32, release notes)
  • Ensure adjacent rules are merged together after handling nesting when generating optimized CSS (#14873) (vv4.0.0-alpha.32, release notes)
  • Rebase url() inside imported CSS files when using Vite (#14877) (vv4.0.0-alpha.32, release notes)
  • Ensure that CSS transforms from other Vite plugins correctly work in full builds (e.g. :deep() in Vue) (#14871) (vv4.0.0-alpha.32, release notes)
  • Ensure the CSS theme() function handles newlines and tabs in its arguments list (#14917) (vv4.0.0-alpha.32, release notes)
  • Don't unset keys like --inset-shadow-* when unsetting keys like --inset-* (#14906) (vv4.0.0-alpha.32, release notes)
  • Ensure spacing utilities with no value (e.g. px or translate-y) don't generate CSS (#14911) (vv4.0.0-alpha.32, release notes)
  • Don't override user-agent background color for input elements in Preflight (#14913) (vv4.0.0-alpha.32, release notes)
  • Don't attempt to convert CSS variables (which should already be percentages) to percentages when used as opacity modifiers (#14916) (vv4.0.0-alpha.32, release notes)
  • Ensure custom utilities registered with the plugin API can start with @ (#14793) (vv4.0.0-alpha.32, release notes)
  • Upgrade (experimental): Install @​tailwindcss/postcss next to tailwindcss (#14830) (vv4.0.0-alpha.32, release notes)
  • Upgrade (experimental): Remove whitespace around , separator when print arbitrary values (#14838) (vv4.0.0-alpha.32, release notes)
  • Upgrade (experimental): Fix crash during upgrade when content globs escape root of project (#14896) (vv4.0.0-alpha.32, release notes)
  • Upgrade (experimental): Don't convert theme(…/15%) to modifier unless it is the entire arbitrary value of a utility (#14922) (vv4.0.0-alpha.32, release notes)
  • Upgrade (experimental): Convert , to in arbitrary grid-cols-*, grid-rows-*, and object-* values (#14927) (vv4.0.0-alpha.32, release notes)
  • Remove --drop-shadow-none from the default theme in favor of a static drop-shadow-none utility (#14847) (vv4.0.0-alpha.32, release notes)
  • Remove fixed line-height theme values and derive leading-* utilites from --spacing-* scale (#14857) (vv4.0.0-alpha.32, release notes)
  • Remove --transition-timing-function-linear from the default theme in favor of a static ease-linear utility (#14880) (vv4.0.0-alpha.32, release notes)
  • Remove default --spacing-* scale in favor of --spacing multiplier (#14857) (vv4.0.0-alpha.32, release notes)
  • Remove var(…) fallbacks from theme values in utilities (#14881) (vv4.0.0-alpha.32, release notes)
  • Remove static font-weight utilities and add --font-weight-* values to the default theme (#14883) (vv4.0.0-alpha.32, release notes)
  • Rename --transition-timing-function-* variables to --ease-* (#14886) (vv4.0.0-alpha.32, release notes)
  • Rename --width-* variables to --container-* (#14898) (vv4.0.0-alpha.32, release notes)
  • Rename --font-size-* variables to --text-* (#14909) (vv4.0.0-alpha.32, release notes)
  • Rename --font-family-* variables to --font-* (#14885) (vv4.0.0-alpha.32, release notes)
  • Rename --letter-spacing-* variables to --tracking-* (#14921) (vv4.0.0-alpha.32, release notes)
  • Rename --line-height-* variables to --leading-* (#14925) (vv4.0.0-alpha.32, release notes)
  • Revert specificity of * variant to match v3 behavior (#14920) (vv4.0.0-alpha.32, release notes)
  • Replace outline-none with outline-hidden, add new simplified outline-none utility (#14926) (vv4.0.0-alpha.32, release notes)
  • Revert adding borders by default to form inputs (#14929) (vv4.0.0-alpha.32, release notes)
  • Deprecate shadow-inner utility (#14933) (vv4.0.0-alpha.32, release notes)
  • Remove --leading-none from the default theme in favor of a static leading-none utility (#14934) (vv4.0.0-alpha.32, release notes)
  • Support specifying the base path for automatic source detection using a source(…) function on @​tailwind utilities or @​import "tailwindcss" (#14820) (vv4.0.0-alpha.31, release notes)
  • Support disabling automatic source detection with source(none) (#14820) (vv4.0.0-alpha.31, release notes)
  • Support passing directories to @​source without needing to pass a complete glob (#14820) (vv4.0.0-alpha.31, release notes)
  • Upgrade (experimental): Bump prettier-plugin-tailwindcss to latest version during upgrade (#14808) (vv4.0.0-alpha.31, release notes)
  • Support calling config() with no arguments in plugin API (#14799) (vv4.0.0-alpha.31, release notes)
  • Use logical *-inline and *-block properties for all x/y utilities like px-*, my-*, scroll-px-*, and inset-y-* (#14805) (vv4.0.0-alpha.31, release notes)
  • Respect automatic source detection heuristics in sources registered with @​source (#14820) (vv4.0.0-alpha.31, release notes)
  • Support not-* with all built-in media query and supports-* variants (#14743) (vv4.0.0-alpha.30, release notes)
  • Support not-* with custom variants containing at-rules (#14743) (vv4.0.0-alpha.30, release notes)
  • Support group-*, peer-*, and has-* with custom variants containing multiple, non-nested style rules (#14743) (vv4.0.0-alpha.30, release notes)
  • Ensure individual logical property utilities are sorted later than left/right pair utilities (#14777) (vv4.0.0-alpha.30, release notes)
  • Don't migrate important modifiers inside conditional statements in Vue and Alpine (e.g. <div v-if="!border" />) (#14774) (vv4.0.0-alpha.30, release notes)
  • Ensure third-party plugins with exports in their package.json are resolved correctly (#14775) (vv4.0.0-alpha.30, release notes)
  • Ensure underscores in the url() function are never unescaped (#14776) (vv4.0.0-alpha.30, release notes)
  • Ensure complex variants are displayed correctly in IntelliSense completions (#14743) (vv4.0.0-alpha.30, release notes)
  • Upgrade (experimental): Ensure @​import statements for relative CSS files are actually migrated to use relative path syntax (#14769) (vv4.0.0-alpha.30, release notes)
  • Upgrade (experimental): Only generate Preflight compatibility styles when Preflight is used (#14773) (vv4.0.0-alpha.30, release notes)
  • Upgrade (experimental): Don't escape underscores when printing theme values migrated to CSS variables in arbitrary values (e.g. m-[var(--spacing-1_5)] instead of m-[var(--spacing-1\_5)]) (#14778) (vv4.0.0-alpha.30, release notes)
  • Upgrade (experimental): Ensure layer(…) on @​import is only removed when @​utility is present (#14783) (vv4.0.0-alpha.30, release notes)
  • Don't convert underscores in the first argument to var() and theme() to spaces (#14776, #14781) (vv4.0.0-alpha.30, release notes)
  • Sort text alignment and wrapping utilities with typography utilities (#14787) (vv4.0.0-alpha.30, release notes)
  • Sort line height and letter spacing utilities before text color utilities (#14787) (vv4.0.0-alpha.30, release notes)
  • Upgrade (experimental): Migrate plugins with options to CSS (#14700) (vv4.0.0-alpha.29, release notes)
  • Upgrade (experimental): Allow JS configuration files with corePlugins options to be migrated to CSS (#14742) (vv4.0.0-alpha.29, release notes)
  • Upgrade (experimental): Migrate @​import statements for relative CSS files to use relative path syntax (e.g. ./file.css) (#14755) (vv4.0.0-alpha.29, release notes)
  • Upgrade (experimental): Migrate max-w-screen-* utilities to max-w-[var(…)](#14754) (vv4.0.0-alpha.29, release notes)
  • Upgrade (experimental): Migrate @​variants and @​responsive directives (#14748) (vv4.0.0-alpha.29, release notes)
  • Upgrade (experimental): Migrate @​screen directive (#14749) (vv4.0.0-alpha.29, release notes)
  • Upgrade (experimental): Generate compatibility styles for legacy default border color (#14746) (vv4.0.0-alpha.29, release notes)
  • Allow spaces spaces around operators in attribute selector variants (#14703) (vv4.0.0-alpha.29, release notes)
  • Ensure color opacity modifiers work with OKLCH colors (#14741) (vv4.0.0-alpha.29, release notes)
  • Ensure changes to the input CSS file result in a full rebuild (#14744) (vv4.0.0-alpha.29, release notes)
  • Add postcss as a dependency of @​tailwindcss/postcss (#14750) (vv4.0.0-alpha.29, release notes)
  • Ensure the JS theme() function can reference CSS theme variables that contain special characters without escaping them (e.g. referencing --width-1\/2 as theme('width.1/2')) (#14739) (vv4.0.0-alpha.29, release notes)
  • Ensure JS theme keys containing special characters correctly produce utility classes (e.g. '1/2': 50% to w-1/2) (#14739) (vv4.0.0-alpha.29, release notes)
  • Always emit keyframes registered in addUtilities (#14747) (vv4.0.0-alpha.29, release notes)
  • Ensure loading stylesheets via the ?raw and ?url static asset query works when using the Vite plugin (#14716) (vv4.0.0-alpha.29, release notes)
  • Upgrade (experimental): Migrate flex-grow to grow and flex-shrink to shrink (#14721) (vv4.0.0-alpha.29, release notes)
  • Upgrade (experimental): Minify arbitrary values when printing candidates (#14720) (vv4.0.0-alpha.29, release notes)
  • Upgrade (experimental): Ensure legacy theme values ending in 1 (like theme(spacing.1)) are correctly migrated to custom properties (#14724) (vv4.0.0-alpha.29, release notes)
  • Upgrade (experimental): Migrate arbitrary values to bare values for the from-*, via-*, and to-* utilities (#14725) (vv4.0.0-alpha.29, release notes)
  • Upgrade (experimental): Ensure layer(utilities) is removed from @​import to keep @​utility top-level (#14738) (vv4.0.0-alpha.29, release notes)
  • Upgrade (experimental): Ensure JS theme keys with special characters are escaped when migrated to CSS variables (#14736) (vv4.0.0-alpha.29, release notes)
  • Upgrade (experimental): Don't migrate important modifiers that are actually logical negations (e.g. let foo = !border to let foo = border!) (#14737) (vv4.0.0-alpha.29, release notes)
  • Require a relative path prefix for importing relative CSS files (e.g. @​import './styles.css' instead of @​import 'styles.css') (#14755) (vv4.0.0-alpha.29, release notes)
  • Upgrade (experimental): Don't create @​source rules for content paths that are already covered by automatic source detection (#14714) (vv4.0.0-alpha.29, release notes)
  • Add first draft of new wide-gamut color palette (#14693) (vv4.0.0-alpha.28, release notes)
  • Support linear gradient angles as bare values (#14707) (vv4.0.0-alpha.28, release notes)
  • Interpolate gradients in OKLCH by default (#14708) (vv4.0.0-alpha.28, release notes)
  • Upgrade (experimental): Migrate theme(…) calls to var(…) or to the modern theme(…) syntax (#14664, #14695) (vv4.0.0-alpha.28, release notes)
  • Upgrade (experimental): Support migrating JS configurations to CSS that contain functions inside the theme object (#14675) (vv4.0.0-alpha.28, release notes)
  • Ensure theme values defined outside of extend in JS configuration files overwrite all existing values for that namespace (#14672) (vv4.0.0-alpha.28, release notes)
  • Remove unnecessary variable fallbacks in gradient utilities (#14705) (vv4.0.0-alpha.28, release notes)
  • Upgrade (experimental): Speed up template migrations (#14679) (vv4.0.0-alpha.28, release notes)
  • Upgrade (experimental): Don't generate invalid CSS when migrating a complex screens config (#14691) (vv4.0.0-alpha.28, release notes)
  • Add support for tailwindcss/colors.js, tailwindcss/defaultTheme.js, and tailwindcss/plugin.js exports (#14595) (vv4.0.0-alpha.27, release notes)
  • Support keyframes in JS config file themes (#14594) (vv4.0.0-alpha.27, release notes)
  • Support the color parameter in JS theme configuration callbacks (#14651) (vv4.0.0-alpha.27, release notes)
  • Support using the object parameter in the JS theme configuration callback as theme() function (#14659) (vv4.0.0-alpha.27, release notes)
  • Upgrade (experimental): Automatically discover JavaScript config files (#14597) (vv4.0.0-alpha.27, release notes)
  • Upgrade (experimental): Inject @​config "…" when a tailwind.config.{js,ts,…} is detected (#14635) (vv4.0.0-alpha.27, release notes)
  • Upgrade (experimental): Migrate @​media screen(…) when running codemods (#14603) (vv4.0.0-alpha.27, release notes)
  • Upgrade (experimental): Migrate aria-*, data-*, and supports-* variants from arbitrary values to bare values (#14644) (vv4.0.0-alpha.27, release notes)
  • Upgrade (experimental): Migrate arbitrary values to bare values (#14669) (vv4.0.0-alpha.27, release notes)
  • Upgrade (experimental): Migrate legacy classes to the v4 alternative (#14643) (vv4.0.0-alpha.27, release notes)
  • Upgrade (experimental): Migrate static JS configurations to CSS (#14639, #14650, #14648, #14666) (vv4.0.0-alpha.27, release notes)
  • Upgrade (experimental): Migrate v3 PostCSS setups to v4 in some cases (#14612) (vv4.0.0-alpha.27, release notes)
  • Don’t crash when scanning a candidate equal to the configured prefix (#14588) (vv4.0.0-alpha.27, release notes)
  • Ensure there's always a space before !important when stringifying CSS (#14611) (vv4.0.0-alpha.27, release notes)
  • Don't set display: none on elements that use hidden="until-found" (#14631) (vv4.0.0-alpha.27, release notes)
  • Ensure the CSS theme() function resolves to the right value in some compatibility situations (#14614) (vv4.0.0-alpha.27, release notes)
  • Fix issue that could cause the CLI to crash when files are deleted while watching (#14616) (vv4.0.0-alpha.27, release notes)
  • Ensure custom variants using the JS API have access to modifiers (#14637) (vv4.0.0-alpha.27, release notes)
  • Ensure auto complete suggestions work when using matchUtilities (#14589) (vv4.0.0-alpha.27, release notes)
  • Pass options when using addComponents and matchComponents (#14590) (vv4.0.0-alpha.27, release notes)
  • Ensure boxShadow and animation theme keys in JS config files are accessible under --shadow-* and --animate-* using the theme() function (#14642) (vv4.0.0-alpha.27, release notes)
  • Ensure all theme keys with new names are also accessible under their old names when using the theme() function with the legacy dot notation syntax (#14642) (vv4.0.0-alpha.27, release notes)
  • Ensure var(…) can be used as the opacity value inside the theme([path] / [modifier]) function (#14653) (vv4.0.0-alpha.27, release notes)
  • Ensure font-stretch utilities only accepts positive integer bare values (#14670) (vv4.0.0-alpha.27, release notes)
  • Upgrade (experimental): Ensure CSS before a layer stays unlayered when running codemods (#14596) (vv4.0.0-alpha.27, release notes)
  • Upgrade (experimental): Resolve issues where some prefixed candidates were not properly migrated (#14600) (vv4.0.0-alpha.27, release notes)
  • Add support for prefixes (#14501) (vv4.0.0-alpha.26, release notes)
  • Expose timing information in debug mode (#14553) (vv4.0.0-alpha.26, release notes)
  • Add support for blocklist in JS config files (#14556) (vv4.0.0-alpha.26, release notes)
  • Add color-scheme utilities (#14567) (vv4.0.0-alpha.26, release notes)
  • Add support for important option in JS config files (#14448) (vv4.0.0-alpha.26, release notes)
  • Upgrade (experimental): Convert @​import "tailwindcss/tailwind.css" to @​import "tailwindcss" in CSS files (#14514) (vv4.0.0-alpha.26, release notes)
  • Upgrade (experimental): Apply all utility upgrades to @​apply in CSS files (#14574) (vv4.0.0-alpha.26, release notes)
  • Upgrade (experimental): Update variant order in template files (#14524) (vv4.0.0-alpha.26, release notes)
  • Upgrade (experimental): Convert bg-gradient-* utilities to bg-linear-* in template files (#14537) (vv4.0.0-alpha.26, release notes)
  • Upgrade (experimental): Convert legacy prefixes to variant prefixes in template files (#14557) (vv4.0.0-alpha.26, release notes)
  • Upgrade (experimental): Convert bare CSS variables in arbitrary values to var(…) in template files (#14526) (vv4.0.0-alpha.26, release notes)
  • Upgrade (experimental): Convert legacy important modifier syntax to trailing syntax (#14502) (vv4.0.0-alpha.26, release notes)
  • Use the right import base path when using the CLI to reading files from stdin (#14522) (vv4.0.0-alpha.26, release notes)
  • Ensure that @​utility is top-level and cannot be nested (#14525) (vv4.0.0-alpha.26, release notes)
  • Only setup a single compiler in @​tailwindcss/postcss for initial builds (#14565) (vv4.0.0-alpha.26, release notes)
  • Ensure editing imported CSS files triggers a rebuild (#14561) (vv4.0.0-alpha.26, release notes)
  • Ensure @​apply and CSS functions work inside imported stylesheets (#14576) (vv4.0.0-alpha.26, release notes)
  • Upgrade (experimental): Don't wrap custom CSS after utilities in a layer (#14512) (vv4.0.0-alpha.26, release notes)
  • Upgrade (experimental): Don't add empty layer() to @​import at-rules when the styles do not need to be imported into a layer (#14513) (vv4.0.0-alpha.26, release notes)
  • Upgrade (experimental): Don't wrap comment nodes in @​layer when running codemods (#14517) (vv4.0.0-alpha.26, release notes)
  • Upgrade (experimental): Fix scenario where selectors can be lost in multi-selector rules (#14518) (vv4.0.0-alpha.26, release notes)
  • Upgrade (experimental): Ensure custom CSS before @​tailwind rules is wrapped with @​layer base when prepending @​import "tailwindcss" to the top of the file (#14536) (vv4.0.0-alpha.26, release notes)
  • Disallow bare values with decimal places (#14562) (vv4.0.0-alpha.26, release notes)
  • Add support for aria, supports, and data variants defined in JS config files (#14407) (vv4.0.0-alpha.25, release notes)
  • Add @​tailwindcss/upgrade tooling (#14434) (vv4.0.0-alpha.25, release notes)
  • Support screens in JS config files (#14415) (vv4.0.0-alpha.25, release notes)
  • Add bg-radial-* and bg-conic-* utilities for radial and conic gradients (#14467) (vv4.0.0-alpha.25, release notes)
  • Add new shadow-initial and inset-shadow-initial utilities for resetting shadow colors (#14468) (vv4.0.0-alpha.25, release notes)
  • Add field-sizing-* utilities (#14469) (vv4.0.0-alpha.25, release notes)
  • Include gradient color properties in color transitions (#14489) (vv4.0.0-alpha.25, release notes)
  • Experimental: Add CSS codemods for @​apply (#14411) (vv4.0.0-alpha.25, release notes)
  • Experimental: Add CSS codemods for migrating @​tailwind directives (#14411, #14504) (vv4.0.0-alpha.25, release notes)
  • Experimental: Add CSS codemods for migrating @​layer utilities and @​layer components (#14455) (vv4.0.0-alpha.25, release notes)
  • Support borderRadius.* as an alias for --radius-* when using dot notation inside the theme() function (#14436) (vv4.0.0-alpha.25, release notes)
  • Ensure individual variants from groups are always sorted earlier than stacked variants from the same groups (#14431) (vv4.0.0-alpha.25, release notes)
  • Allow anchor-size(…) in arbitrary values (#14394) (vv4.0.0-alpha.25, release notes)
  • Skip candidates with invalid theme() calls (#14437) (vv4.0.0-alpha.25, release notes)
  • Don't generate inset-* utilities for --inset-shadow-* and --inset-ring-* theme values (#14447) (vv4.0.0-alpha.25, release notes)
  • Include --default-transition-* variables in transition-* utility output (#14482) (vv4.0.0-alpha.25, release notes)
  • Ensure rtl and ltr variants work with [dir=auto] (#14306) (vv4.0.0-alpha.25, release notes)
  • Preserve explicit leading-*, tracking-*, and font-{weight} value when overriding font-size (#14403) (vv4.0.0-alpha.25, release notes)
  • Disallow negative bare values in core utilities and variants (#14453) (vv4.0.0-alpha.25, release notes)
  • Preserve explicit shadow color when overriding shadow size (#14458) (vv4.0.0-alpha.25, release notes)
  • Preserve explicit transition duration and timing function when overriding transition property (#14490) (vv4.0.0-alpha.25, release notes)
  • Change the implementation for @​import resolution to speed up initial builds (#14446) (vv4.0.0-alpha.25, release notes)
  • Remove automatic var(…) injection (#13657) (vv4.0.0-alpha.25, release notes)
  • Only apply :hover states on devices that support @​media (hover: hover) (#14500) (vv4.0.0-alpha.25, release notes)
  • Support CSS theme() functions inside other @​custom-media, @​container, and @​supports rules (#14358) (vv4.0.0-alpha.24, release notes)
  • Export Config type from tailwindcss for JS config files (#14360) (vv4.0.0-alpha.24, release notes)
  • Add support for matchVariant plugins using the @​plugin directive (#14371) (vv4.0.0-alpha.24, release notes)
  • Warn if the tailwindcss package is used as a PostCSS plugin (#14378) (vv4.0.0-alpha.24, release notes)
  • Ensure there is always CLI feedback on save even when no new classes were found (#14351) (vv4.0.0-alpha.24, release notes)
  • Properly resolve theme('someKey.DEFAULT') when all --some-key-* keys have a suffix (#14354) (vv4.0.0-alpha.24, release notes)
  • Make sure tuple theme values in JS configs take precedence over @​theme default values (#14359) (vv4.0.0-alpha.24, release notes)
  • Improve IntelliSense completions for border utilities (#14370) (vv4.0.0-alpha.24, release notes)
  • Add opacity modifier support to the theme() function in plugins (#14348) (vv4.0.0-alpha.23, release notes)
References (7)

[1]: Upgrading tailwindcss from v3.4.18 to v4.1.16 - a major version change with breaking configuration syntax

"tailwindcss": "^4.1.16"

[2]: Uses v3 configuration syntax (module.exports) which must be converted to v4 CSS-first configuration or @​config directive

[3]: Uses deprecated @​tailwind directives which must be replaced with @​import 'tailwindcss' in v4

[4]: Uses legacy PostCSS plugin configuration 'tailwindcss: {}' which needs to be updated for v4 compatibility

[5]: Official v4 upgrade guide documents breaking changes: CSS-first configuration replaces JS config, @​import replaces @​tailwind directives, and requires Safari 16.4+ and Chrome 111+ (source link)

[6]: Community reports v4 removes default element styles and dark mode functionality, requiring manual fixes in migrated projects (source link)

[7]: Uses shadow-xl utility - confirmed safe as Tailwind v4 only deprecated shadow-inner, not shadow-xl

<div className="shadow-xl flex flex-row w-screen" style={{height: '20vh'}}>


fossabot analyzed this PR using dependency research.

@jwzhua jwzhua self-requested a review October 26, 2025 00:47
Bumps [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss) from 3.4.18 to 4.1.16.
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.1.16/packages/tailwindcss)

---
updated-dependencies:
- dependency-name: tailwindcss
  dependency-version: 4.1.16
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot force-pushed the dependabot/npm_and_yarn/tailwindcss-4.1.16 branch from 6cdb279 to 4994239 Compare October 26, 2025 00:54
@dependabot @github
Copy link
Author

dependabot bot commented on behalf of github Oct 27, 2025

Looks like tailwindcss is no longer being updated by Dependabot, so this is no longer needed.

@dependabot dependabot bot closed this Oct 27, 2025
@dependabot dependabot bot deleted the dependabot/npm_and_yarn/tailwindcss-4.1.16 branch October 27, 2025 18:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant