Skip to content

Releases: tailwindlabs/tailwindcss

v4.0.0-alpha.29

23 Oct 13:48
2327e68
Compare
Choose a tag to compare
v4.0.0-alpha.29 Pre-release
Pre-release

Added

  • Upgrade (experimental): Migrate plugins with options to CSS (#14700)
  • Upgrade (experimental): Allow JS configuration files with corePlugins options to be migrated to CSS (#14742)
  • Upgrade (experimental): Migrate @import statements for relative CSS files to use relative path syntax (e.g. ./file.css) (#14755)
  • Upgrade (experimental): Migrate max-w-screen-* utilities to max-w-[var(…)](#14754)
  • Upgrade (experimental): Migrate @variants and @responsive directives (#14748)
  • Upgrade (experimental): Migrate @screen directive (#14749)
  • Upgrade (experimental): Generate compatibility styles for legacy default border color (#14746)
  • Upgrade (experimental): Generate compatibility styles for legacy default border width on form elements (#14746)

Fixed

  • Allow spaces spaces around operators in attribute selector variants (#14703)
  • Ensure color opacity modifiers work with OKLCH colors (#14741)
  • Ensure changes to the input CSS file result in a full rebuild (#14744)
  • Add postcss as a dependency of @tailwindcss/postcss (#14750)
  • 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)
  • Ensure JS theme keys containing special characters correctly produce utility classes (e.g. '1/2': 50% to w-1/2) (#14739)
  • Always emit keyframes registered in addUtilities (#14747)
  • Ensure loading stylesheets via the ?raw and ?url static asset query works when using the Vite plugin (#14716)
  • Upgrade (experimental): Migrate flex-grow to grow and flex-shrink to shrink (#14721)
  • Upgrade (experimental): Minify arbitrary values when printing candidates (#14720)
  • Upgrade (experimental): Ensure legacy theme values ending in 1 (like theme(spacing.1)) are correctly migrated to custom properties (#14724)
  • Upgrade (experimental): Migrate arbitrary values to bare values for the from-*, via-*, and to-* utilities (#14725)
  • Upgrade (experimental): Ensure layer(utilities) is removed from @import to keep @utility top-level (#14738)
  • Upgrade (experimental): Ensure JS theme keys with special characters are escaped when migrated to CSS variables (#14736)
  • Upgrade (experimental): Don't migrate important modifiers that are actually logical negations (e.g. let foo = !border to let foo = border!) (#14737)

Changed

  • Require a relative path prefix for importing relative CSS files (e.g. @import './styles.css' instead of @import 'styles.css') (#14755)
  • Upgrade (experimental): Don't create @source rules for content paths that are already covered by automatic source detection (#14714)

v4.0.0-alpha.28

17 Oct 21:16
b701ed6
Compare
Choose a tag to compare
v4.0.0-alpha.28 Pre-release
Pre-release

Added

  • Add first draft of new wide-gamut color palette (#14693)
  • Support linear gradient angles as bare values (#14707)
  • Interpolate gradients in OKLCH by default (#14708)
  • Upgrade (experimental): Migrate theme(…) calls to var(…) or to the modern theme(…) syntax (#14664, #14695)
  • Upgrade (experimental): Support migrating JS configurations to CSS that contain functions inside the theme object (#14675)

Fixed

  • Ensure theme values defined outside of extend in JS configuration files overwrite all existing values for that namespace (#14672)
  • Remove unnecessary variable fallbacks in gradient utilities (#14705)
  • Upgrade (experimental): Speed up template migrations (#14679)
  • Upgrade (experimental): Don't generate invalid CSS when migrating a complex screens config (#14691)

v4.0.0-alpha.27

15 Oct 10:42
a75152d
Compare
Choose a tag to compare
v4.0.0-alpha.27 Pre-release
Pre-release

Added

  • Add support for tailwindcss/colors.js, tailwindcss/defaultTheme.js, and tailwindcss/plugin.js exports (#14595)
  • Support keyframes in JS config file themes (#14594)
  • Support the color parameter in JS theme configuration callbacks (#14651)
  • Support using the object parameter in the JS theme configuration callback as theme() function (#14659)
  • Upgrade (experimental): Automatically discover JavaScript config files (#14597)
  • Upgrade (experimental): Inject @config "…" when a tailwind.config.{js,ts,…} is detected (#14635)
  • Upgrade (experimental): Migrate @media screen(…) when running codemods (#14603)
  • Upgrade (experimental): Migrate aria-*, data-*, and supports-* variants from arbitrary values to bare values (#14644)
  • Upgrade (experimental): Migrate arbitrary values to bare values (#14669)
  • Upgrade (experimental): Migrate legacy classes to the v4 alternative (#14643)
  • Upgrade (experimental): Migrate static JS configurations to CSS (#14639, #14650, #14648, #14666)
  • Upgrade (experimental): Migrate v3 PostCSS setups to v4 in some cases (#14612)

Fixed

  • Don’t crash when scanning a candidate equal to the configured prefix (#14588)
  • Ensure there's always a space before !important when stringifying CSS (#14611)
  • Don't set display: none on elements that use hidden="until-found" (#14631)
  • Ensure the CSS theme() function resolves to the right value in some compatibility situations (#14614)
  • Fix issue that could cause the CLI to crash when files are deleted while watching (#14616)
  • Ensure custom variants using the JS API have access to modifiers (#14637)
  • Ensure auto complete suggestions work when using matchUtilities (#14589)
  • Pass options when using addComponents and matchComponents (#14590)
  • Ensure boxShadow and animation theme keys in JS config files are accessible under --shadow-* and --animate-* using the theme() function (#14642)
  • 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)
  • Ensure var(…) can be used as the opacity value inside the theme([path] / [modifier]) function (#14653)
  • Ensure font-stretch utilities only accepts positive integer bare values (#14670)
  • Upgrade (experimental): Ensure CSS before a layer stays unlayered when running codemods (#14596)
  • Upgrade (experimental): Resolve issues where some prefixed candidates were not properly migrated (#14600)

v3.4.14

15 Oct 10:37
c616fb9
Compare
Choose a tag to compare

Fixed

  • Don't set display: none on elements that use hidden="until-found" (#14625)

v4.0.0-alpha.26

03 Oct 15:22
39e108d
Compare
Choose a tag to compare
v4.0.0-alpha.26 Pre-release
Pre-release

Added

  • Add support for prefixes (#14501)
  • Expose timing information in debug mode (#14553)
  • Add support for blocklist in JS config files (#14556)
  • Add color-scheme utilities (#14567)
  • Add support for important option in JS config files (#14448)
  • Upgrade (experimental): Convert @import "tailwindcss/tailwind.css" to @import "tailwindcss" in CSS files (#14514)
  • Upgrade (experimental): Apply all utility upgrades to @apply in CSS files (#14574)
  • Upgrade (experimental): Update variant order in template files (#14524)
  • Upgrade (experimental): Convert bg-gradient-* utilities to bg-linear-* in template files (#14537)
  • Upgrade (experimental): Convert legacy prefixes to variant prefixes in template files (#14557)
  • Upgrade (experimental): Convert bare CSS variables in arbitrary values to var(…) in template files (#14526)
  • Upgrade (experimental): Convert legacy important modifier syntax to trailing syntax (#14502)

Fixed

  • Use the right import base path when using the CLI to reading files from stdin (#14522)
  • Ensure that @utility is top-level and cannot be nested (#14525)
  • Only setup a single compiler in @tailwindcss/postcss for initial builds (#14565)
  • Ensure editing imported CSS files triggers a rebuild (#14561)
  • Ensure @apply and CSS functions work inside imported stylesheets (#14576)
  • Upgrade (experimental): Don't wrap custom CSS after utilities in a layer (#14512)
  • Upgrade (experimental): Don't add empty layer() to @import at-rules when the styles do not need to be imported into a layer (#14513)
  • Upgrade (experimental): Don't wrap comment nodes in @layer when running codemods (#14517)
  • Upgrade (experimental): Fix scenario where selectors can be lost in multi-selector rules (#14518)
  • Upgrade (experimental): Ensure custom CSS before @tailwind rules is wrapped with @layer base when prepending @import "tailwindcss" to the top of the file (#14536)

Changed

  • Disallow bare values with decimal places (#14562)

v4.0.0-alpha.25

24 Sep 17:18
c094fad
Compare
Choose a tag to compare
v4.0.0-alpha.25 Pre-release
Pre-release

Added

  • Add support for aria, supports, and data variants defined in JS config files (#14407)
  • Add @tailwindcss/upgrade tooling (#14434)
  • 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)
  • Include gradient color properties in color transitions (#14489)
  • Experimental: Add CSS codemods for @apply (#14411)
  • Experimental: Add CSS codemods for migrating @tailwind directives (#14411, #14504)
  • Experimental: Add CSS codemods for migrating @layer utilities and @layer components (#14455)

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)
  • Ensure rtl and ltr variants work with [dir=auto] (#14306)

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)
  • Preserve explicit transition duration and timing function when overriding transition property (#14490)
  • Change the implementation for @import resolution to speed up initial builds (#14446)
  • Remove automatic var(…) injection (#13657)
  • Only apply :hover states on devices that support @media (hover: hover) (#14500)

v3.4.13

23 Sep 15:06
ed3c535
Compare
Choose a tag to compare

Fixed

  • Improve source glob verification performance (#14481)

v3.4.12

17 Sep 15:08
e8614a2
Compare
Choose a tag to compare

Fixed

  • Ensure using @apply with utilities that use @defaults works with rules defined in the base layer when using optimizeUniversalDefaults (#14427)

v4.0.0-alpha.24

12 Sep 14:25
2ef87ab
Compare
Choose a tag to compare
v4.0.0-alpha.24 Pre-release
Pre-release

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 if 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)

v3.4.11

11 Sep 17:32
818d10a
Compare
Choose a tag to compare

Fixed

  • Allow anchor-size(…) in arbitrary values (#14393)