tailwindcss/CHANGELOG.md
Adam Wathan 0daaaebc5e
Include --default-transition-* variables in transition-* utility output (#14482)
Fixes #14479.

Back in March we made a change to the `transition-*` utilities that
inlined the values of the `--default-transition-*` variables to fix a
bug where things would break if those variables didn't exist in your
CSS. At the time though we weren't outputting CSS variables as part of
the values of any utilities, for example `bg-red-500` didn't actually
reference the `--color-red-500` variable.

We later changed that but missed this situation, so these variables were
still inlined even though nothing else was.

This PR fixes that and makes things more consistent, so these variables
will be used as expected unless using the `@theme inline` option, like
with everything else.

---------

Co-authored-by: Adam Wathan <4323180+adamwathan@users.noreply.github.com>
2024-09-20 12:40:44 -04:00

20 KiB
Raw Blame History

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

Added

  • Add support for aria, supports, and data variants defined in JS config files (#14407)
  • Add @tailwindcss/upgrade tooling (#14434)
  • Add CSS codemods for migrating @tailwind directives (#14411)
  • Support screens in JS config files (#14415)
  • Add bg-radial-* and bg-conic-* utilities for radial and conic gradients (#14467)
  • Add new shadow-initial and inset-shadow-initial utilities for resetting shadow colors (#14468)
  • Add field-sizing-* utilities (#14469)

Fixed

  • Support borderRadius.* as an alias for --radius-* when using dot notation inside the theme() function (#14436)
  • Ensure individual variants from groups are always sorted earlier than stacked variants from the same groups (#14431)
  • Allow anchor-size(…) in arbitrary values (#14394)
  • Skip candidates with invalid theme() calls (#14437)
  • Don't generate inset-* utilities for --inset-shadow-* and --inset-ring-* theme values (#14447)
  • Include --default-transition-* variables in transition-* utility output (#14482)

Changed

  • Preserve explicit leading-*, tracking-*, and font-{weight} value when overriding font-size (#14403)
  • Disallow negative bare values in core utilities and variants (#14453)
  • Preserve explicit shadow color when overriding shadow size (#14458)

[4.0.0-alpha.24] - 2024-09-11

Added

  • Support CSS theme() functions inside other @custom-media, @container, and @supports rules (#14358)
  • Export Config type from tailwindcss for JS config files (#14360)
  • Add support for matchVariant plugins using the @plugin directive (#14371)
  • Warn when the tailwindcss package is used as a PostCSS plugin (#14378)

Fixed

  • Ensure there is always CLI feedback on save even when no new classes were found (#14351)
  • Properly resolve theme('someKey.DEFAULT') when all --some-key-* keys have a suffix (#14354)
  • Make sure tuple theme values in JS configs take precedence over @theme default values (#14359)
  • Improve IntelliSense completions for border utilities (#14370)

[4.0.0-alpha.23] - 2024-09-05

Added

  • Add opacity modifier support to the theme() function in plugins (#14348)

[4.0.0-alpha.22] - 2024-09-04

Added

  • Support TypeScript for @plugin and @config files (#14317)
  • Add default option to @theme to support overriding default theme values from plugins/JS config files (#14327)
  • Add support for <style> tags in Astro files to the Vite plugin (#14340)

Fixed

  • Ensure content globs defined in @config files are relative to that file (#14314)
  • Ensure CSS theme() functions are evaluated in media query ranges with collapsed whitespace (#14321)
  • Fix support for Nuxt projects in the Vite plugin (requires Nuxt 3.13.1+) (#14319)
  • Evaluate theme functions in plugins and JS config files (#14326)
  • Ensure theme values overridden with reference values don't generate stale CSS variables (#14327)
  • Dont suggest named opacity modifiers in IntelliSense (#14339)
  • Fix a crash with older Node.js versions (#14342)
  • Support defining theme values as arrays of strings in JS config files (#14343)
  • Ensure --default-font-* and --default-mono-font-* variables respect theme customizations in JS config files (#14344)

[4.0.0-alpha.21] - 2024-09-02

Added

  • Add new standalone builds of Tailwind CSS v4 (#14270)
  • Support JavaScript configuration files using @config (#14239)
  • Support plugin options in @plugin (#14264)
  • Add support for using the Vite extension with css.transformer set to lightningcss (#14269)

Fixed

  • Bring back type exports for the cjs build of @tailwindcss/postcss (#14256)
  • Correctly merge tuple values when using the plugin API (#14260)
  • Handle arrays in the CSS theme() function when using plugins (#14262)
  • Fix fallback values when using the CSS theme() function (#14262)
  • Fix support for declaration fallbacks in plugins (#14265)
  • Support bare values when using tailwindcss/defaultTheme (#14257)
  • Correctly update builds when using the Vite extension with build --watch (#14269)

Changed

  • Remove named opacity support for color opacity modifiers (#14278)

[4.0.0-alpha.20] - 2024-08-23

Added

  • Add support for addBase plugins using the @plugin directive (#14172)
  • Add support for the tailwindcss/plugin export (#14173)
  • Add support for the theme() function in plugins (#14207)
  • Add support for addComponents, matchComponents, prefix plugin APIs (#14221)
  • Add support for tailwindcss/colors and tailwindcss/defaultTheme exports for use with plugins (#14221)
  • Add support for the @tailwindcss/typography and @tailwindcss/forms plugins (#14221)
  • Add support for the theme() function in CSS and class names (#14177)
  • Add support for matching multiple utility definitions for one candidate (#14231)

Fixed

  • Don't wrap relative selectors in arbitrary variants with :is(…) (#14203)

[4.0.0-alpha.19] - 2024-08-09

Added

  • Add support for inline option when defining @theme values (#14095)
  • Add inert variant (#14129)
  • Add support for explicitly registering content paths using new @source at-rule (#14078)
  • Add support for scanning <style> tags in Vue files to the Vite plugin (#14158)
  • Add support for basic addUtilities and matchUtilities plugins using the @plugin directive (#14114)

Fixed

  • Ensure @apply works inside @utility (#14144)

[4.0.0-alpha.18] - 2024-07-25

Added

  • Add support for basic addVariant plugins with new @plugin directive (#13982, #14008)
  • Add @variant at-rule for defining custom variants in CSS (#13992, #14008)
  • Add @utility at-rule for defining custom utilities in CSS (#14044)

Fixed

  • Discard invalid classes such as bg-red-[#000] (#13970)
  • Fix parsing body-less at-rule without terminating semicolon (#13978)
  • Ensure opacity modifier with variables work with color-mix() (#13972)
  • Discard invalid variants and utilities with modifiers (#13977)
  • Add missing utilities that exist in v3, such as resize, fill-none, accent-none, drop-shadow-none, and negative hue-rotate and backdrop-hue-rotate utilities (#13971)
  • Dont allow at-rule-only variants to be compounded (#14015)
  • Ensure compound variants work with variants with multiple selectors (#14016)
  • Ensure attribute values in data-* and aria-* modifiers are always quoted in the generated CSS (#14040)

Changed

  • Reduce the specificity of the * variant so those styles can be overridden by child elements (#14056)

[4.0.0-alpha.17] - 2024-07-04

Added

  • Add rounded-4xl utility (#13827)
  • Add backdrop-blur-none and blur-none utilities (#13831)
  • Include variable in output for bare utilities like rounded (#13836)

Fixed

  • Support combining arbitrary shadows without a color with shadow color utilities (#13876)
  • Ensure @property fallbacks work correctly with properties with no initial-value (#13949)

[4.0.0-alpha.16] - 2024-06-07

Added

  • Add nth-* variants (#13661)
  • Add bg-linear-* utilities as an alias for the existing bg-gradient-* utilities (#13783)
  • Support arbitrary linear gradient angles (e.g. bg-linear-[125deg]) (#13783)

Fixed

  • Use length data type for background-size instead of background-position (#13771)
  • Support negative values for {col,row}-{start,end} utilities (#13780)
  • Use long form <length> | <percentage> syntax for properties (#13660)
  • Fix background position value of bg-right-top, bg-right-bottom, bg-left-bottom and bg-left-top (#13806)

[4.0.0-alpha.15] - 2024-05-08

Fixed

  • Make sure contain-* utility variables resolve to a valid value (#13521)
  • Support unbalanced parentheses and braces in quotes in arbitrary values and variants (#13608)
  • Add fallbacks for @property rules for Firefox (#13655)

Changed

  • Use rem units for breakpoints by default instead of px (#13469)
  • Use natural sorting when sorting classes (#13507, #13532)

[4.0.0-alpha.14] - 2024-04-09

Fixed

  • Ensure deterministic SSR builds in @tailwindcss/vite (#13457)

Changed

  • Apply variants from left to right instead of inside-out (#13478)
  • Don't special-case [hidden] elements in space-*/divide-* utilities (#13459)

[4.0.0-alpha.13] - 2024-04-04

Fixed

  • Always inline values for shadow-* utilities to ensure shadow colors work correctly (#13449)

[4.0.0-alpha.12] - 2024-04-04

Fixed

  • Enable Vite's waitForRequestsIdle() for client requests only (#13394)
  • Make sure ::first-letter respects ::selection styles (#13408)

[4.0.0-alpha.11] - 2024-03-27

Added

  • Make rotate-x/y/z-* utilities composable (#13319)
  • Apply Vite's CSS plugin transform to Tailwind-generated CSS in @tailwindcss/vite (e.g. inlining images) (#13218)
  • Add starting variant for @starting-style (#13329)
  • Target :popover-open in existing open variant (#13331)

Fixed

  • Remove percentage values for translate-z utilities (#13321, #13327)
  • Generate unique CSS bundle hashes in @tailwindcss/vite when Tailwind-generated CSS changes (#13218)
  • Inherit letter spacing in form controls (#13328)
  • Ensure build command is executed when using --output instead of -o (#13369)
  • Prevent @tailwindcss/vite from hanging in serve mode (#13380)

[4.0.0-alpha.10] - 2024-03-19

Added

Fixed

  • Validate bare values (#13245)
  • Parse candidates in .svelte files with class:abc="condition" syntax (#13274)

Changed

  • Inline @import rules in tailwindcss/index.css at publish time for better performance (#13233)
  • Include custom properties with fallbacks in utility class values (#13177)

[4.0.0-alpha.9] - 2024-03-13

Added

  • Support @theme reference { … } for defining theme values without emitting variables (#13222)

Fixed

  • Fix incorrect properties in line-clamp utilities (#13220)
  • Don't rely on existence of --default-transition-* variables in transition-* utilities (#13219)

Changed

  • Move optimizeCss to the packages where it's used (#13230)

[4.0.0-alpha.8] - 2024-03-11

Fixed

  • Ensure scale-* utilities support percentage values (#13182)
  • Prevent content-none from being overridden when conditionally styling ::before/::after (#13187)
  • Remove default borders from iframe elements (#13189)

Changed

  • Replace --radius-none and --radius-full theme values with static rounded-none and rounded-full utilities (#13186)

Added

  • Improve performance of incremental rebuilds for @tailwindcss/cli (#13169)
  • Improve performance of incremental rebuilds for @tailwindcss/postcss (#13170)

[4.0.0-alpha.7] - 2024-03-08

Added

  • Add font-stretch utilities (#13153)
  • Publish packages with npm provenance (#13160)
  • Build native packages for Android (#13115, #13161)
  • Make CSS optimization and minification configurable in PostCSS plugin and CLI (#13130)

Fixed

  • Don't error on @apply with leading/trailing whitespace (#13144)
  • Correctly parse CSS using Windows line endings (#13162)

[4.0.0-alpha.6] - 2024-03-07

Fixed

  • Only set border-style for appropriate border side (#13124)

Changed

  • Error when @theme contains unsupported rules/declarations (#13125)

[4.0.0-alpha.5] - 2024-03-06

Fixed

  • Don't scan ignored files even if a .git folder is not present (#13119)

[4.0.0-alpha.4] - 2024-03-06

Fixed

  • Support importing framework CSS files without including a .css extension (#13110)

[4.0.0-alpha.3] - 2024-03-06

Added

  • Support putting the important modifier at the beginning of a utility (#13103)

Fixed

  • Node compatibility fix (#13104)

Changes

  • Drop deprecated decoration-slice and decoration-clone utilities (#13107)

[4.0.0-alpha.2] - 2024-03-06

Changed

  • Move the CLI into a separate @tailwindcss/cli package (#13095)

[4.0.0-alpha.1] - 2024-03-06