2022년 8월 5일부터 현재 버전 4.3.3까지 Tailwind CSS의 81개 버전을 모았습니다. 모든 버전은 제공사의 공식 설치 파일로 연결됩니다.
4년 동안 81개 버전 · 연평균 약 21회
| 버전 | 날짜 | 크기 | 파일 |
|---|---|---|---|
| 4.3.3최신 | 2026년 7월 16일 | — | 64비트 포터블 릴리스 노트Fixed
- Support --watch --poll[=ms] in @tailwindcss/cli when filesystem events are unreliable or unavailable (#20297)
- Canonicalization: match arbitrary hex colors against theme colors case-insensitively (e.g. bg-[#fff] and bg-[#FFF] → bg-white) (#20298)
- Prevent Preflight from overriding Firefox's native iframe:focus-visible outline styles (#20292)
- Ensure theme('colors.foo') in JS plugins resolves correctly when both --color-foo and --color-foo-bar exist (#20299)
- Ensure fractional opacity modifiers work with named shadow sizes like shadow-sm/12.5, text-shadow-sm/12.5, drop-shadow-sm/12.5, and inset-shadow-sm/12.5 (#20302)
- Parse selectors like [data-foo]div as two selectors instead of one (#20303)
- Ensure @tailwindcss/postcss rebuilds when a preprocessor like Sass changes the input CSS without changing the input file on disk (#20310)
- Ensure CSS nesting is handled even when Lightning CSS isn't run, such as in @tailwindcss/browser and Tailwind Play (#20124)
- Prevent achromatic theme colors from shifting hue when mixed in polar color spaces like oklch (#20314)
- Ensure --spacing(0) is optimized to 0px instead of 0 so it remains a <length> when used in calc(…) (#20319)
- Load @parcel/watcher only when needed in @tailwindcss/cli --watch mode, so one-off builds and --watch --poll work when @parcel/watcher can't be loaded (#20325)
- Use explicit platform fonts instead of system-ui and ui-sans-serif so CJK text respects the page's lang attribute on Windows (#20318)
- Prevent @tailwindcss/upgrade from rewriting ignored files when run from a subdirectory (#20329)
- Ensure earlier @source rules pointing to nested files are scanned when later @source rules point to files in parent folders (#20335)
- Prevent @tailwindcss/vite from triggering full page reloads when scanned files are processed by Vite but haven't been loaded as modules yet (#20336) |
| 4.3.2 | 2026년 6월 29일 | — | 64비트 포터블 릴리스 노트Fixed
- Support bare spacing values for auto-rows-* and auto-cols-* utilities (e.g. auto-rows-12 and auto-cols-16) (#20229)
- Prevent @tailwindcss/cli in --watch mode from crashing on Windows when @source points to a directory that doesn't exist (#20242)
- Prevent @tailwindcss/vite from crashing in Deno v2.8.x when context.parentURL is not a valid URL (#20245)
- Ensure @tailwindcss/cli in --watch mode rebuilds when the input CSS file changes in an ignored directory (#20246)
- Allow @variant rules used in addBase(…) to use custom variants defined later (#20247)
- Prevent @tailwindcss/vite from crashing during HMR when scanned files or directories are deleted (#20259)
- Generate font-size instead of color declarations for text-[--spacing(…)] (#20260)
- Prevent @source patterns from scanning unrelated sibling files and folders (#20263)
- Extract class candidates adjacent to Template Toolkit delimiters like %]…[% in .tt, .tt2, and .tx files (#20269)
- Extract class candidates from conditional Maud syntax like p.text-black[condition] (#20269)
- Prevent @position-try rules from triggering unknown at-rule warnings when optimizing CSS (#20277)
- Support class suggestions for named opacity modifiers from --opacity theme values (#20287)
- Prevent type errors in @tailwindcss/postcss when used with newer PostCSS patch releases (#20289) |
| 4.3.1 | 2026년 6월 12일 | — | 64비트 포터블 릴리스 노트Added
- Add --silent option to suppress output in @tailwindcss/cli (#20100)
Fixed
- Remove deprecation warnings by using Module#registerHooks instead of Module#register on Node 26+ (#20028)
- Canonicalization: don't crash when plugin utilities throw for unsupported values (#20052)
- Allow @apply to be used with CSS mixins (#19427)
- Ensure not-* correctly negates @container queries, including style(…) queries (#20059)
- Ensure drop-shadow-* color utilities work with custom shadow values containing calc(…) (#20080)
- Fix 'Sourcemap is likely to be incorrect' warnings when using @tailwindcss/vite (#20103)
- Ensure @tailwindcss/webpack can be installed in Rspack projects without requiring webpack as a peer dependency (#20027)
- Canonicalization: don't suggest invalid calc(…) expressions (e.g. px-[calc(1rem+0px)] → px-[calc(1rem+0)]) (#20127)
- Canonicalization: avoid suggesting large spacing-scale values for arbitrary lengths (e.g. left-[99999px] → left-[99999px], not left-24999.75) (#20130)
- Ensure @tailwindcss/cli in --watch mode recovers when a tracked dependency is deleted and restored (#20137)
- Ensure standalone @tailwindcss/cli binaries are ignored when scanning for class candidates (#20139)
- Ensure class candidates are extracted from Twig addClass(…) and removeClass(…) calls (#20198)
- Don't crash in the Ruby or Vue preprocessors when scanning files containing invalid UTF-8 bytes (#19588)
- Allow @variant to be used inside addBase (#19480)
- Ensure @source globs with symlinks are preserved (#20203)
- Ensure later @source rules can re-include files excluded by earlier @source not rules (#20203)
- Upgrade: don't migrate empty class rules to invalid @utility rules (#20205)
- Ensure transitions between inset-shadow-none and other inset shadows work correctly (#20208)
- Ensure explicitly referenced @source directories are scanned even when ignored by git (#20214)
- Ensure @source globs ending in **/* preserve dynamic path segments to avoid scanning too many files (#20217)
- Canonicalization: don't fold calc(…) divisions when the result would require high precision (e.g. w-[calc(100%/3.5)] → w-[calc(100%/3.5)], not w-[28.571428571428573%]) (#20221)
- Serve ESM type declarations to ESM importers of @tailwindcss/postcss (#20228)
Changed
- Generate 0 instead of calc(var(--spacing) * 0) for spacing utilities like m-0 and left-0 (#20196)
- Generate var(--spacing) instead of calc(var(--spacing) * 1) for spacing utilities like m-1 and left-1 (#20196) |
| 4.3.0 | 2026년 5월 8일 | — | 64비트 포터블 릴리스 노트Added
- Add @container-size utility (#18901)
- Add scrollbar-{auto,thin,none} utilities for scrollbar-width, and scrollbar-thumb-* / scrollbar-track-* color utilities for scrollbar-color (#19981, #20019)
- Add scrollbar-gutter-* utilities (#20018)
- Add zoom-* utilities (#20020)
- Add tab-* utilities (#20022)
- Allow using @variant with stacked variants (e.g. @variant hover:focus { … }) (#19996)
- Allow using @variant with compound variants (e.g. @variant hover, focus { … }) (#19996)
- Support --default(…) in --value(…) and --modifier(…) for functional @utility definitions (#19989)
Fixed
- Ensure @plugin resolves package JavaScript entries instead of browser CSS entries when using @tailwindcss/vite (#19949)
- Fix relative @import and @plugin paths resolving from the wrong directory when using @tailwindcss/vite (#19965)
- Ensure CSS files containing @variant are processed by @tailwindcss/vite (#19966)
- Resolve imports relative to base when result.opts.from is not provided when using @tailwindcss/postcss (#19980)
- Canonicalization: preserve significant _ whitespace in arbitrary values (#19986)
- Canonicalization: add parentheses when removing whitespace from arbitrary values would hurt readability (e.g. w-[calc(100%---spacing(60))] → w-[calc(100%-(--spacing(60)))]) (#19986)
- Canonicalization: preserve the original unit in arbitrary values instead of normalizing to base units (e.g. -mt-[20in] → mt-[-20in], not mt-[-1920px]) (#19988)
- Canonicalization: migrate arbitrary :has() variants from [&:has(…)] to has-[…] (#19991)
- Upgrade: don’t migrate inline style attributes (e.g. style="flex-grow: 1" → style="flex-grow: 1", not style="grow: 1") (#19918)
- Allow multiple @utility definitions with the same name but different value types (#19777)
- Export missing PluginWithConfig type from tailwindcss/plugin to fix errors when inferring plugin config types (#19707)
- Ensure start and end legacy utilities without values do not generate CSS (#20003)
- Ensure --value(…) is required in functional @utility definitions (#20005)
- Canonicalization: preserve required whitespace around operators in negated arbitrary values (e.g. -left-[(var(--a)+var(--b))]) (#20011) |
| 4.2.4 | 2026년 4월 21일 | — | 64비트 포터블 릴리스 노트Fixed
- Ensure imports in @import and @plugin still resolve correctly when using Vite aliases in @tailwindcss/vite (#19947) |
| 4.2.3 | 2026년 4월 20일 | — | 64비트 포터블 릴리스 노트Fixed
- Canonicalization: improve canonicalizations for tracking-* utilities by preferring non-negative utilities (e.g. -tracking-tighter → tracking-wider) (#19827)
- Fix crash due to invalid characters in candidate (exceeding valid unicode code point range) (#19829)
- Ensure query params in imports are considered unique resources when using @tailwindcss/webpack (#19723)
- Canonicalization: collapse arbitrary values into shorthand utilities (e.g. px-[1.2rem] py-[1.2rem] → p-[1.2rem]) (#19837)
- Canonicalization: collapse border-{t,b}-* into border-y-*, border-{l,r}-* into border-x-*, and border-{t,r,b,l}-* into border-* (#19842)
- Canonicalization: collapse scroll-m{t,b}-* into scroll-my-*, scroll-m{l,r}-* into scroll-mx-*, and scroll-m{t,r,b,l}-* into scroll-m-* (#19842)
- Canonicalization: collapse scroll-p{t,b}-* into scroll-py-*, scroll-p{l,r}-* into scroll-px-*, and scroll-p{t,r,b,l}-* into scroll-p-* (#19842)
- Canonicalization: collapse overflow-{x,y}-* into overflow-* (#19842)
- Canonicalization: collapse overscroll-{x,y}-* into overscroll-* (#19842)
- Read from --placeholder-color instead of --background-color for placeholder-* utilities (#19843)
- Upgrade: ensure files are not emptied out when killing the upgrade process while it's running (#19846)
- Upgrade: use config.content when migrating from Tailwind CSS v3 to Tailwind CSS v4 (#19846)
- Upgrade: never migrate files that are ignored by git (#19846)
- Add .env and .env.* to default ignored content files (#19846)
- Canonicalization: migrate overflow-ellipsis into text-ellipsis (#19849)
- Canonicalization: migrate start-full → inset-s-full, start-auto → inset-s-auto, start-px → inset-s-px, and start-<number> → inset-s-<number> as well as negative versions (#19849)
- Canonicalization: migrate end-full → inset-e-full, end-auto → inset-e-auto, end-px → inset-e-px, and end-<number> → inset-e-<number> as well as negative versions (#19849)
- Canonicalization: move the - sign inside the arbitrary value -left-[9rem] → left-[-9rem] (#19858)
- Canonicalization: move the - sign outside the arbitrary value ml-[calc(-1*var(--width))] → -ml-(--width) (#19858)
- Improve performance when scanning JSONL / NDJSON files (#19862)
- Support NODE_PATH environment variable in standalone CLI (#19617) |
| 4.2.2 | 2026년 3월 18일 | — | 64비트 포터블 릴리스 노트Fixed
- Don't crash when candidates contain prototype properties like row-constructor (#19725)
- Canonicalize calc(var(--spacing)*…) expressions into --spacing(…) (#19769)
- Fix crash in canonicalization step when handling utilities containing @property at-rules (e.g. shadow-sm border) (#19727)
- Skip full reload for server only modules scanned by client CSS when using @tailwindcss/vite (#19745)
- Add support for Vite 8 in @tailwindcss/vite (#19790)
- Improve canonicalization for bare values exceeding default spacing scale suggestions (e.g. w-1234 h-1234 → size-1234) (#19809)
- Fix canonicalization resulting in empty list (e.g. w-5 h-5 size-5 → '' instead of size-5) (#19812) |
| 4.2.1 | 2026년 2월 23일 | — | 64비트 포터블 릴리스 노트Fixed
- Allow trailing dash in functional utility names for backwards compatibility (#19696)
- Properly detect classes containing . characters within curly braces in MDX files (#19711) |
| 4.2.0 | 2026년 2월 18일 | — | 64비트 포터블 릴리스 노트Added
- Add mauve, olive, mist, and taupe color palettes to the default theme (#19627)
- Add @tailwindcss/webpack package to run Tailwind CSS as a webpack plugin (#19610)
- Add pbs-* and pbe-* utilities for padding-block-start and padding-block-end (#19601)
- Add mbs-* and mbe-* utilities for margin-block-start and margin-block-end (#19601)
- Add scroll-pbs-* and scroll-pbe-* utilities for scroll-padding-block-start and scroll-padding-block-end (#19601)
- Add scroll-mbs-* and scroll-mbe-* utilities for scroll-margin-block-start and scroll-margin-block-end (#19601)
- Add border-bs-* and border-be-* utilities for border-block-start and border-block-end (#19601)
- Add inline-*, min-inline-*, max-inline-* utilities for inline-size, min-inline-size, and max-inline-size (#19612)
- Add block-*, min-block-*, max-block-* utilities for block-size, min-block-size, and max-block-size (#19612)
- Add inset-s-*, inset-e-*, inset-bs-*, inset-be-* utilities for inset-inline-start, inset-inline-end, inset-block-start, and inset-block-end (#19613)
- Add font-features-* utility for font-feature-settings (#19623)
Fixed
- Prevent double @supports wrapper for color-mix values (#19450)
- Allow whitespace around @source inline() argument (#19461)
- Emit comment when source maps are saved to files when using @tailwindcss/cli (#19447)
- Detect utilities containing capital letters followed by numbers (#19465)
- Fix class extraction for Rails' strict locals (#19525)
- Align @utility name validation with Oxide scanner rules (#19524)
- Fix infinite loop when using @variant inside @custom-variant (#19633)
- Allow multiples of .25 in aspect-* fractions (e.g. aspect-8.5/11) (#19688)
- Ensure changes to external files listed via @source trigger a full page reload when using @tailwindcss/vite (#19670)
- Improve performance of Oxide scanner in bigger projects by reducing file system walks (#19632)
- Ensure import aliases in Astro v5 work without crashing when using @tailwindcss/vite (#19677)
- Allow escape characters in @utility names to improve support with formatters such as Biome (#19626)
- Fix incorrect canonicalization results when canonicalizing multiple times (#19675)
- Add .jj to default ignored content directories (#19687)
Deprecated
- Deprecate start-* and end-* utilities in favor of inline-s-* and inline-e-* utilities (#19613) |
| 4.1.18 | 2025년 12월 11일 | — | 64비트 포터블 릴리스 노트Fixed
- Ensure validation of source(…) happens relative to the file it is in (#19274)
- Include filename and line numbers in CSS parse errors (#19282)
- Skip comments in Ruby files when checking for class names (#19243)
- Skip over arbitrary property utilities with a top-level ! in the value (#19243)
- Support environment API in @tailwindcss/vite (#18970)
- Preserve case of theme keys from JS configs and plugins (#19337)
- Write source maps correctly on the CLI when using --watch (#19373)
- Handle special defaults (like ringColor.DEFAULT) in JS configs (#19348)
- Improve backwards compatibility for content theme key from JS configs (#19381)
- Upgrade: Handle future and experimental config keys (#19344)
- Try to canonicalize any arbitrary utility to a bare value (#19379)
- Validate candidates similarly to Oxide (#19397)
- Canonicalization: combine text-* and leading-* classes (#19396)
- Correctly handle duplicate CLI arguments (#19416)
- Don’t emit color-mix fallback rules inside @keyframes (#19419)
- CLI: Don't hang when output is /dev/stdout (#19421) |
| 4.1.17 | 2025년 11월 6일 | — | 64비트 포터블 릴리스 노트Fixed
- Substitute @variant inside legacy JS APIs (#19263)
- Prevent occasional crash on Windows when loaded into a worker thread (#19242) |
| 4.1.16 | 2025년 10월 23일 | — | 64비트 포터블 릴리스 노트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일 | — | 64비트 포터블 릴리스 노트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) |
| 4.1.14 | 2025년 10월 1일 | — | 64비트 포터블 릴리스 노트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년 9월 4일 | — | 64비트 포터블 릴리스 노트Changed
- Drop warning from browser build (#18731)
- Drop exact duplicate declarations when emitting CSS (#18809)
Fixed
- Don't transition visibility when using transition (#18795)
- Discard matched variants with unknown named values (#18799)
- Discard matched variants with non-string values (#18799)
- Show suggestions for known matchVariant values (#18798)
- Replace deprecated clip with clip-path in sr-only (#18769)
- Hide internal fields from completions in matchUtilities (#18820)
- Ignore .vercel folders by default (can be overridden by @source … rules) (#18855)
- Consider variants starting with @- to be invalid (e.g. @-2xl:flex) (#18869)
- Do not allow custom variants to start or end with a - or _ (#18867, #18872)
- Upgrade: Migrate aria theme keys to @custom-variant (#18815)
- Upgrade: Migrate data theme keys to @custom-variant (#18816)
- Upgrade: Migrate supports theme keys to @custom-variant (#18817) |
| 4.1.12 | 2025년 8월 14일 | — | 64비트 포터블 릴리스 노트Fixed
- Don't consider the global important state in @apply (#18404)
- Add missing suggestions for flex-<number> utilities (#18642)
- Fix trailing ) from interfering with extraction in Clojure keywords (#18345)
- Detect classes inside Elixir charlist, word list, and string sigils (#18432)
- Track source locations through @plugin and @config (#18345)
- Allow boolean values of process.env.DEBUG in @tailwindcss/node (#18485)
- Ignore consecutive semicolons in the CSS parser (#18532)
- Center the dropdown icon added to an input with a paired datalist by default (#18511)
- Extract candidates in Slang templates (#18565)
- Improve error messages when encountering invalid functional utility names (#18568)
- Discard CSS AST objects with false or undefined properties (#18571)
- Allow users to disable URL rebasing in @tailwindcss/postcss via transformAssetUrls: false (#18321)
- Fix false-positive migrations in addEventListener and JavaScript variable names (#18718)
- Fix Standalone CLI showing default Bun help when run via symlink on Windows (#18723)
- Read from --border-color-* theme keys in divide-* utilities for backwards compatibility (#18704)
- Don't scan .hdr and .exr files for classes by default (#18734) |
| 4.1.11 | 2025년 6월 26일 | — | 64비트 포터블 릴리스 노트Fixed
- Add heuristic to skip candidate migrations inside emit(…) (#18330)
- Extract candidates with variants in Clojure/ClojureScript keywords (#18338)
- Document --watch=always in the CLI's usage (#18337)
- Add support for Vite 7 to @tailwindcss/vite (#18384) |
| 4.1.10 | 2025년 6월 11일 | — | 64비트 포터블 릴리스 노트Fixed
- Fix incorrectly generated CSS when using percentages in arbitrary values with calc (e.g.: w-[calc(100%-var(--offset))]) (#18289) |
| 4.1.9 | 2025년 6월 11일 | — | 64비트 포터블 릴리스 노트Fixed
- Correctly parse custom properties with strings containing semicolons (#18251)
- Upgrade: Migrate arbitrary modifiers without percentage signs to bare values (e.g. /[0.16] → /16) (#18184)
- Upgrade: Migrate CSS variable shorthands where fallback value contains function call (#18184)
- Upgrade: Migrate negative arbitrary values to negative bare values (e.g. mb-[-32rem] → -mb-128) (#18212)
- Upgrade: Do not migrate blur in wire:model.blur (#18216)
- Don't add spaces around CSS dashed idents when formatting math expressions (#18220) |
| 4.1.8 | 2025년 5월 28일 | — | 64비트 포터블 릴리스 노트Added
- Improve error messages when @apply fails (#18059)
Fixed
- Upgrade: Do not migrate declarations that look like candidates in <style> blocks (#18057, 18068)
- Upgrade: Don't error when looking for tailwindcss in pnpm monorepos (#18065)
- Upgrade: Don't error when updating dependencies in pnpm monorepos (#18065)
- Upgrade: Migrate deprecated order-none to order-0 (#18126)
- Support Leptos class: attributes when extracting classes (#18093)
- Fix "Cannot read properties of undefined" crash on malformed arbitrary value (#18133)
- Upgrade: Migrate -mt-[0px] to mt-[0px] instead of the other way around (#18154)
- Fix Haml pre-processing crash when there is no \n at the end of the file (#18155)
- Ignore .pnpm-store folders by default (can be overridden by @source … rules) (#18163)
- Fix PostCSS crash when calling toJSON() (#18083) |
| 4.1.7 | 2025년 5월 15일 | — | 64비트 포터블 릴리스 노트Added
- Upgrade: Migrate bare values to named values (#18000)
- Upgrade: Added cache to improve template migration performance (#18025)
Fixed
- Allow _ before numbers during candidate extraction (#17961)
- Prevent duplicate suggestions when using @theme and @utility together (#17675)
- Ensure that media queries within ::before and ::after pseudo selectors create valid CSS rules in production builds (#17979)
- Ensure that the standalone CLI does not leave temporary files behind (#17981)
- Ensure -rotate-* utilities properly negate arbitrary values (#18014)
- Ignore custom variants using :merge(…) selectors in legacy JS plugins (#18020)
- Ensure classes containing . are properly extracted from Clojure files (#18038)
- Upgrade: Fix error when using @import … source(…) (#17963)
- Upgrade: Change casing of utilities with named values to kebab-case to match updated theme variables (#18017)
- Upgrade: Don't migrate strings that match utility names in Vue attribute bindings other than class (#18025) |
| 4.1.6 | 2025년 5월 9일 | — | 64비트 포터블 릴리스 노트Added
- Upgrade: Automatically convert arbitrary values to named values when possible (e.g. h-[1lh] to h-lh) (#17831, #17854)
- Upgrade: Update dependencies in parallel for improved performance (#17898)
- Add detailed logging about @source directives, discovered files and scanned files when using DEBUG=* (#17906, #17952)
- Add support for generating source maps in development (#17775)
Fixed
- Ensure negative arbitrary scale values generate negative values (#17831)
- Fix HAML extraction with embedded Ruby (#17846)
- Don't scan files for utilities when using @reference (#17836)
- Fix incorrectly replacing _ with in arbitrary modifier shorthand bg-red-500/(--my_opacity) (#17889)
- Don't scan .log files for classes by default (#17906)
- Ensure that custom utilities applying other custom utilities don't swallow nested @apply rules (#17925)
- Download platform specific package if optionalDependencies are skipped (#17929) |
| 4.1.5 | 2025년 4월 30일 | — | 64비트 포터블 릴리스 노트Added
- Support using @tailwindcss/upgrade to upgrade between versions of v4.* (#17717)
- Add h-lh / min-h-lh / max-h-lh utilities (#17790)
- Transition display, visibility, content-visibility, overlay, and pointer-events when using transition to simplify @starting-style usage (#17812)
Fixed
- Don't scan .geojson or .db files for classes by default (#17700, #17711)
- Hide default shadow suggestions when missing default shadow theme keys (#17743)
- Replace _ with . in theme suggestions for @utility if surrounded by digits (#17733)
- Skip color-mix(…) when opacity is 100% (#17815)
- PostCSS: Ensure that errors in imported stylesheets are recoverable (#17754)
- Upgrade: Bump all Tailwind CSS related dependencies during upgrade (#17763)
- Upgrade: Don't add - to variants starting with @ (#17814)
- Upgrade: Don't format stylesheets that didn't change when upgrading (#17824) |
| 4.1.4 | 2025년 4월 14일 | — | 64비트 포터블 릴리스 노트Added
- Add experimental @tailwindcss/oxide-wasm32-wasi target for running Tailwind in browser environments like StackBlitz (#17558)
Fixed
- Ensure color-mix(…) polyfills do not cause used CSS variables to be removed (#17555)
- Ensure color-mix(…) polyfills create fallbacks for theme variables that reference other theme variables (#17562)
- Fix brace expansion in declining ranges like {10..0..5} and {0..10..-5} (#17591)
- Work around a Chrome rendering bug when using the skew-* utilities (#17627)
- Ensure container query variant names can contain hyphens (#17628)
- Ensure shadow-inherit, inset-shadow-inherit, drop-shadow-inherit, and text-shadow-inherit inherit the shadow color (#17647)
- Ensure compatibility with array tuples used in fontSize JS theme keys (#17630)
- Ensure folders with binary file extensions in their names are scanned for utilities (#17595)
- Upgrade: Convert fontSize array tuple syntax to CSS theme variables (#17630) |
| 4.1.3 | 2025년 4월 4일 | — | 64비트 포터블 릴리스 노트Fixed
- Show warning when using unsupported bare value data type in --value(…) (#17464)
- PostCSS: Ensure changes to the input CSS file don't generate stale output when using Turbopack (#17554)
- Ensure classes are detected in Ruby's %w syntax in Slim templates (#17557) |
| 4.1.2 | 2025년 4월 3일 | — | 64비트 포터블 릴리스 노트Fixed
- Don't rely on the presence of @layer base to polyfill @property (#17506)
- Support setting multiple inset shadows as arbitrary values (#17523)
- Fix drop-shadow-* utilities that are defined with multiple shadows (#17515)
- PostCSS: Fix race condition when two changes are queued concurrently (#17514)
- PostCSS: Ensure files containing @tailwind utilities are processed (#17514)
- Ensure the color-mix(…) polyfill creates fallbacks even when using colors that cannot be statically analyzed (#17513)
- Fix slow incremental builds with @tailwindcss/vite and @tailwindcss/postscss (especially on Windows) (#17511)
- Vite: Fix missing CSS file in Qwik setups (#17533) |
| 4.1.1 | 2025년 4월 2일 | — | 64비트 포터블 릴리스 노트Fixed
- Disable padding in @source inline(…) brace expansion (#17491)
- Inject polyfills after @import and body-less @layer (#17493)
- Ensure @tailwindcss/cli does not contain an import for jiti (#17502) |
| 4.1.0 | 2025년 4월 1일 | — | 64비트 포터블 릴리스 노트Added
- Add details-content variant (#15319)
- Add inverted-colors variant (#11693)
- Add noscript variant (#11929, #17431)
- Add items-baseline-last and self-baseline-last utilities (#13888, #17476)
- Add pointer-none, pointer-coarse, and pointer-fine variants (#16946)
- Add any-pointer-none, any-pointer-coarse, and any-pointer-fine variants (#16941)
- Add safe alignment utilities (#14607)
- Add user-valid and user-invalid variants (#12370)
- Add wrap-anywhere, wrap-break-word, and wrap-normal utilities (#12128)
- Add @source inline(…) and @source not inline(…) (#17147)
- Add @source not "…" (#17255)
- Add text-shadow-* utilities (#17389)
- Add mask-* utilities (#17134)
- Add bg-{position,size}-* utilities for arbitrary values (#17432)
- Add shadow-*/<alpha>, inset-shadow-*/<alpha>, drop-shadow-*/<alpha>, and text-shadow-*/<alpha> utilities to control shadow opacity (#17398, #17434)
- Add drop-shadow-<color> utilities (#17434)
- Improve compatibility with older versions of Safari and Firefox (#17435)
Fixed
- Follow symlinks when resolving @source directives (#17391)
- Don't scan ignored files for classes when changing an ignored file triggers a rebuild using @tailwindcss/cli (#17255)
- Support negated content rules in legacy JavaScript configuration (#17255)
- Interpret syntax like @("@")md:… as @md:… in Razor files (#17427)
- Disallow top-level braces, top-level semicolons, and unbalanced parentheses and brackets in arbitrary values (#17361)
- Ensure the --theme(…) function still resolves to the CSS variables when using legacy JS plugins (#17458)
- Detect used theme variables in CSS module files (#17433, #17467)
Changed
- Ignore node_modules by default (can be overridden by @source … rules) (#17255)
- @source rules that include file extensions or point inside node_modules/ folders no longer consider your .gitignore rules (#17255)
- Deprecate bg-{left,right}-{top,bottom} in favor of bg-{top,bottom}-{left,right} utilities (#17378)
- Deprecate object-{left,right}-{top,bottom} in favor of object-{top,bottom}-{left,right} utilities (#17437) |
| 4.0.17 | 2025년 3월 26일 | — | 64비트 포터블 릴리스 노트Fixed
- Fix an issue causing the CLI to hang when processing Ruby files (#17383) |
| 4.0.16 | 2025년 3월 25일 | — | 64비트 포터블 릴리스 노트Added
- Add support for literal values in --value('…') and --modifier('…') (#17304)
Fixed
- Fix class extraction followed by ( in Pug (#17320)
- Ensure @keyframes for theme animations are emitted if they are referenced following a comma (#17352)
- Vite: Ensure that updates to an imported CSS file are properly propagated after updating source files (#17347)
- Pre process Slim templates embedded in Ruby files (#17336)
- Error when input and output files resolve to the same file when using the CLI (#17311)
- Add missing suggestions when --spacing(--value(integer, number)) is used (#17308)
- Add ::-webkit-details-marker pseudo to marker variant (#17362) |
| 4.0.15 | 2025년 3월 20일 | — | 64비트 포터블 릴리스 노트Fixed
- Fix incorrect angle in -bg-conic-* utilities (#17174)
- Fix border-[12px_4px] being interpreted as a border-color instead of a border-width (#17248)
- Work around a crash in Safari 16.4 and 16.5 when using the default Preflight styles (#17306)
- Pre-process <template lang="…"> in Vue files (#17252)
- Ensure that all CSS variables used by Preflight are prefixed (#17036)
- Prevent segfault when loaded in a worker thread on Linux (#17276)
- Ensure multiple --value(…) or --modifier(…) calls don't delete subsequent declarations (#17273)
- Fix class extraction followed by ( in Slim (#17278)
- Export PluginUtils from tailwindcss/plugin for compatibility with v3 (#17299)
- Remove redundant line-height: initial from Preflight (#15212)
- Increase Standalone hardware compatibility on macOS x64 builds (#17267)
- Ensure that the CSS file rebuilds if a new CSS variable is used from templates (#17301)
Changed
- 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) |
| 4.0.14 | 2025년 3월 13일 | — | 64비트 포터블 릴리스 노트Fixed
- Do not extract candidates with JS string interpolation ${ (#17142)
- Fix extraction of variants containing . character (#17153)
- Fix extracting candidates in Clojure/ClojureScript (#17087) |
| 4.0.13 | 2025년 3월 11일 | — | 64비트 포터블 릴리스 노트Fixed
- Fix Haml pre-processing (#17051)
- Ensure .node and .wasm files are not scanned for utilities (#17123)
- Improve performance when scanning JSON files (#17125)
- Fix extracting candidates containing dots in Haml, Pug, and Slim pre processors (#17094, #17085, #17113)
- Don't create invalid CSS when encountering a link wrapped in square brackets (#17129) |
| 4.0.12 | 2025년 3월 7일 | — | 64비트 포터블 릴리스 노트Fixed
- Vite: Fix url(…) rebasing in transitively imported CSS files (#16965)
- PostCSS: Rebase url(…)s in imported CSS files (#16965)
- Ensure utilities are sorted based on their actual property order (#16995)
- Ensure strings in Pug and Slim templates are handled correctly (#17000)
- Ensure classes between } and { are properly extracted (#17001)
- Add razor/cshtml pre processing (#17027)
- Ensure extracting candidates from JS embedded in a PHP string works as expected (#17031) |
| 4.0.11 | 2025년 3월 6일 | — | 64비트 포터블 릴리스 노트Fixed
- Ensure classes containing -- are extracted correctly (#16972)
- Ensure classes containing numbers followed by dash or underscore are extracted correctly (#16980)
- Ensure arbitrary container queries are extracted correctly (#16984)
- Ensure classes ending in [ are extracted in Slim templating language (#16985)
- Ensure arbitrary variables with data types are extracted correctly (#16986) |
| 4.0.10 | 2025년 3월 5일 | — | 64비트 포터블 릴리스 노트Added
- Add col-<number> and row-<number> utilities for grid-column and grid-row (#15183)
Fixed
- Ensure not-* does not remove :is(…) from variants (#16825)
- Ensure @keyframes are correctly emitted when using a prefix (#16850)
- Don't swallow @utility declarations when @apply is used in nested rules (#16940)
- Ensure outline-hidden behaves like outline-none outside of forced colors mode (#16943)
- Allow !important on CSS variables again (#16873)
- Vite: Do not crash when encountering an .svg file with # or ? in the filename (#16957)
- Ensure utilities are properly detected within square brackets (#16306)
- Ensure utilities are properly detected using Angular's conditional class binding syntax (#16306)
- Ensure utilities starting with numbers are properly extracted from Slim templates (#16306)
- Discard arbitrary property candidates that have guaranteed-invalid property names (#16306)
Changed
- Removed max-w-auto and max-h-auto utilities as they generate invalid CSS (#16917)
- Replaced the existing candidate extractor with a brand new extractor to improve maintainability, correctness, and performance (#16306) |
| 4.0.9 | 2025년 2월 25일 | — | 64비트 포터블 릴리스 노트Fixed
- Make JS APIs available to plugins and configs in the Standalone CLI (#15934)
- Vite: Don't crash when importing a virtual module from JavaScript that ends in .css (#16780)
- Fix an issue where @reference "…" would sometimes omit keyframe animations (#16774)
- Ensure z-*! utilities are properly marked as !important (#16795)
- Read UTF-8 CSS files that start with a byte-order mark (BOM) (#16796)
- Ensure nested functions in selectors used with JavaScript plugins are not truncated (#16802)
Changed
- Emit variable fallbacks when using @reference "…" instead of duplicate CSS variable declarations (#16774) |
| 4.0.8 | 2025년 2월 21일 | — | 64비트 포터블 릴리스 노트Added
- Allow @import with theme(…) options for stylesheets that contain more than just @theme rules (#16514)
Fixed
- Don't add !important to CSS variable declarations when using the important modifier (#16668)
- Vite: Ignore files and directories specified in your .gitignore file when using automatic source detection(#16631)
- Vite: Don't rely on the module graph for detecting candidates to ensure setups with multiple Vite builds work as expected (#16631)
- Vite: Ensure Astro production builds always contain classes used in client-only components (#16631)
- 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)
- Ensure utilities with more declarations are always sorted before utilities with fewer declarations when utilities only define CSS variables (#16715)
- Only include translate-z-px utilities once in compiled CSS (#16718)
Changed
- Don't include theme variables that aren't used in compiled CSS (#16211, #16676) |
| 4.0.7 | 2025년 2월 18일 | — | 64비트 포터블 릴리스 노트Fixed
- Export tailwindcss/lib/util/flattenColorPalette.js for backward compatibility (#16411)
- Fix sorting of numeric utility suggestions when they have different magnitudes (#16414)
- Show suggestions for fractions in IntelliSense (#16353)
- Don’t replace _ in suggested theme keys (#16433)
- Ensure --default-outline-width can be used to change the outline-width value of the outline utility (#16469)
- Ensure drop shadow utilities don't inherit unexpectedly (#16471)
- Export config and plugin types from tailwindcss/plugin for backward compatibility (#16505)
- Ensure JavaScript plugins that emit nested rules referencing the utility name work as expected (#16539)
- Statically link Visual Studio redistributables in @tailwindcss/oxide Windows builds (#16602)
- Ensure that Next.js splat routes are scanned for classes (#16457)
- Pin exact version of tailwindcss in @tailwindcss/* packages (#16623)
- Upgrade: Report errors when updating dependencies (#16504)
- Upgrade: Ensure a darkMode JS config setting with block syntax converts to use @slot (#16507)
- Upgrade: Ensure the latest version of tailwindcss and @tailwindcss/postcss are installed when upgrading (#16620) |
| 4.0.6 | 2025년 2월 10일 | — | 64비트 포터블 릴리스 노트Fixed
- Revert change to no longer include theme variables that aren't used in compiled CSS (#16403) |
| 4.0.5 | 2025년 2월 8일 | — | 64비트 포터블 릴리스 노트Added
- Add @theme static option for always including theme variables in compiled CSS (#16211)
Fixed
- Remove rogue console.log from @tailwindcss/vite (#16307)
Changed
- Don't include theme variables that aren't used in compiled CSS (#16211) |
| 4.0.4 | 2025년 2월 6일 | — | 64비트 포터블 릴리스 노트Fixed
- Fix a crash when setting JS theme values to null (#16210)
- Ensure escaped underscores in CSS variables in arbitrary values are properly unescaped (#16206)
- Ensure that the containers JS theme key is added to the --container-* namespace (#16169)
- Ensure theme @keyframes are generated even if an --animation-* variable spans multiple lines (#16237)
- Vite: Skip parsing stylesheets with the ?commonjs-proxy flag (#16238)
- Fix order-first and order-last for Firefox (#16266)
- Fix support for older instruction sets on Linux x64 builds of the standalone CLI (#16244)
- Ensure NODE_PATH is respected when resolving JavaScript and CSS files (#16274)
- Ensure Node addons are packaged correctly with FreeBSD builds (#16277)
- Fix an issue where @variant inside a referenced stylesheet could cause a stack overflow (#16300) |
| 4.0.3 | 2025년 2월 1일 | — | 64비트 포터블 릴리스 노트Fixed
- Fix incorrect removal of @import url(); (#16144) |
| 4.0.2 | 2025년 1월 31일 | — | 64비트 포터블 릴리스 노트Fixed
- Only generate positive grid-cols-* and grid-rows-* utilities (#16020)
- Ensure escaped theme variables are handled correctly (#16064)
- Ensure we process Tailwind CSS features when only using @reference or @variant (#16057)
- Refactor gradient implementation to work around prettier/prettier#17058 (#16072)
- Vite: Ensure hot-reloading works with SolidStart setups (#16052)
- Vite: Fix a crash when starting the development server in SolidStart setups (#16052)
- Vite: Don't rebase URLs that appear to be aliases (#16078)
- Vite: Transform <style> blocks in HTML files (#16069)
- Prevent camel-casing CSS custom properties added by JavaScript plugins (#16103)
- Do not emit @keyframes in @theme reference (#16120)
- Discard invalid declarations when parsing CSS (#16093)
- Do not emit empty CSS rules and at-rules (#16121)
- Handle @variant when at the top-level of a stylesheet (#16129) |
| 4.0.1 | 2025년 1월 29일 | — | 64비트 포터블 릴리스 노트Added
- Include :open pseudo-class in existing open variant (#15349)
Fixed
- Remove invalid min-w/h-none utilities (#15845)
- Discard CSS variable shorthand utilities that don't use valid CSS variables (#15738)
- Ensure font-size utilities with none modifier have a line-height set e.g. text-sm/none (#15921)
- Ensure font-size utilities with unknown modifier don't generate CSS (#15921)
- Don’t suggest font weight utilities more than once (#15857)
- Suggest container query variants (#15857)
- Disable bare value suggestions when not using the --spacing variable (#15857)
- Ensure suggested classes are properly sorted (#15857)
- Don’t look at .gitignore files outside initialized repos (#15941)
- Find utilities when using the Svelte class shorthand syntax across multiple lines (#15974)
- Find utilities when using the Angular class shorthand syntax (#15974)
- Find utilities when using functions inside arrays (#15974)
- Ensure that @tailwindcss/browser does not pollute the global namespace (#15978)
- Ensure that tailwind-merge is not scanned when using the Vite plugin (#16005)
- Ensure CSS theme variables are available within shadow roots (#15975)
- Fix crash when project lives in the / directory (#15988)
- Ensure custom variants have a non-empty selector list (#16009)
- Upgrade: Ensure JavaScript config files on different drives are correctly migrated (#15927)
- Upgrade: Migrate leading-[1] to leading-none (#16004)
- Upgrade: Do not migrate arbitrary leading utilities to bare values (#16004) |
| 4.0.0 | 2025년 1월 22일 | — | 64비트 포터블 릴리스 노트Holy shit it's actually done — we just tagged Tailwind CSS v4.0.
Tailwind CSS v4.0 is an all-new version of the framework optimized for performance and flexibility, with a reimagined configuration and customization experience, and taking full advantage of the latest advancements the web platform has to offer.
- New high-performance engine — where full builds are up to 5x faster, and incremental builds are over 100x faster — and measured in microseconds.
- Designed for the modern web — built on cutting-edge CSS features like cascade layers, registered custom properties with @property, and color-mix().
- Simplified installation — fewer dependencies, zero configuration, and just a single line of code in your CSS file.
- First-party Vite plugin — tight integration for maximum performance and minimum configuration.
- Automatic content detection — all of your template files are discovered automatically, with no configuration required.
- Built-in import support — no additional tooling necessary to bundle multiple CSS files.
- CSS-first configuration — a reimagined developer experience where you customize and extend the framework directly in CSS instead of a JavaScript configuration file.
- CSS theme variables — all of your design tokens exposed as native CSS variables so you can access them anywhere.
- Dynamic utility values and variants — stop guessing what values exist in your spacing scale, or extending your configuration for things like basic data attributes.
- Modernized P3 color palette — a redesigned, more vivid color palette that takes full advantage of modern display technology.
- Container queries — first-class APIs for styling elements based on their container size, no plugins required.
- New 3D transform utilities — transform elements in 3D space directly in your HTML.
- Expanded gradient APIs — radial and conic gradients, interpolation modes, and more.
- @starting-style support — a new variant you can use to create enter and exit transitions, without the need for JavaScript.
- not-* variant — style an element only when it doesn't match another variant, custom selector, or media or feature query.
- Even more new utilities and variants — including support for color-scheme, field-sizing, complex shadows, inert, and more.
Start using Tailwind CSS v4.0 today by installing it in a new project, or playing with it directly in the browser on Tailwind Play.
For existing projects, we've published a comprehensive upgrade guide and built an automated upgrade tool to get you on the latest version as quickly and painlessly as possible.
For a deep-dive into everything that's new, check out the announcement post. |
| 3.4.17 | 2024년 12월 17일 | — | 64비트 포터블ARM64 포터블 릴리스 노트Fixed
- Work around Node v22.12+ issue (#15421) |
| 3.4.16 | 2024년 12월 3일 | — | 64비트 포터블ARM64 포터블 릴리스 노트Fixed
- Ensure the TypeScript types for PluginsConfig allow undefined values (#14668)
Changed
- Bumped lilconfig to v3.x (#15289) |
| 3.4.15 | 2024년 11월 14일 | — | 64비트 포터블ARM64 포터블 릴리스 노트- Bump versions for security vulnerabilities (#14697)
- Ensure the TypeScript types for the boxShadow theme configuration allows arrays (#14856)
- Set fallback for opacity variables to ensure setting colors with the selection:* variant works in Chrome 131 (#15003) |
| 3.4.14 | 2024년 10월 15일 | — | 64비트 포터블ARM64 포터블 릴리스 노트Fixed
- Don't set display: none on elements that use hidden="until-found" (#14625) |
| 3.4.13 | 2024년 9월 23일 | — | 64비트 포터블ARM64 포터블 릴리스 노트Fixed
- Improve source glob verification performance (#14481) |
| 3.4.12 | 2024년 9월 17일 | — | 64비트 포터블ARM64 포터블 릴리스 노트Fixed
- Ensure using @apply with utilities that use @defaults works with rules defined in the base layer when using optimizeUniversalDefaults (#14427) |
| 3.4.11 | 2024년 9월 11일 | — | 64비트 포터블ARM64 포터블 릴리스 노트Fixed
- Allow anchor-size(…) in arbitrary values (#14393) |
| 3.4.10 | 2024년 8월 13일 | — | 64비트 포터블ARM64 포터블 릴리스 노트Fixed
- Bump versions of plugins in the Standalone CLI (#14185) |
| 3.4.9 | 2024년 8월 8일 | — | 64비트 포터블ARM64 포터블 릴리스 노트Fixed
- No longer warns when broad glob patterns are detecting vendor folders |
| 3.4.8 | 2024년 8월 7일 | — | 64비트 포터블ARM64 포터블 릴리스 노트Fixed
- Fix minification when using nested CSS (#14105)
- Warn when broad glob patterns are used in the content configuration (#14140) |
| 3.4.7 | 2024년 7월 25일 | — | 64비트 포터블ARM64 포터블 릴리스 노트Fixed
- Fix class detection in Slim templates with attached attributes and ID (#14019)
- Ensure attribute values in data-* and aria-* modifiers are always quoted in the generated CSS (#14037) |
| 3.4.6 | 2024년 7월 16일 | — | 64비트 포터블ARM64 포터블 릴리스 노트Fixed
- Fix detection of some utilities in Slim/Pug templates (#14006)
Changed
- Loosen :is() wrapping rules when using an important selector (#13900) |
| 3.4.5 | 2024년 7월 15일 | — | 64비트 포터블ARM64 포터블 릴리스 노트Fixed
- Disable automatic var() injection for anchor properties (#13826)
- Use no value instead of blur(0px) for backdrop-blur-none and blur-none utilities (#13830)
- Add .mts and .cts config file detection (#13940)
- Don't generate utilities like px-1 unnecessarily when using utilities like px-1.5 (#13959)
- Always generate -webkit-backdrop-filter for backdrop-* utilities (#13997) |
| 3.4.4 | 2024년 6월 5일 | — | 64비트 포터블ARM64 포터블 릴리스 노트Fixed
- Make it possible to use multiple <alpha-value> placeholders in a single color definition (#13740)
- Don't prefix classes in arbitrary values of has-*, group-has-*, and peer-has-* variants (#13770)
- Support negative values for {col,row}-{start,end} utilities (#13781)
- Update embedded browserslist database (#13792) |
| 3.4.3 | 2024년 3월 27일 | — | 64비트 포터블ARM64 포터블 릴리스 노트Fixed
- Revert changes to glob handling (#13384) |
| 3.4.2 | 2024년 3월 27일 | — | 64비트 포터블ARM64 포터블 릴리스 노트Fixed
- Ensure max specificity of 0,0,1 for button and input Preflight rules (#12735)
- Improve glob handling for folders with (, ), [ or ] in the file path (#12715)
- Split :has rules when using experimental.optimizeUniversalDefaults (#12736)
- Sort arbitrary properties alphabetically across multiple class lists (#12911)
- Add mix-blend-plus-darker utility (#12923)
- Ensure dashes are allowed in variant modifiers (#13303)
- Fix crash showing completions in Intellisense when using a custom separator (#13306)
- Transpile import.meta.url in config files (#13322)
- Reset letter spacing for form elements (#13150)
- Fix missing xx-large and remove double x-large absolute size (#13324)
- Don't error when encountering nested CSS unless trying to @apply a class that uses nesting (#13325)
- Ensure that arbitrary properties respect important configuration (#13353)
- Change dark mode selector so @apply works correctly with pseudo elements (#13379) |
| 3.4.1 | 2024년 1월 5일 | — | 64비트 포터블ARM64 포터블 릴리스 노트Fixed
- Don't remove keyframe stops when using important utilities (#12639)
- Don't add spaces to gradients and grid track names when followed by calc() (#12704)
- Restore old behavior for class dark mode strategy (#12717)
Added
- Add new selector and variant strategies for dark mode (#12717)
Changed
- Support rtl and ltr variants on same element as dir attribute (#12717) |
| 3.4.0 | 2023년 12월 19일 | — | 64비트 포터블ARM64 포터블 릴리스 노트Tailwind CSS v3.4 has arrived! Check out the announcement post for a guided tour through all of the highlights.
Added
- Add svh, lvh, and dvh values to default height/min-height/max-height theme (#11317)
- Add has-* variants for :has(...) pseudo-class (#11318)
- Add text-wrap utilities including text-balance and text-pretty (#11320, #12031)
- Extend default opacity scale to include all steps of 5 (#11832)
- Update Preflight html styles to include shadow DOM :host pseudo-class (#11200)
- Increase default values for grid-rows-* utilities from 1–6 to 1–12 (#12180)
- Add size-* utilities (#12287)
- Add utilities for CSS subgrid (#12298)
- Add spacing scale to min-w-*, min-h-*, and max-w-* utilities (#12300)
- Add forced-color-adjust utilities (#11931)
- Add forced-colors variant (#11694, #12582)
- Add appearance-auto utility (#12404)
- Add logical property values for float and clear utilities (#12480)
- Add * variant for targeting direct children (#12551)
Changed
- Simplify the sans font-family stack (#11748)
- Disable the tap highlight overlay on iOS (#12299)
- Improve relative precedence of rtl, ltr, forced-colors, and dark variants (#12584) |
| 3.3.7 | 2023년 12월 18일 | — | 64비트 포터블ARM64 포터블 릴리스 노트Fixed
- Fix support for container query utilities with arbitrary values (#12534)
- Fix custom config loading in Standalone CLI (#12616) |
| 3.3.6 | 2023년 12월 4일 | — | 64비트 포터블ARM64 포터블 릴리스 노트Fixed
- Don’t add spaces to negative numbers following a comma (#12324)
- Don't emit @config in CSS when watching via the CLI (#12327)
- Improve types for resolveConfig (#12272)
- Ensure configured font-feature-settings for mono are included in Preflight (#12342)
- Improve candidate detection in minified JS arrays (without spaces) (#12396)
- Don't crash when given applying a variant to a negated version of a simple utility (#12514)
- Fix support for slashes in arbitrary modifiers (#12515)
- Fix source maps of variant utilities that come from an @layer rule (#12508)
- Fix loading of built-in plugins when using an ESM or TypeScript config with the Standalone CLI (#12506) |
| 3.3.5 | 2023년 10월 25일 | — | 64비트 포터블ARM64 포터블 릴리스 노트Fixed
- Fix incorrect spaces around - in calc() expression (#12283) |
| 3.3.4 | 2023년 10월 24일 | — | 64비트 포터블ARM64 포터블 릴리스 노트Fixed
- Improve normalisation of calc()-like functions (#11686)
- Skip calc() normalisation in nested theme() calls (#11705)
- Fix incorrectly generated CSS when using square brackets inside arbitrary properties (#11709)
- Make content optional for presets in TypeScript types (#11730)
- Handle variable colors that have variable fallback values (#12049)
- Batch reading content files to prevent too many open files error (#12079)
- Skip over classes inside :not(…) when nested in an at-rule (#12105)
- Update types to work with Node16 module resolution (#12097)
- Don’t crash when important and parent selectors are equal in @apply (#12112)
- Eliminate irrelevant rules when applying variants (#12113)
- Improve RegEx parser, reduce possibilities as the key for arbitrary properties (#12121)
- Fix sorting of utilities that share multiple candidates (#12173)
- Ensure variants with arbitrary values and a modifier are correctly matched in the RegEx based parser (#12179)
- Fix crash when watching renamed files on FreeBSD (#12193)
- Allow plugins from a parent document to be used in an iframe (#12208)
- Add types for tailwindcss/nesting (#12269)
- Bump jiti, fast-glob, and browserlist dependencies (#11550)
- Improve automatic var injection for properties that accept a <dashed-ident> (#12236) |
| 3.3.3 | 2023년 7월 13일 | — | 64비트 포터블ARM64 포터블 릴리스 노트Fixed
- Fix issue where some pseudo-element variants generated the wrong selector (#10943, #10962, #11111)
- Make font settings propagate into buttons, inputs, etc. (#10940)
- Fix parsing of theme() inside calc() when there are no spaces around operators (#11157)
- Ensure repeating-conic-gradient is detected as an image (#11180)
- Move unknown pseudo-elements outside of :is by default (#11345)
- Escape animation names when prefixes contain special characters (#11470)
- Don't prefix arbitrary classes in group and peer variants (#11454)
- Sort classes using position of first matching rule (#11504)
- Allow variant to be an at-rule without a prelude (#11589)
- Make PostCSS plugin async to improve performance (#11548)
- Don’t error when a config file is missing (f97759f)
Added
- Add aria-busy utility (#10966)
Changed
- Reset padding for <dialog> elements in preflight (#11069) |
| 3.3.2 | 2023년 4월 25일 | — | 64비트 포터블ARM64 포터블 릴리스 노트Fixed
- Don’t move unknown pseudo-elements to the end of selectors (#10943, #10962)
- Inherit gradient stop positions when using variants (#11002)
- Honor default to position of gradient when using implicit transparent colors (#11002)
- Ensure @tailwindcss/oxide doesn't leak in the stable engine (#10988)
- Ensure multiple theme(spacing[5]) calls with bracket notation in arbitrary properties work (#11039)
- Normalize arbitrary modifiers (#11057)
Changed
- Drop support for Node.js v12 (#11089) |
| 3.3.1 | 2023년 3월 30일 | — | 64비트 포터블ARM64 포터블 릴리스 노트Fixed
- Fix edge case bug when loading a TypeScript config file with webpack (#10898)
- Fix variant, @apply, and important selectors when using :is() or :has() with pseudo-elements (#10903)
- Fix safelist config types (#10901)
- Fix build errors caused by @tailwindcss/line-clamp warning (#10915, #10919)
- Fix "process is not defined" error (#10919) |
| 3.3.0 | 2023년 3월 28일 | — | 64비트 포터블ARM64 포터블 릴리스 노트Added
- Support ESM and TypeScript config files (#10785)
- Extend default color palette with new 950 shades (#10879)
- Add line-height modifier support to font-size utilities (#9875)
- Add support for using variables as arbitrary values without var(...) (#9880, #9962)
- Add logical properties support for inline direction (#10166)
- Add hyphens utilities (#10071)
- Add from-{position}, via-{position} and to-{position} utilities (#10886)
- Add list-style-image utilities (#10817)
- Add caption-side utilities (#10470)
- Add line-clamp utilities from @tailwindcss/line-clamp to core (#10768, #10876, #10862)
- Add delay-0 and duration-0 utilities (#10294)
- Add justify-normal and justify-stretch utilities (#10560)
- Add content-normal and content-stretch utilities (#10645)
- Add whitespace-break-spaces utility (#10729)
- Add support for configuring default font-variation-settings for a font-family (#10034, #10515)
Fixed
- Disallow using multiple selectors in arbitrary variants (#10655)
- Sort class lists deterministically for Prettier plugin (#10672)
- Ensure CLI builds have a non-zero exit code on failure (#10703)
- Ensure module dependencies for value null, is an empty Set (#10877)
- Fix format assumption when resolving module dependencies (#10878)
Changed
- Mark rtl and ltr variants as stable and remove warnings (#10764)
- Use inset instead of top, right, bottom, and left properties (#10765)
- Make dark and rtl/ltr variants insensitive to DOM order (#10766)
- Use :is to make important selector option insensitive to DOM order (#10835) |
| 3.2.7 | 2023년 2월 16일 | — | 64비트 포터블ARM64 포터블 릴리스 노트Fixed
- Fix use of :where(.btn) when matching !btn (#10601)
- Revert including outline-color in transition and transition-colors by default (#10604) |
| 3.2.6 | 2023년 2월 9일 | — | 64비트 포터블ARM64 포터블 릴리스 노트Fixed
- drop oxide api shim (add16364b4b1100e1af23ad1ca6900a0b53cbba0) |
| 3.2.5 | 2023년 2월 8일 | — | 64비트 포터블ARM64 포터블 릴리스 노트Added
- Add standalone CLI build for 64-bit Windows on ARM (node16-win-arm64) (#10001)
Fixed
- Cleanup unused variantOrder (#9829)
- Fix foo-[abc]/[def] not being handled correctly (#9866)
- Add container queries plugin to standalone CLI (#9865)
- Support renaming of output files by PostCSS plugin. (#9944)
- Improve return value of resolveConfig, unwrap ResolvableTo (#9972)
- Clip unbalanced brackets in arbitrary values (#9973)
- Don’t reorder webkit scrollbar pseudo elements (#9991)
- Deterministic sorting of arbitrary variants (#10016)
- Add data key to theme types (#10023)
- Prevent invalid arbitrary variant selectors from failing the build (#10059)
- Properly handle subtraction followed by a variable (#10074)
- Fix missing string[] in the theme.dropShadow types (#10072)
- Update list of length units (#10100)
- Fix not matching arbitrary properties when closely followed by square brackets (#10212)
- Allow direct nesting in root or @layer nodes (#10229)
- Don't prefix classes in arbitrary variants (#10214)
- Fix perf regression when checking for changed content (#10234)
- Fix missing blocklist member in the Config type (#10239)
- Escape group names in selectors (#10276)
- Consider earlier variants before sorting functions (#10288)
- Allow variants with slashes (#10336)
- Ensure generated CSS is always sorted in the same order for a given set of templates (#10382)
- Handle variants when the same class appears multiple times in a selector (#10397)
- Handle group/peer variants with quoted strings (#10400)
- Parse alpha value from rgba/hsla colors when using variables (#10429)
- Sort by layer inside variants layer (#10505)
- Add --watch=always option to prevent exit when stdin closes (#9966)
Changed
- Alphabetize theme keys in default config (#9953)
- Update esbuild to v17 (#10368)
- Include outline-color in transition and transition-colors utilities (#10385) |
| 3.2.4 | 2022년 11월 11일 | — | 64비트 포터블 릴리스 노트Added
- Add blocklist option to prevent generating unwanted CSS (#9812)
Fixed
- Fix watching of files on Linux when renames are involved (#9796)
- Make sure errors are always displayed when watching for changes (#9810) |
| 3.2.3 | 2022년 11월 9일 | — | 64비트 포터블 릴리스 노트Fixed
- Fixed use of raw content in the CLI (#9773)
- Pick up changes from files that are both context and content deps (#9787)
- Sort pseudo-elements ONLY after classes when using variants and @apply (#9765)
- Support important utilities in the safelist (pattern must include a !) (#9791) |
| 3.2.2 | 2022년 11월 4일 | — | 64비트 포터블 릴리스 노트Fixed
- Escape special characters in resolved content base paths (#9650)
- Don't reuse container for array returning variant functions (#9644)
- Exclude non-relevant selectors when generating rules with the important modifier (#9677)
- Fix merging of arrays during config resolution (#9706)
- Ensure configured font-feature-settings are included in Preflight (#9707)
- Fix fractional values not being parsed properly inside arbitrary properties (#9705)
- Fix incorrect selectors when using @apply in selectors with combinators and pseudos (#9722)
- Fix cannot read properties of undefined (reading 'modifier') (#9656, aa979d6) |
| 3.2.1 | 2022년 10월 21일 | — | 64비트 포터블 릴리스 노트Fixed
- Fix missing supports in types (#9616)
- Fix missing PostCSS dependencies in the CLI (#9617)
- Ensure micromatch is a proper CLI dependency (#9620)
- Ensure modifier values exist when using a modifiers object for matchVariant (ba6551d) |
| 3.2.0 | 2022년 10월 19일 | — | 64비트 포터블 릴리스 노트Added
- Add new @config directive (#9405)
- Add new relative: true option to resolve content paths relative to the config file (#9396)
- Add new supports-* variant (#9453)
- Add new min-* and max-* variants (#9558)
- Add new aria-* variants (#9557, #9588)
- Add new data-* variants (#9559, #9588)
- Add new break-keep utility for word-break: keep-all (#9393)
- Add new collapse utility for visibility: collapse (#9181)
- Add new fill-none utility for fill: none (#9403)
- Add new stroke-none utility for stroke: none (#9403)
- Add new place-content-baseline utility for place-content: baseline (#9498)
- Add new place-items-baseline utility for place-items: baseline (#9507)
- Add new content-baseline utility for align-content: baseline (#9507)
- Add support for configuring default font-feature-settings for a font family (#9039)
- Add standalone CLI build for 32-bit Linux on ARM (node16-linux-armv7) (#9084)
- Add future flag to disable color opacity utility plugins (#9088)
- Add negative value support for outline-offset (#9136)
- Add support for modifiers to matchUtilities (#9541)
- Allow negating utilities using min/max/clamp (#9237)
- Implement fallback plugins when there is ambiguity between plugins when using arbitrary values (#9376)
- Support sort function in matchVariant (#9423)
- Upgrade to postcss-nested v6.0 (#9546)
Fixed
- Use absolute paths when resolving changed files for resilience against working directory changes (#9032)
- Fix ring color utility generation when using respectDefaultRingColorOpacity (#9070)
- Sort tags before classes when @apply-ing a selector with joined classes (#9107)
- Remove invalid outline-hidden utility (#9147)
- Honor the hidden attribute on elements in preflight (#9174)
- Don't stop watching atomically renamed files (#9173, #9215)
- Fix duplicate utilities issue causing memory leaks (#9208)
- Fix fontFamily config TypeScript types (#9214)
- Handle variants on complex selector utilities (#9262)
- Fix shared config mutation issue (#9294)
- Fix ordering of parallel variants (#9282)
- Handle variants in utility selectors using :where() and :has() (#9309)
- Improve data type analysis for arbitrary values (#9320)
- Don't emit generated utilities with invalid uses of theme functions (#9319)
- Revert change that only listened for stdin close on TTYs (#9331)
- Ignore unset values (like null or undefined) when resolving the classList for intellisense (#9385)
- Improve type checking for formal syntax (#9349, #9448)
- Fix incorrect required content key in custom plugin configs (#9502, #9545)
- Fix content path detection on Windows (#9569)
- Ensure --content is used in the CLI when passed (#9587) |
| 3.1.8 | 2022년 8월 5일 | — | 64비트 포터블 릴리스 노트Fixed
- Don’t prefix classes within reused arbitrary variants (#8992)
- Fix usage of alpha values inside single-named colors that are functions (#9008)
- Fix @apply of user utilities when negative and non-negative versions both exist (#9027) |