Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: SNathani/tailwindcss
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: main
Choose a base ref
...
head repository: tailwindlabs/tailwindcss
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: main
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 5 commits
  • 5 files changed
  • 3 contributors

Commits on Feb 19, 2026

  1. Correct CHANGELOG to mention inset not inline (tailwindlabs#19700)

    I noticed this when reading the changelog to migrate a project to the
    new version. I'm not sure whether retroactively changing the changelog
    is considered acceptable behaviour in this project or whether appending
    a notice in the next changelog would be better.
    
    Funnily this was actually guessed in tailwindlabs#19613, though hard to notice among
    the other many false guesses.
    ginnyTheCat authored Feb 19, 2026
    Configuration menu
    Copy the full SHA
    7a54d15 View commit details
    Browse the repository at this point in the history
  2. Allow trailing dash in functional utility names (tailwindlabs#19696)

    ## Problem
    
    Tailwind 4.2.0 introduced stricter `@utility` name validation (tailwindlabs#19524)
    that rejects functional utility names where the root ends with a dash
    after stripping the `-*` suffix. This breaks a valid and useful naming
    pattern where a double dash separates the CSS property from a value
    scale:
    
    ```css
    @Utility border--* {
      border-color: --value(--color-border-*, [color]);
    }
    ```
    
    This produces: `border--0`, `border--1`, `border--2`, etc.
    
    The error message is:
    
    > `@utility border--*` defines an invalid utility name. Utilities should
    be alphanumeric and start with a lowercase letter.
    
    ## Why this pattern matters
    
    The double-dash convention creates a clear visual grammar in class
    names. The first segment names the CSS property, and the double dash
    separates it from the semantic scale value. In a dense className string
    like `border border--0 background--0 content--4`, the scale values (0,
    0, 4) are immediately scannable, distinct from the single-dash property
    names around them.
    
    This pattern is actively used in production design systems for semantic
    color scales (background, content, border, shadow) with values from
    0-10.
    
    ## Why the restriction is unnecessary
    
    The validation comment states the concern is that `border--*` could
    match the bare class `border-` when using default values. However, this
    edge case is already handled:
    
    1. **`findRoots` in `candidate.ts`** (line 887) already rejects empty
    values: `if (root[1] === '') break`
    2. **The Oxide scanner** already extracts double-dash candidates
    correctly, as confirmed by existing tests: `("items--center",
    vec!["items--center"])`
    
    The candidate parser and scanner both handle this case. The validation
    was an overcorrection.
    
    ## Changes
    
    - Removed the trailing-dash check from `isValidFunctionalUtilityName` in
    `utilities.ts`
    - Updated the existing unit test from `['foo--*', false]` to `['foo--*',
    true]`
    - Added an integration test proving `@utility border--*` compiles
    correctly with theme values
    
    ## Test results
    
    All 4121 tests pass across the tailwindcss package, including the new
    integration test.
    
    ---------
    
    Co-authored-by: Robin Malfait <malfait.robin@gmail.com>
    kirkouimet and RobinMalfait authored Feb 19, 2026
    Configuration menu
    Copy the full SHA
    d15d92c View commit details
    Browse the repository at this point in the history

Commits on Feb 20, 2026

  1. Configuration menu
    Copy the full SHA
    14083ad View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    1a97355 View commit details
    Browse the repository at this point in the history

Commits on Feb 22, 2026

  1. Configuration menu
    Copy the full SHA
    58d1fe3 View commit details
    Browse the repository at this point in the history
Loading