', '!visible'],
+
+ // Alpine/Livewire wire:…
+ ['
', 'blur'],
+
+ // Vue 3 events
+ [`emit('blur', props.modelValue)\n`, 'blur'],
+ [`$emit('blur', props.modelValue)\n`, 'blur'],
+
+ // JavaScript / TypeScript
+ [`document.addEventListener('blur',handleBlur)`, 'blur'],
+ [`document.addEventListener('blur', handleBlur)`, 'blur'],
+
+ [`function foo({ outline = true })`, 'outline'],
+ [`function foo({ before = false, outline = true })`, 'outline'],
+ [`function foo({before=false,outline=true })`, 'outline'],
+ [`function foo({outline=true })`, 'outline'],
+ // https://github.com/tailwindlabs/tailwindcss/issues/18675
+ [
+ // With default value
+ `function foo({ size = "1.25rem", digit, outline = true, textClass = "", className = "" })`,
+ 'outline',
+ ],
+ [
+ // Without default value
+ `function foo({ size = "1.25rem", digit, outline, textClass = "", className = "" })`,
+ 'outline',
+ ],
+ [
+ // As the last argument
+ `function foo({ size = "1.25rem", digit, outline })`,
+ 'outline',
+ ],
+ [
+ // As the last argument, but there is techinically another `"` on the same line
+ `function foo({ size = "1.25rem", digit, outline }): { return "foo" }`,
+ 'outline',
+ ],
+ [
+ // Tricky quote balancing
+ `function foo({ before = "'", outline, after = "'" }): { return "foo" }`,
+ 'outline',
+ ],
+
+ [`function foo(blur, foo)`, 'blur'],
+ [`function foo(blur,foo)`, 'blur'],
+ ])('does not replace classes in invalid positions #%#', async (example, candidate) => {
expect(
await migrateCandidate(designSystem, {}, candidate, {
contents: example,
@@ -17,52 +99,5 @@ test('does not replace classes in invalid positions', async () => {
end: example.indexOf(candidate) + candidate.length,
}),
).toEqual(candidate)
- }
-
- await shouldNotReplace(`let notBorder = !border \n`)
- await shouldNotReplace(`{ "foo": !border.something + ""}\n`)
- await shouldNotReplace(`
\n`)
- await shouldNotReplace(`
\n`)
- await shouldNotReplace(`
\n`)
- await shouldNotReplace(`
\n`)
- await shouldNotReplace(`
\n`)
- await shouldNotReplace(`
\n`)
- await shouldNotReplace(`
\n`)
- await shouldNotReplace(`
\n`)
- await shouldNotReplace(`
\n`)
- await shouldNotReplace(`
\n`)
-
- await shouldNotReplace(`let notShadow = shadow \n`, 'shadow')
- await shouldNotReplace(`{ "foo": shadow.something + ""}\n`, 'shadow')
- await shouldNotReplace(`
\n`, 'shadow')
- await shouldNotReplace(`
\n`, 'shadow')
- await shouldNotReplace(`
\n`, 'shadow')
- await shouldNotReplace(`
\n`, 'shadow')
- await shouldNotReplace(`
\n`, 'shadow')
- await shouldNotReplace(`
\n`, 'shadow')
- await shouldNotReplace(`
\n`, 'shadow')
- await shouldNotReplace(`
\n`, 'shadow')
- await shouldNotReplace(`
\n`, 'shadow')
- await shouldNotReplace(`
\n`, 'shadow')
- await shouldNotReplace(
- `
\n`,
- 'shadow',
- )
-
- // Next.js Image placeholder cases
- await shouldNotReplace(`
`, 'blur')
- await shouldNotReplace(`
`, 'blur')
- await shouldNotReplace(`
`, 'blur')
-
- // https://github.com/tailwindlabs/tailwindcss/issues/17974
- await shouldNotReplace('
', '!duration')
- await shouldNotReplace('
', '!duration')
- await shouldNotReplace('
', '!visible')
-
- // Alpine/Livewire wire:…
- await shouldNotReplace('
', 'blur')
-
- // Vue 3 events
- await shouldNotReplace(`emit('blur', props.modelValue)\n`, 'blur')
- await shouldNotReplace(`$emit('blur', props.modelValue)\n`, 'blur')
+ })
})
diff --git a/packages/@tailwindcss-upgrade/src/codemods/template/is-safe-migration.ts b/packages/@tailwindcss-upgrade/src/codemods/template/is-safe-migration.ts
index 7ac24d645fb3..e4ec86b2802c 100644
--- a/packages/@tailwindcss-upgrade/src/codemods/template/is-safe-migration.ts
+++ b/packages/@tailwindcss-upgrade/src/codemods/template/is-safe-migration.ts
@@ -3,7 +3,6 @@ import type { DesignSystem } from '../../../../tailwindcss/src/design-system'
import { DefaultMap } from '../../../../tailwindcss/src/utils/default-map'
import * as version from '../../utils/version'
-const QUOTES = ['"', "'", '`']
const LOGICAL_OPERATORS = ['&&', '||', '?', '===', '==', '!=', '!==', '>', '>=', '<', '<=']
const CONDITIONAL_TEMPLATE_SYNTAX = [
// Vue
@@ -12,13 +11,16 @@ const CONDITIONAL_TEMPLATE_SYNTAX = [
/v-show=['"]$/,
/(? currentLineBeforeCandidate.includes(quote))
- let isQuoteAfterCandidate = QUOTES.some((quote) => currentLineAfterCandidate.includes(quote))
+ let isQuoteBeforeCandidate = isMiddleOfString(currentLineBeforeCandidate)
+ let isQuoteAfterCandidate = isMiddleOfString(currentLineAfterCandidate)
if (!isQuoteBeforeCandidate || !isQuoteAfterCandidate) {
return false
}
@@ -210,3 +212,38 @@ const styleBlockRanges = new DefaultMap((source: string) => {
ranges.push(startTag, endTag)
}
})
+
+const BACKSLASH = 0x5c
+const DOUBLE_QUOTE = 0x22
+const SINGLE_QUOTE = 0x27
+const BACKTICK = 0x60
+
+function isMiddleOfString(line: string): boolean {
+ let currentQuote: number | null = null
+
+ for (let i = 0; i < line.length; i++) {
+ let char = line.charCodeAt(i)
+ switch (char) {
+ // Escaped character, skip the next character
+ case BACKSLASH:
+ i++
+ break
+
+ case SINGLE_QUOTE:
+ case DOUBLE_QUOTE:
+ case BACKTICK:
+ // Found matching quote, we are outside of a string
+ if (currentQuote === char) {
+ currentQuote = null
+ }
+
+ // Found a quote, we are inside a string
+ else if (currentQuote === null) {
+ currentQuote = char
+ }
+ break
+ }
+ }
+
+ return currentQuote !== null
+}
From 8e8a2d6efc90cbcb891092673d5075a19aa57948 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C3=ABl=20De=20Boey?=
Date: Tue, 12 Aug 2025 15:52:35 +0200
Subject: [PATCH 049/119] update `@ampproject/remapping` to
`@jridgewell/remapping` (#18716)
Even though
[`@ampproject/remapping`](https://npm.im/@ampproject/remapping) isn't
deprecated on npm (yet), it's
[repo](https://github.com/ampproject/remapping) is archived, so people
should move to
[`@jridgewell/remapping`](https://npm.im/@jridgewell/remapping)
> Development moved to
[monorepo](https://github.com/jridgewell/sourcemaps)
> See
https://github.com/jridgewell/sourcemaps/tree/main/packages/remapping
for latest code.
---------
Co-authored-by: Jordan Pittman
---
packages/@tailwindcss-node/package.json | 2 +-
packages/@tailwindcss-node/src/optimize.ts | 2 +-
packages/tailwindcss/package.json | 2 +-
.../src/source-maps/source-map.test.ts | 2 +-
.../tailwindcss/src/source-maps/source-map.ts | 2 +-
pnpm-lock.yaml | 35 ++++++++-----------
6 files changed, 19 insertions(+), 26 deletions(-)
diff --git a/packages/@tailwindcss-node/package.json b/packages/@tailwindcss-node/package.json
index c7bfe356e886..d334877b5572 100644
--- a/packages/@tailwindcss-node/package.json
+++ b/packages/@tailwindcss-node/package.json
@@ -37,7 +37,7 @@
}
},
"dependencies": {
- "@ampproject/remapping": "^2.3.0",
+ "@jridgewell/remapping": "^2.3.4",
"enhanced-resolve": "^5.18.2",
"jiti": "^2.5.1",
"lightningcss": "catalog:",
diff --git a/packages/@tailwindcss-node/src/optimize.ts b/packages/@tailwindcss-node/src/optimize.ts
index 4024d15b8e0a..ff1fd8364332 100644
--- a/packages/@tailwindcss-node/src/optimize.ts
+++ b/packages/@tailwindcss-node/src/optimize.ts
@@ -1,4 +1,4 @@
-import remapping from '@ampproject/remapping'
+import remapping from '@jridgewell/remapping'
import { Features, transform } from 'lightningcss'
import MagicString from 'magic-string'
diff --git a/packages/tailwindcss/package.json b/packages/tailwindcss/package.json
index 08aeecf438f4..cd8fabceab33 100644
--- a/packages/tailwindcss/package.json
+++ b/packages/tailwindcss/package.json
@@ -127,7 +127,7 @@
"utilities.css"
],
"devDependencies": {
- "@ampproject/remapping": "^2.3.0",
+ "@jridgewell/remapping": "^2.3.4",
"@tailwindcss/oxide": "workspace:^",
"@types/node": "catalog:",
"dedent": "1.6.0",
diff --git a/packages/tailwindcss/src/source-maps/source-map.test.ts b/packages/tailwindcss/src/source-maps/source-map.test.ts
index 8fd0697c5807..f82ca536f968 100644
--- a/packages/tailwindcss/src/source-maps/source-map.test.ts
+++ b/packages/tailwindcss/src/source-maps/source-map.test.ts
@@ -1,4 +1,4 @@
-import remapping from '@ampproject/remapping'
+import remapping from '@jridgewell/remapping'
import dedent from 'dedent'
import MagicString from 'magic-string'
import * as fs from 'node:fs/promises'
diff --git a/packages/tailwindcss/src/source-maps/source-map.ts b/packages/tailwindcss/src/source-maps/source-map.ts
index 58f544568363..1e1e8e7a0deb 100644
--- a/packages/tailwindcss/src/source-maps/source-map.ts
+++ b/packages/tailwindcss/src/source-maps/source-map.ts
@@ -57,7 +57,7 @@ export interface DecodedMapping {
*
* We then require the use of other tools that can translate one or more
* "input" source maps into a final output source map. For example,
- * `@ampproject/remapping` can be used to handle this.
+ * `@jridgewell/remapping` can be used to handle this.
*
* This also ensures that tools that expect "local" source maps are able to
* consume the source map we generate.
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index b3a797e1e50e..300158191b8c 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -237,9 +237,9 @@ importers:
packages/@tailwindcss-node:
dependencies:
- '@ampproject/remapping':
- specifier: ^2.3.0
- version: 2.3.0
+ '@jridgewell/remapping':
+ specifier: ^2.3.4
+ version: 2.3.5
enhanced-resolve:
specifier: ^5.18.2
version: 5.18.2
@@ -456,9 +456,9 @@ importers:
packages/tailwindcss:
devDependencies:
- '@ampproject/remapping':
- specifier: ^2.3.0
- version: 2.3.0
+ '@jridgewell/remapping':
+ specifier: ^2.3.4
+ version: 2.3.5
'@tailwindcss/oxide':
specifier: workspace:^
version: link:../../crates/node
@@ -1445,6 +1445,9 @@ packages:
resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==}
engines: {node: '>=6.0.0'}
+ '@jridgewell/remapping@2.3.5':
+ resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==}
+
'@jridgewell/resolve-uri@3.1.2':
resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
engines: {node: '>=6.0.0'}
@@ -1987,7 +1990,6 @@ packages:
'@parcel/watcher-darwin-arm64@2.5.1':
resolution: {integrity: sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==}
engines: {node: '>= 10.0.0'}
- cpu: [arm64]
os: [darwin]
'@parcel/watcher-darwin-x64@2.5.0':
@@ -1999,7 +2001,6 @@ packages:
'@parcel/watcher-darwin-x64@2.5.1':
resolution: {integrity: sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==}
engines: {node: '>= 10.0.0'}
- cpu: [x64]
os: [darwin]
'@parcel/watcher-freebsd-x64@2.5.0':
@@ -2047,7 +2048,6 @@ packages:
'@parcel/watcher-linux-arm64-glibc@2.5.1':
resolution: {integrity: sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==}
engines: {node: '>= 10.0.0'}
- cpu: [arm64]
os: [linux]
'@parcel/watcher-linux-arm64-musl@2.5.0':
@@ -2059,7 +2059,6 @@ packages:
'@parcel/watcher-linux-arm64-musl@2.5.1':
resolution: {integrity: sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==}
engines: {node: '>= 10.0.0'}
- cpu: [arm64]
os: [linux]
'@parcel/watcher-linux-x64-glibc@2.5.0':
@@ -2071,7 +2070,6 @@ packages:
'@parcel/watcher-linux-x64-glibc@2.5.1':
resolution: {integrity: sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==}
engines: {node: '>= 10.0.0'}
- cpu: [x64]
os: [linux]
'@parcel/watcher-linux-x64-musl@2.5.0':
@@ -2083,7 +2081,6 @@ packages:
'@parcel/watcher-linux-x64-musl@2.5.1':
resolution: {integrity: sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==}
engines: {node: '>= 10.0.0'}
- cpu: [x64]
os: [linux]
'@parcel/watcher-wasm@2.5.0':
@@ -2125,7 +2122,6 @@ packages:
'@parcel/watcher-win32-x64@2.5.1':
resolution: {integrity: sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==}
engines: {node: '>= 10.0.0'}
- cpu: [x64]
os: [win32]
'@parcel/watcher@2.5.0':
@@ -2653,7 +2649,6 @@ packages:
bun@1.2.18:
resolution: {integrity: sha512-OR+EpNckoJN4tHMVZPaTPxDj2RgpJgJwLruTIFYbO3bQMguLd0YrmkWKYqsiihcLgm2ehIjF/H1RLfZiRa7+qQ==}
- cpu: [arm64, x64, aarch64]
os: [darwin, linux, win32]
hasBin: true
@@ -3506,13 +3501,11 @@ packages:
lightningcss-darwin-arm64@1.30.1:
resolution: {integrity: sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ==}
engines: {node: '>= 12.0.0'}
- cpu: [arm64]
os: [darwin]
lightningcss-darwin-x64@1.30.1:
resolution: {integrity: sha512-k1EvjakfumAQoTfcXUcHQZhSpLlkAuEkdMBsI/ivWw9hL+7FtilQc0Cy3hrx0AAQrVtQAbMI7YjCgYgvn37PzA==}
engines: {node: '>= 12.0.0'}
- cpu: [x64]
os: [darwin]
lightningcss-freebsd-x64@1.30.1:
@@ -3530,25 +3523,21 @@ packages:
lightningcss-linux-arm64-gnu@1.30.1:
resolution: {integrity: sha512-gB72maP8rmrKsnKYy8XUuXi/4OctJiuQjcuqWNlJQ6jZiWqtPvqFziskH3hnajfvKB27ynbVCucKSm2rkQp4Bw==}
engines: {node: '>= 12.0.0'}
- cpu: [arm64]
os: [linux]
lightningcss-linux-arm64-musl@1.30.1:
resolution: {integrity: sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ==}
engines: {node: '>= 12.0.0'}
- cpu: [arm64]
os: [linux]
lightningcss-linux-x64-gnu@1.30.1:
resolution: {integrity: sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw==}
engines: {node: '>= 12.0.0'}
- cpu: [x64]
os: [linux]
lightningcss-linux-x64-musl@1.30.1:
resolution: {integrity: sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ==}
engines: {node: '>= 12.0.0'}
- cpu: [x64]
os: [linux]
lightningcss-win32-arm64-msvc@1.30.1:
@@ -3560,7 +3549,6 @@ packages:
lightningcss-win32-x64-msvc@1.30.1:
resolution: {integrity: sha512-PVqXh48wh4T53F/1CCu8PIPCxLzWyCnn/9T5W1Jpmdy5h9Cwd+0YQS6/LwhHXSafuc61/xg9Lv5OrCby6a++jg==}
engines: {node: '>= 12.0.0'}
- cpu: [x64]
os: [win32]
lightningcss@1.30.1:
@@ -5329,6 +5317,11 @@ snapshots:
'@jridgewell/sourcemap-codec': 1.5.0
'@jridgewell/trace-mapping': 0.3.25
+ '@jridgewell/remapping@2.3.5':
+ dependencies:
+ '@jridgewell/gen-mapping': 0.3.12
+ '@jridgewell/trace-mapping': 0.3.29
+
'@jridgewell/resolve-uri@3.1.2': {}
'@jridgewell/set-array@1.2.1': {}
From 1bbbe418859fcf9fd4950a8cc8058835a89b43a1 Mon Sep 17 00:00:00 2001
From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com>
Date: Tue, 12 Aug 2025 13:59:07 +0000
Subject: [PATCH 050/119] =?UTF-8?q?Update=20all=20of=20react=2019.1.0=20?=
=?UTF-8?q?=E2=86=92=2019.1.1=20(patch)=20(#18669)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Here is everything you need to know about this update. Please take a
good look at what changed and the test results before merging this pull
request.
### What changed?
#### ✳️ react (19.1.0 → 19.1.1) ·
[Repo](https://github.com/facebook/react) ·
[Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md)
Release Notes
React
- Fixed Owner Stacks to work with ES2015 function.name semantics (#33680
by @hoxyq)
Does any of this look wrong? Please let us
know.
Commits
See
the full diff on Github. The new version differs by 11 commits:
#### ✳️ react-dom (19.1.0 → 19.1.1) ·
[Repo](https://github.com/facebook/react) ·
[Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md)
Release Notes
React
- Fixed Owner Stacks to work with ES2015 function.name semantics (#33680
by @hoxyq)
Does any of this look wrong? Please let us
know.
Commits
See
the full diff on Github. The new version differs by 11 commits:
---

[Depfu](https://depfu.com) will automatically keep this PR
conflict-free, as long as you don't add any commits to this branch
yourself. You can also trigger a rebase manually by commenting with
`@depfu rebase`.
All Depfu comment commands
- @depfu rebase
- Rebases against your default branch and
redoes this update
- @depfu recreate
- Recreates this PR, overwriting any edits
that you've made to it
- @depfu merge
- Merges this PR once your tests are passing and
conflicts are resolved
- @depfu cancel merge
- Cancels automatic merging of this
PR
- @depfu close
- Closes this PR and deletes the branch
- @depfu reopen
- Restores the branch and reopens this PR (if
it's closed)
- @depfu pause
- Ignores all future updates for this dependency
and closes this PR
- @depfu pause [minor|major]
- Ignores all future minor/major
updates for this dependency and closes this PR
- @depfu resume
- Future versions of this dependency will
create PRs again (leaves this PR as is)
Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com>
Co-authored-by: Jordan Pittman
---
playgrounds/nextjs/package.json | 4 +-
playgrounds/v3/package.json | 4 +-
playgrounds/vite/package.json | 4 +-
pnpm-lock.yaml | 71 ++++++++++++++++++++-------------
4 files changed, 49 insertions(+), 34 deletions(-)
diff --git a/playgrounds/nextjs/package.json b/playgrounds/nextjs/package.json
index 2af8657fadb7..ebd1424efd70 100644
--- a/playgrounds/nextjs/package.json
+++ b/playgrounds/nextjs/package.json
@@ -12,8 +12,8 @@
"@tailwindcss/postcss": "workspace:^",
"fast-glob": "^3.3.3",
"next": "15.4.4",
- "react": "^19.1.0",
- "react-dom": "^19.1.0",
+ "react": "^19.1.1",
+ "react-dom": "^19.1.1",
"tailwindcss": "workspace:^"
},
"devDependencies": {
diff --git a/playgrounds/v3/package.json b/playgrounds/v3/package.json
index 9522f647d342..c628b36897ec 100644
--- a/playgrounds/v3/package.json
+++ b/playgrounds/v3/package.json
@@ -10,8 +10,8 @@
},
"dependencies": {
"next": "15.4.4",
- "react": "^19.1.0",
- "react-dom": "^19.1.0",
+ "react": "^19.1.1",
+ "react-dom": "^19.1.1",
"tailwindcss": "^3"
},
"devDependencies": {
diff --git a/playgrounds/vite/package.json b/playgrounds/vite/package.json
index 2b3c97d040a0..77a5a50c1f37 100644
--- a/playgrounds/vite/package.json
+++ b/playgrounds/vite/package.json
@@ -11,8 +11,8 @@
"dependencies": {
"@tailwindcss/vite": "workspace:^",
"@vitejs/plugin-react": "^4.7.0",
- "react": "^19.1.0",
- "react-dom": "^19.1.0",
+ "react": "^19.1.1",
+ "react-dom": "^19.1.1",
"tailwindcss": "workspace:^"
},
"devDependencies": {
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 300158191b8c..807a8e4ab6af 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -488,13 +488,13 @@ importers:
version: 3.3.3
next:
specifier: 15.4.4
- version: 15.4.4(@playwright/test@1.54.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ version: 15.4.4(@playwright/test@1.54.2)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
react:
- specifier: ^19.1.0
- version: 19.1.0
+ specifier: ^19.1.1
+ version: 19.1.1
react-dom:
- specifier: ^19.1.0
- version: 19.1.0(react@19.1.0)
+ specifier: ^19.1.1
+ version: 19.1.1(react@19.1.1)
tailwindcss:
specifier: workspace:^
version: link:../../packages/tailwindcss
@@ -522,13 +522,13 @@ importers:
dependencies:
next:
specifier: 15.4.4
- version: 15.4.4(@playwright/test@1.54.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ version: 15.4.4(@playwright/test@1.54.2)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
react:
- specifier: ^19.1.0
- version: 19.1.0
+ specifier: ^19.1.1
+ version: 19.1.1
react-dom:
- specifier: ^19.1.0
- version: 19.1.0(react@19.1.0)
+ specifier: ^19.1.1
+ version: 19.1.1(react@19.1.1)
tailwindcss:
specifier: ^3
version: 3.4.14
@@ -564,11 +564,11 @@ importers:
specifier: ^4.7.0
version: 4.7.0(vite@7.0.0(@types/node@20.19.1)(jiti@2.5.1)(lightningcss@1.30.1(patch_hash=tzyxy3asfxcqc7ihrooumyi5fm))(terser@5.31.6)(tsx@4.19.1)(yaml@2.6.0))
react:
- specifier: ^19.1.0
- version: 19.1.0
+ specifier: ^19.1.1
+ version: 19.1.1
react-dom:
- specifier: ^19.1.0
- version: 19.1.0(react@19.1.0)
+ specifier: ^19.1.1
+ version: 19.1.1(react@19.1.1)
tailwindcss:
specifier: workspace:^
version: link:../../packages/tailwindcss
@@ -1990,6 +1990,7 @@ packages:
'@parcel/watcher-darwin-arm64@2.5.1':
resolution: {integrity: sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==}
engines: {node: '>= 10.0.0'}
+ cpu: [arm64]
os: [darwin]
'@parcel/watcher-darwin-x64@2.5.0':
@@ -2001,6 +2002,7 @@ packages:
'@parcel/watcher-darwin-x64@2.5.1':
resolution: {integrity: sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==}
engines: {node: '>= 10.0.0'}
+ cpu: [x64]
os: [darwin]
'@parcel/watcher-freebsd-x64@2.5.0':
@@ -2048,6 +2050,7 @@ packages:
'@parcel/watcher-linux-arm64-glibc@2.5.1':
resolution: {integrity: sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==}
engines: {node: '>= 10.0.0'}
+ cpu: [arm64]
os: [linux]
'@parcel/watcher-linux-arm64-musl@2.5.0':
@@ -2059,6 +2062,7 @@ packages:
'@parcel/watcher-linux-arm64-musl@2.5.1':
resolution: {integrity: sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==}
engines: {node: '>= 10.0.0'}
+ cpu: [arm64]
os: [linux]
'@parcel/watcher-linux-x64-glibc@2.5.0':
@@ -2070,6 +2074,7 @@ packages:
'@parcel/watcher-linux-x64-glibc@2.5.1':
resolution: {integrity: sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==}
engines: {node: '>= 10.0.0'}
+ cpu: [x64]
os: [linux]
'@parcel/watcher-linux-x64-musl@2.5.0':
@@ -2081,6 +2086,7 @@ packages:
'@parcel/watcher-linux-x64-musl@2.5.1':
resolution: {integrity: sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==}
engines: {node: '>= 10.0.0'}
+ cpu: [x64]
os: [linux]
'@parcel/watcher-wasm@2.5.0':
@@ -2122,6 +2128,7 @@ packages:
'@parcel/watcher-win32-x64@2.5.1':
resolution: {integrity: sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==}
engines: {node: '>= 10.0.0'}
+ cpu: [x64]
os: [win32]
'@parcel/watcher@2.5.0':
@@ -2649,6 +2656,7 @@ packages:
bun@1.2.18:
resolution: {integrity: sha512-OR+EpNckoJN4tHMVZPaTPxDj2RgpJgJwLruTIFYbO3bQMguLd0YrmkWKYqsiihcLgm2ehIjF/H1RLfZiRa7+qQ==}
+ cpu: [arm64, x64, aarch64]
os: [darwin, linux, win32]
hasBin: true
@@ -3501,11 +3509,13 @@ packages:
lightningcss-darwin-arm64@1.30.1:
resolution: {integrity: sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ==}
engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
os: [darwin]
lightningcss-darwin-x64@1.30.1:
resolution: {integrity: sha512-k1EvjakfumAQoTfcXUcHQZhSpLlkAuEkdMBsI/ivWw9hL+7FtilQc0Cy3hrx0AAQrVtQAbMI7YjCgYgvn37PzA==}
engines: {node: '>= 12.0.0'}
+ cpu: [x64]
os: [darwin]
lightningcss-freebsd-x64@1.30.1:
@@ -3523,21 +3533,25 @@ packages:
lightningcss-linux-arm64-gnu@1.30.1:
resolution: {integrity: sha512-gB72maP8rmrKsnKYy8XUuXi/4OctJiuQjcuqWNlJQ6jZiWqtPvqFziskH3hnajfvKB27ynbVCucKSm2rkQp4Bw==}
engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
os: [linux]
lightningcss-linux-arm64-musl@1.30.1:
resolution: {integrity: sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ==}
engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
os: [linux]
lightningcss-linux-x64-gnu@1.30.1:
resolution: {integrity: sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw==}
engines: {node: '>= 12.0.0'}
+ cpu: [x64]
os: [linux]
lightningcss-linux-x64-musl@1.30.1:
resolution: {integrity: sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ==}
engines: {node: '>= 12.0.0'}
+ cpu: [x64]
os: [linux]
lightningcss-win32-arm64-msvc@1.30.1:
@@ -3549,6 +3563,7 @@ packages:
lightningcss-win32-x64-msvc@1.30.1:
resolution: {integrity: sha512-PVqXh48wh4T53F/1CCu8PIPCxLzWyCnn/9T5W1Jpmdy5h9Cwd+0YQS6/LwhHXSafuc61/xg9Lv5OrCby6a++jg==}
engines: {node: '>= 12.0.0'}
+ cpu: [x64]
os: [win32]
lightningcss@1.30.1:
@@ -4012,10 +4027,10 @@ packages:
radix3@1.1.2:
resolution: {integrity: sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==}
- react-dom@19.1.0:
- resolution: {integrity: sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==}
+ react-dom@19.1.1:
+ resolution: {integrity: sha512-Dlq/5LAZgF0Gaz6yiqZCf6VCcZs1ghAJyrsu84Q/GT0gV+mCxbfmKNoGRKBYMJ8IEdGPqu49YWXD02GCknEDkw==}
peerDependencies:
- react: ^19.1.0
+ react: ^19.1.1
react-is@16.13.1:
resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
@@ -4024,8 +4039,8 @@ packages:
resolution: {integrity: sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==}
engines: {node: '>=0.10.0'}
- react@19.1.0:
- resolution: {integrity: sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==}
+ react@19.1.1:
+ resolution: {integrity: sha512-w8nqGImo45dmMIfljjMwOGtbmC/mk4CMYhWIicdSflH91J9TyCyczcPFXJzrZ/ZXcgGRFeP6BU0BEJTw6tZdfQ==}
engines: {node: '>=0.10.0'}
read-cache@1.0.0:
@@ -7695,15 +7710,15 @@ snapshots:
natural-compare@1.4.0: {}
- next@15.4.4(@playwright/test@1.54.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0):
+ next@15.4.4(@playwright/test@1.54.2)(react-dom@19.1.1(react@19.1.1))(react@19.1.1):
dependencies:
'@next/env': 15.4.4
'@swc/helpers': 0.5.15
caniuse-lite: 1.0.30001705
postcss: 8.4.31
- react: 19.1.0
- react-dom: 19.1.0(react@19.1.0)
- styled-jsx: 5.1.6(react@19.1.0)
+ react: 19.1.1
+ react-dom: 19.1.1(react@19.1.1)
+ styled-jsx: 5.1.6(react@19.1.1)
optionalDependencies:
'@next/swc-darwin-arm64': 15.4.4
'@next/swc-darwin-x64': 15.4.4
@@ -7983,16 +7998,16 @@ snapshots:
radix3@1.1.2: {}
- react-dom@19.1.0(react@19.1.0):
+ react-dom@19.1.1(react@19.1.1):
dependencies:
- react: 19.1.0
+ react: 19.1.1
scheduler: 0.26.0
react-is@16.13.1: {}
react-refresh@0.17.0: {}
- react@19.1.0: {}
+ react@19.1.1: {}
read-cache@1.0.0:
dependencies:
@@ -8279,10 +8294,10 @@ snapshots:
strip-json-comments@3.1.1: {}
- styled-jsx@5.1.6(react@19.1.0):
+ styled-jsx@5.1.6(react@19.1.1):
dependencies:
client-only: 0.0.1
- react: 19.1.0
+ react: 19.1.1
sucrase@3.35.0:
dependencies:
From 6bfdb7c60e0a9fe81f0b8ad7bfc6316dcc49cf7e Mon Sep 17 00:00:00 2001
From: Jordan Pittman
Date: Wed, 13 Aug 2025 10:29:52 -0400
Subject: [PATCH 051/119] Bump Bun (#18723)
Fixes #18695
Was waiting for 1.2.20 b/c of some build failures. Hopefully fixed now.
Also appears to fix the above linked bug about Windows symlinks.
[ci-all]
---
CHANGELOG.md | 1 +
packages/@tailwindcss-standalone/package.json | 4 +-
playgrounds/vite/package.json | 2 +-
pnpm-lock.yaml | 134 ++++++++----------
4 files changed, 64 insertions(+), 77 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index bfb626528a9a..5e3ae5f8888b 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -25,6 +25,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Don’t output CSS objects with false or undefined in the AST ([#18571](https://github.com/tailwindlabs/tailwindcss/pull/18571))
- Add option to disable url rewriting in `@tailwindcss/postcss` ([#18321](https://github.com/tailwindlabs/tailwindcss/pull/18321))
- Fix false-positive migrations in `addEventListener` and JavaScript variable names ([#18718](https://github.com/tailwindlabs/tailwindcss/pull/18718))
+- Fix Standalone CLI when run via symlink on Windows ([#18723](https://github.com/tailwindlabs/tailwindcss/pull/18723))
## [4.1.11] - 2025-06-26
diff --git a/packages/@tailwindcss-standalone/package.json b/packages/@tailwindcss-standalone/package.json
index 50fda62b924e..ec170fe52275 100644
--- a/packages/@tailwindcss-standalone/package.json
+++ b/packages/@tailwindcss-standalone/package.json
@@ -42,8 +42,8 @@
"@parcel/watcher-linux-x64-glibc": "^2.5.1",
"@parcel/watcher-linux-x64-musl": "^2.5.1",
"@parcel/watcher-win32-x64": "^2.5.1",
- "@types/bun": "^1.2.18",
- "bun": "^1.2.18",
+ "@types/bun": "^1.2.20",
+ "bun": "^1.2.20",
"lightningcss-darwin-arm64": "catalog:",
"lightningcss-darwin-x64": "catalog:",
"lightningcss-linux-arm64-gnu": "catalog:",
diff --git a/playgrounds/vite/package.json b/playgrounds/vite/package.json
index 77a5a50c1f37..7ac9f27fffd7 100644
--- a/playgrounds/vite/package.json
+++ b/playgrounds/vite/package.json
@@ -18,7 +18,7 @@
"devDependencies": {
"@types/react": "^19.1.9",
"@types/react-dom": "^19.1.7",
- "bun": "^1.2.18",
+ "bun": "^1.2.20",
"vite": "catalog:"
}
}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 807a8e4ab6af..3913c6f8f9ca 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -339,11 +339,11 @@ importers:
specifier: ^2.5.1
version: 2.5.1
'@types/bun':
- specifier: ^1.2.18
- version: 1.2.18(@types/react@19.1.9)
+ specifier: ^1.2.20
+ version: 1.2.20(@types/react@19.1.9)
bun:
- specifier: ^1.2.18
- version: 1.2.18
+ specifier: ^1.2.20
+ version: 1.2.20
lightningcss-darwin-arm64:
specifier: 'catalog:'
version: 1.30.1
@@ -580,8 +580,8 @@ importers:
specifier: ^19.1.7
version: 19.1.7(@types/react@19.1.9)
bun:
- specifier: ^1.2.18
- version: 1.2.18
+ specifier: ^1.2.20
+ version: 1.2.20
vite:
specifier: 'catalog:'
version: 7.0.0(@types/node@20.19.1)(jiti@2.5.1)(lightningcss@1.30.1(patch_hash=tzyxy3asfxcqc7ihrooumyi5fm))(terser@5.31.6)(tsx@4.19.1)(yaml@2.6.0)
@@ -1914,58 +1914,58 @@ packages:
'@octokit/types@13.10.0':
resolution: {integrity: sha512-ifLaO34EbbPj0Xgro4G5lP5asESjwHracYJvVaPIyXMuiuXLlhic3S47cBdTb+jfODkTE5YtGCLt3Ay3+J97sA==}
- '@oven/bun-darwin-aarch64@1.2.18':
- resolution: {integrity: sha512-GNxVh9VUOQ6S0aDp4Qe80MGadGbh8BS6p3jEHXIboRoTrb/80oR0csMjGUpdwGa2hX1zTvpPBwOFXvVP9UaB0Q==}
+ '@oven/bun-darwin-aarch64@1.2.20':
+ resolution: {integrity: sha512-zygk+yeaww9kBw2JBWwA13KyOKySxbnetms/WyRFaUYhxiuJHkzv1c6/Ou7sIHa9Gbq4fYQEhx88Ywy1wu2oTQ==}
cpu: [arm64]
os: [darwin]
- '@oven/bun-darwin-x64-baseline@1.2.18':
- resolution: {integrity: sha512-LT/MF4DySLjskZf4mUgVXhpDBCuGXI7+uHJTiAjinddglh7ENbrSRuM01cjlJ/dxivvekq5+w6k9gdYpHUibuw==}
+ '@oven/bun-darwin-x64-baseline@1.2.20':
+ resolution: {integrity: sha512-bxXZlLD6DJ8rc/Ht0Cgm0BH1AJVO/axOElXJP42LUUKQ/U4t3OKkFDbFiTPGphcy5teMLkoYl+a2Cz8P9q2gVQ==}
cpu: [x64]
os: [darwin]
- '@oven/bun-darwin-x64@1.2.18':
- resolution: {integrity: sha512-/oxsG7eIkvw3rxt3V9gqY23i0ajk8m1cG/FedRj8b15GW2TgA+F9F6FQNLqxc/59SBkcrbTLoqk5EtAQwuwi/w==}
+ '@oven/bun-darwin-x64@1.2.20':
+ resolution: {integrity: sha512-k2akVmSvJHuzpwgwIU8ltary7EQbqlbvxgtYlVqYvnqUpRdRbkuJXAZhN5zuDNTftaG4l22Q/bX04tBB8Txmjg==}
cpu: [x64]
os: [darwin]
- '@oven/bun-linux-aarch64-musl@1.2.18':
- resolution: {integrity: sha512-hk58uY6LSvDn2WDB8o/WAVCOZERYZPShUujI8rCwcDXkQRI4pbm5B5RJP5wEF0fClRI+WXxyyoBFsTKb7lbgyQ==}
+ '@oven/bun-linux-aarch64-musl@1.2.20':
+ resolution: {integrity: sha512-zB3aKckyUdKENLP+lm/PoXQPBTthJsY7dhYih+qVT95N29acLO2eWeSHgRkS7Pl2FV+mLJo9LvjRhC8oaSSoOw==}
cpu: [aarch64]
os: [linux]
- '@oven/bun-linux-aarch64@1.2.18':
- resolution: {integrity: sha512-0uTiUZJFS69LbYPCw963BAdP4wvUXEozbNf7vrB/3rT82x+fPZKF3C+4nfFScm+6UYusjH468vG7/g9x38jBIg==}
+ '@oven/bun-linux-aarch64@1.2.20':
+ resolution: {integrity: sha512-g+CzF02RzKgSmuEHNLoDTtiiQR33cEZWcd/tWR+24h92xe5wXuqQsV7vQJLR6e44BWkDOACpTIrfW4UAaHw4Cw==}
cpu: [arm64]
os: [linux]
- '@oven/bun-linux-x64-baseline@1.2.18':
- resolution: {integrity: sha512-ERnR7gZz/YYpo/ZhRKXvY9qtsJNQnTrp5HayExfvD1achoHcYEvf3TarajRLVC7gDi7BxlaOPZyJjgdo5g0tUg==}
+ '@oven/bun-linux-x64-baseline@1.2.20':
+ resolution: {integrity: sha512-xtYPn84ur9U7YaS0+rwjs6YMgSv5Z4gMnqPQ1QTLw92nt1v9Cw17YypVab4zUk222o5Y6kS3DRkDdSHBh8uQfA==}
cpu: [x64]
os: [linux]
- '@oven/bun-linux-x64-musl-baseline@1.2.18':
- resolution: {integrity: sha512-u4sqExX5gdcMRdwzL16qP/xJlnxVR+fF43GGQJNopOTXDrsK33BXw3aUObHRtVkqRiK3cyubJUgTtz2ykQ4Dng==}
+ '@oven/bun-linux-x64-musl-baseline@1.2.20':
+ resolution: {integrity: sha512-rANapFZRrgOTeotaf556iIxguyjQbensL6gT3cXZDnXG+aVhv65hSnjqzM7vfHxlzoXbAmoUkJOpce0qEg/HlA==}
cpu: [x64]
os: [linux]
- '@oven/bun-linux-x64-musl@1.2.18':
- resolution: {integrity: sha512-Oqj8yDkObDWMlxzbhOefb+B75tgKEP4uGEFcBHXjVxSEL0lB7B7LYTvTpeDm8QPldhLs1xAN4FtzZlPUn6qI+Q==}
+ '@oven/bun-linux-x64-musl@1.2.20':
+ resolution: {integrity: sha512-XPtQITGbJXgUrMXOJo3IShwQd3awB93ZIh5+4S3DF9Ek/lwXVSuueIIAfnveR/r9JRgEA5+g/1ZHVf1/3qaElg==}
cpu: [x64]
os: [linux]
- '@oven/bun-linux-x64@1.2.18':
- resolution: {integrity: sha512-okHdy9+Yov5BvI19FynnvsmQUP477SNJRv33TIHxs9cpj/ClgaYXMihS+yH0LCzYDFIeojfABiIHdBVUFmxqtQ==}
+ '@oven/bun-linux-x64@1.2.20':
+ resolution: {integrity: sha512-KJZ0zJKadKCD6EI/mBv/0PUysMpd1r4o3WhQ73PjCZx2w95Ka2fSBAIsy9e/rxc07D4LHr26nGyMmC1K8IcS6Q==}
cpu: [x64]
os: [linux]
- '@oven/bun-windows-x64-baseline@1.2.18':
- resolution: {integrity: sha512-n5XF3N0Kr53z4NnVWfTqS72U2rSHJlFafO70SOSzgiu26ylKTGOC9BBsvEQhKld4nKAsbp8YjpOViomrtC6bCQ==}
+ '@oven/bun-windows-x64-baseline@1.2.20':
+ resolution: {integrity: sha512-2291+pyVQ771zd8jgCNJ/jpPBaLJg/X7BWX06M9GpBNmC1tu3Rfr3LaWP8C/XTi80PZJnzNZGeMlcDhRY57y/A==}
cpu: [x64]
os: [win32]
- '@oven/bun-windows-x64@1.2.18':
- resolution: {integrity: sha512-jklsKWT9zfh8wXewKPfO7Uq8vo72esaQoGzCTTt0NKY+juXvyKaiMHEfT7v4o7cmrql3QPeVtsbp9uNAiuotgw==}
+ '@oven/bun-windows-x64@1.2.20':
+ resolution: {integrity: sha512-Jt4bAf30qG4SvnL6tO4QzZNbMjg5sLZHif22rZLwX7W6rWPAvgqyYdwDSGHN8Kkbe6KqV4DceyKQgRr83sU66Q==}
cpu: [x64]
os: [win32]
@@ -1990,7 +1990,6 @@ packages:
'@parcel/watcher-darwin-arm64@2.5.1':
resolution: {integrity: sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==}
engines: {node: '>= 10.0.0'}
- cpu: [arm64]
os: [darwin]
'@parcel/watcher-darwin-x64@2.5.0':
@@ -2002,7 +2001,6 @@ packages:
'@parcel/watcher-darwin-x64@2.5.1':
resolution: {integrity: sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==}
engines: {node: '>= 10.0.0'}
- cpu: [x64]
os: [darwin]
'@parcel/watcher-freebsd-x64@2.5.0':
@@ -2050,7 +2048,6 @@ packages:
'@parcel/watcher-linux-arm64-glibc@2.5.1':
resolution: {integrity: sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==}
engines: {node: '>= 10.0.0'}
- cpu: [arm64]
os: [linux]
'@parcel/watcher-linux-arm64-musl@2.5.0':
@@ -2062,7 +2059,6 @@ packages:
'@parcel/watcher-linux-arm64-musl@2.5.1':
resolution: {integrity: sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==}
engines: {node: '>= 10.0.0'}
- cpu: [arm64]
os: [linux]
'@parcel/watcher-linux-x64-glibc@2.5.0':
@@ -2074,7 +2070,6 @@ packages:
'@parcel/watcher-linux-x64-glibc@2.5.1':
resolution: {integrity: sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==}
engines: {node: '>= 10.0.0'}
- cpu: [x64]
os: [linux]
'@parcel/watcher-linux-x64-musl@2.5.0':
@@ -2086,7 +2081,6 @@ packages:
'@parcel/watcher-linux-x64-musl@2.5.1':
resolution: {integrity: sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==}
engines: {node: '>= 10.0.0'}
- cpu: [x64]
os: [linux]
'@parcel/watcher-wasm@2.5.0':
@@ -2128,7 +2122,6 @@ packages:
'@parcel/watcher-win32-x64@2.5.1':
resolution: {integrity: sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==}
engines: {node: '>= 10.0.0'}
- cpu: [x64]
os: [win32]
'@parcel/watcher@2.5.0':
@@ -2392,8 +2385,8 @@ packages:
'@types/braces@3.0.5':
resolution: {integrity: sha512-SQFof9H+LXeWNz8wDe7oN5zu7ket0qwMu5vZubW4GCJ8Kkeh6nBWUz87+KTz/G3Kqsrp0j/W253XJb3KMEeg3w==}
- '@types/bun@1.2.18':
- resolution: {integrity: sha512-Xf6RaWVheyemaThV0kUfaAUvCNokFr+bH8Jxp+tTZfx7dAPA8z9ePnP9S9+Vspzuxxx9JRAXhnyccRj3GyCMdQ==}
+ '@types/bun@1.2.20':
+ resolution: {integrity: sha512-dX3RGzQ8+KgmMw7CsW4xT5ITBSCrSbfHc36SNT31EOUg/LA9JWq0VDdEXDRSe1InVWpd2yLUM1FUF/kEOyTzYA==}
'@types/estree@1.0.6':
resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==}
@@ -2649,13 +2642,13 @@ packages:
buffer-from@1.1.2:
resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
- bun-types@1.2.18:
- resolution: {integrity: sha512-04+Eha5NP7Z0A9YgDAzMk5PHR16ZuLVa83b26kH5+cp1qZW4F6FmAURngE7INf4tKOvCE69vYvDEwoNl1tGiWw==}
+ bun-types@1.2.20:
+ resolution: {integrity: sha512-pxTnQYOrKvdOwyiyd/7sMt9yFOenN004Y6O4lCcCUoKVej48FS5cvTw9geRaEcB9TsDZaJKAxPTVvi8tFsVuXA==}
peerDependencies:
'@types/react': ^19
- bun@1.2.18:
- resolution: {integrity: sha512-OR+EpNckoJN4tHMVZPaTPxDj2RgpJgJwLruTIFYbO3bQMguLd0YrmkWKYqsiihcLgm2ehIjF/H1RLfZiRa7+qQ==}
+ bun@1.2.20:
+ resolution: {integrity: sha512-1ZGQynT+jPOHLY4IfzSubjbWcXsY2Z+irhW5D8RKC0wQ6KG4MvtgniAYQbSFYINGg8Wb2ydx+WgAG2BdhngAfw==}
cpu: [arm64, x64, aarch64]
os: [darwin, linux, win32]
hasBin: true
@@ -3509,13 +3502,11 @@ packages:
lightningcss-darwin-arm64@1.30.1:
resolution: {integrity: sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ==}
engines: {node: '>= 12.0.0'}
- cpu: [arm64]
os: [darwin]
lightningcss-darwin-x64@1.30.1:
resolution: {integrity: sha512-k1EvjakfumAQoTfcXUcHQZhSpLlkAuEkdMBsI/ivWw9hL+7FtilQc0Cy3hrx0AAQrVtQAbMI7YjCgYgvn37PzA==}
engines: {node: '>= 12.0.0'}
- cpu: [x64]
os: [darwin]
lightningcss-freebsd-x64@1.30.1:
@@ -3533,25 +3524,21 @@ packages:
lightningcss-linux-arm64-gnu@1.30.1:
resolution: {integrity: sha512-gB72maP8rmrKsnKYy8XUuXi/4OctJiuQjcuqWNlJQ6jZiWqtPvqFziskH3hnajfvKB27ynbVCucKSm2rkQp4Bw==}
engines: {node: '>= 12.0.0'}
- cpu: [arm64]
os: [linux]
lightningcss-linux-arm64-musl@1.30.1:
resolution: {integrity: sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ==}
engines: {node: '>= 12.0.0'}
- cpu: [arm64]
os: [linux]
lightningcss-linux-x64-gnu@1.30.1:
resolution: {integrity: sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw==}
engines: {node: '>= 12.0.0'}
- cpu: [x64]
os: [linux]
lightningcss-linux-x64-musl@1.30.1:
resolution: {integrity: sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ==}
engines: {node: '>= 12.0.0'}
- cpu: [x64]
os: [linux]
lightningcss-win32-arm64-msvc@1.30.1:
@@ -3563,7 +3550,6 @@ packages:
lightningcss-win32-x64-msvc@1.30.1:
resolution: {integrity: sha512-PVqXh48wh4T53F/1CCu8PIPCxLzWyCnn/9T5W1Jpmdy5h9Cwd+0YQS6/LwhHXSafuc61/xg9Lv5OrCby6a++jg==}
engines: {node: '>= 12.0.0'}
- cpu: [x64]
os: [win32]
lightningcss@1.30.1:
@@ -5706,37 +5692,37 @@ snapshots:
dependencies:
'@octokit/openapi-types': 24.2.0
- '@oven/bun-darwin-aarch64@1.2.18':
+ '@oven/bun-darwin-aarch64@1.2.20':
optional: true
- '@oven/bun-darwin-x64-baseline@1.2.18':
+ '@oven/bun-darwin-x64-baseline@1.2.20':
optional: true
- '@oven/bun-darwin-x64@1.2.18':
+ '@oven/bun-darwin-x64@1.2.20':
optional: true
- '@oven/bun-linux-aarch64-musl@1.2.18':
+ '@oven/bun-linux-aarch64-musl@1.2.20':
optional: true
- '@oven/bun-linux-aarch64@1.2.18':
+ '@oven/bun-linux-aarch64@1.2.20':
optional: true
- '@oven/bun-linux-x64-baseline@1.2.18':
+ '@oven/bun-linux-x64-baseline@1.2.20':
optional: true
- '@oven/bun-linux-x64-musl-baseline@1.2.18':
+ '@oven/bun-linux-x64-musl-baseline@1.2.20':
optional: true
- '@oven/bun-linux-x64-musl@1.2.18':
+ '@oven/bun-linux-x64-musl@1.2.20':
optional: true
- '@oven/bun-linux-x64@1.2.18':
+ '@oven/bun-linux-x64@1.2.20':
optional: true
- '@oven/bun-windows-x64-baseline@1.2.18':
+ '@oven/bun-windows-x64-baseline@1.2.20':
optional: true
- '@oven/bun-windows-x64@1.2.18':
+ '@oven/bun-windows-x64@1.2.20':
optional: true
'@parcel/watcher-android-arm64@2.5.0':
@@ -6037,9 +6023,9 @@ snapshots:
'@types/braces@3.0.5': {}
- '@types/bun@1.2.18(@types/react@19.1.9)':
+ '@types/bun@1.2.20(@types/react@19.1.9)':
dependencies:
- bun-types: 1.2.18(@types/react@19.1.9)
+ bun-types: 1.2.20(@types/react@19.1.9)
transitivePeerDependencies:
- '@types/react'
@@ -6426,24 +6412,24 @@ snapshots:
buffer-from@1.1.2:
optional: true
- bun-types@1.2.18(@types/react@19.1.9):
+ bun-types@1.2.20(@types/react@19.1.9):
dependencies:
'@types/node': 20.19.1
'@types/react': 19.1.9
- bun@1.2.18:
+ bun@1.2.20:
optionalDependencies:
- '@oven/bun-darwin-aarch64': 1.2.18
- '@oven/bun-darwin-x64': 1.2.18
- '@oven/bun-darwin-x64-baseline': 1.2.18
- '@oven/bun-linux-aarch64': 1.2.18
- '@oven/bun-linux-aarch64-musl': 1.2.18
- '@oven/bun-linux-x64': 1.2.18
- '@oven/bun-linux-x64-baseline': 1.2.18
- '@oven/bun-linux-x64-musl': 1.2.18
- '@oven/bun-linux-x64-musl-baseline': 1.2.18
- '@oven/bun-windows-x64': 1.2.18
- '@oven/bun-windows-x64-baseline': 1.2.18
+ '@oven/bun-darwin-aarch64': 1.2.20
+ '@oven/bun-darwin-x64': 1.2.20
+ '@oven/bun-darwin-x64-baseline': 1.2.20
+ '@oven/bun-linux-aarch64': 1.2.20
+ '@oven/bun-linux-aarch64-musl': 1.2.20
+ '@oven/bun-linux-x64': 1.2.20
+ '@oven/bun-linux-x64-baseline': 1.2.20
+ '@oven/bun-linux-x64-musl': 1.2.20
+ '@oven/bun-linux-x64-musl-baseline': 1.2.20
+ '@oven/bun-windows-x64': 1.2.20
+ '@oven/bun-windows-x64-baseline': 1.2.20
bundle-require@5.1.0(esbuild@0.25.0):
dependencies:
From 42d2433ab8e92b4b86cf1944052285a7b42b5045 Mon Sep 17 00:00:00 2001
From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com>
Date: Wed, 13 Aug 2025 10:30:50 -0400
Subject: [PATCH 052/119] =?UTF-8?q?Update=20enhanced-resolve=205.18.2=20?=
=?UTF-8?q?=E2=86=92=205.18.3=20(patch)=20(#18726)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Here is everything you need to know about this update. Please take a
good look at what changed and the test results before merging this pull
request.
### What changed?
#### ✳️ enhanced-resolve (5.18.2 → 5.18.3) ·
[Repo](https://github.com/webpack/enhanced-resolve)
Release Notes
Fixes
- Fixed nonsensible intersection in types
Performance
- Decreased initial loading time
Does any of this look wrong? Please
let us know.
Commits
See
the full diff on Github. The new version differs by 5 commits:
---

[Depfu](https://depfu.com) will automatically keep this PR
conflict-free, as long as you don't add any commits to this branch
yourself. You can also trigger a rebase manually by commenting with
`@depfu rebase`.
All Depfu comment commands
- @depfu rebase
- Rebases against your default branch and
redoes this update
- @depfu recreate
- Recreates this PR, overwriting any edits
that you've made to it
- @depfu merge
- Merges this PR once your tests are passing and
conflicts are resolved
- @depfu cancel merge
- Cancels automatic merging of this
PR
- @depfu close
- Closes this PR and deletes the branch
- @depfu reopen
- Restores the branch and reopens this PR (if
it's closed)
- @depfu pause
- Ignores all future updates for this dependency
and closes this PR
- @depfu pause [minor|major]
- Ignores all future minor/major
updates for this dependency and closes this PR
- @depfu resume
- Future versions of this dependency will
create PRs again (leaves this PR as is)
Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com>
---
packages/@tailwindcss-cli/package.json | 2 +-
packages/@tailwindcss-node/package.json | 2 +-
packages/@tailwindcss-standalone/package.json | 2 +-
packages/@tailwindcss-upgrade/package.json | 2 +-
pnpm-lock.yaml | 26 +++++++++----------
5 files changed, 17 insertions(+), 17 deletions(-)
diff --git a/packages/@tailwindcss-cli/package.json b/packages/@tailwindcss-cli/package.json
index 596e00fcbf0f..fa2eaeafa3a9 100644
--- a/packages/@tailwindcss-cli/package.json
+++ b/packages/@tailwindcss-cli/package.json
@@ -32,7 +32,7 @@
"@parcel/watcher": "^2.5.1",
"@tailwindcss/node": "workspace:*",
"@tailwindcss/oxide": "workspace:*",
- "enhanced-resolve": "^5.18.2",
+ "enhanced-resolve": "^5.18.3",
"mri": "^1.2.0",
"picocolors": "^1.1.1",
"tailwindcss": "workspace:*"
diff --git a/packages/@tailwindcss-node/package.json b/packages/@tailwindcss-node/package.json
index d334877b5572..cecf90943acc 100644
--- a/packages/@tailwindcss-node/package.json
+++ b/packages/@tailwindcss-node/package.json
@@ -38,7 +38,7 @@
},
"dependencies": {
"@jridgewell/remapping": "^2.3.4",
- "enhanced-resolve": "^5.18.2",
+ "enhanced-resolve": "^5.18.3",
"jiti": "^2.5.1",
"lightningcss": "catalog:",
"magic-string": "^0.30.17",
diff --git a/packages/@tailwindcss-standalone/package.json b/packages/@tailwindcss-standalone/package.json
index ec170fe52275..89139f6258c6 100644
--- a/packages/@tailwindcss-standalone/package.json
+++ b/packages/@tailwindcss-standalone/package.json
@@ -30,7 +30,7 @@
"@tailwindcss/forms": "^0.5.10",
"@tailwindcss/typography": "^0.5.16",
"detect-libc": "1.0.3",
- "enhanced-resolve": "^5.18.2",
+ "enhanced-resolve": "^5.18.3",
"tailwindcss": "workspace:*"
},
"__notes": "These binary packages must be included so Bun can build the CLI for all supported platforms. We also rely on Lightning CSS and Parcel being patched so Bun can statically analyze the executables.",
diff --git a/packages/@tailwindcss-upgrade/package.json b/packages/@tailwindcss-upgrade/package.json
index 259228a46872..563401674742 100644
--- a/packages/@tailwindcss-upgrade/package.json
+++ b/packages/@tailwindcss-upgrade/package.json
@@ -31,7 +31,7 @@
"@tailwindcss/oxide": "workspace:*",
"braces": "^3.0.3",
"dedent": "1.6.0",
- "enhanced-resolve": "^5.18.2",
+ "enhanced-resolve": "^5.18.3",
"globby": "^14.1.0",
"jiti": "^2.0.0-beta.3",
"mri": "^1.2.0",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 3913c6f8f9ca..65689dd30ac0 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -223,8 +223,8 @@ importers:
specifier: workspace:*
version: link:../../crates/node
enhanced-resolve:
- specifier: ^5.18.2
- version: 5.18.2
+ specifier: ^5.18.3
+ version: 5.18.3
mri:
specifier: ^1.2.0
version: 1.2.0
@@ -241,8 +241,8 @@ importers:
specifier: ^2.3.4
version: 2.3.5
enhanced-resolve:
- specifier: ^5.18.2
- version: 5.18.2
+ specifier: ^5.18.3
+ version: 5.18.3
jiti:
specifier: ^2.5.1
version: 2.5.1
@@ -311,8 +311,8 @@ importers:
specifier: 1.0.3
version: 1.0.3
enhanced-resolve:
- specifier: ^5.18.2
- version: 5.18.2
+ specifier: ^5.18.3
+ version: 5.18.3
tailwindcss:
specifier: workspace:*
version: link:../tailwindcss
@@ -381,8 +381,8 @@ importers:
specifier: 1.6.0
version: 1.6.0
enhanced-resolve:
- specifier: ^5.18.2
- version: 5.18.2
+ specifier: ^5.18.3
+ version: 5.18.3
globby:
specifier: ^14.1.0
version: 14.1.0
@@ -2895,8 +2895,8 @@ packages:
emoji-regex@9.2.2:
resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
- enhanced-resolve@5.18.2:
- resolution: {integrity: sha512-6Jw4sE1maoRJo3q8MsSIn2onJFbLTOjY9hlx4DZXmOKvLRd1Ok2kXmAGXaafL2+ijsJZ1ClYbl/pmqr9+k4iUQ==}
+ enhanced-resolve@5.18.3:
+ resolution: {integrity: sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==}
engines: {node: '>=10.13.0'}
es-abstract@1.23.3:
@@ -6638,7 +6638,7 @@ snapshots:
emoji-regex@9.2.2: {}
- enhanced-resolve@5.18.2:
+ enhanced-resolve@5.18.3:
dependencies:
graceful-fs: 4.2.11
tapable: 2.2.1
@@ -6873,7 +6873,7 @@ snapshots:
dependencies:
'@nolyfill/is-core-module': 1.0.39
debug: 4.4.0
- enhanced-resolve: 5.18.2
+ enhanced-resolve: 5.18.3
eslint: 9.32.0(jiti@2.5.1)
eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.11.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.11.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@9.32.0(jiti@2.5.1)))(eslint@9.32.0(jiti@2.5.1))
fast-glob: 3.3.3
@@ -6892,7 +6892,7 @@ snapshots:
dependencies:
'@nolyfill/is-core-module': 1.0.39
debug: 4.4.0
- enhanced-resolve: 5.18.2
+ enhanced-resolve: 5.18.3
eslint: 9.32.0(jiti@2.5.1)
eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.11.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.11.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@9.32.0(jiti@2.5.1)))(eslint@9.32.0(jiti@2.5.1))
fast-glob: 3.3.3
From 1855d68cd713baae9d32e5b0e020aebea97b72bd Mon Sep 17 00:00:00 2001
From: Bill Criswell
Date: Wed, 13 Aug 2025 10:44:44 -0400
Subject: [PATCH 053/119] Add --border-color to divide theme keys (#18704)
## Summary
In Tailwind 3 the border colors were able to be used with `divide`
utilities. I made it so that's true for Tailwind 4.
## Test plan
Just used `pnpm run tdd` and making it fails then making sure it passes.
---------
Co-authored-by: Robin Malfait
---
CHANGELOG.md | 1 +
packages/tailwindcss/src/utilities.test.ts | 7 +++++++
packages/tailwindcss/src/utilities.ts | 2 +-
3 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5e3ae5f8888b..b870f586468c 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -26,6 +26,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Add option to disable url rewriting in `@tailwindcss/postcss` ([#18321](https://github.com/tailwindlabs/tailwindcss/pull/18321))
- Fix false-positive migrations in `addEventListener` and JavaScript variable names ([#18718](https://github.com/tailwindlabs/tailwindcss/pull/18718))
- Fix Standalone CLI when run via symlink on Windows ([#18723](https://github.com/tailwindlabs/tailwindcss/pull/18723))
+- Read from `--border-color-*` theme keys in `divide-*` utilities for backwards compatibility ([#18704](https://github.com/tailwindlabs/tailwindcss/pull/18704/))
## [4.1.11] - 2025-06-26
diff --git a/packages/tailwindcss/src/utilities.test.ts b/packages/tailwindcss/src/utilities.test.ts
index 79934c8c044d..4feac35b762b 100644
--- a/packages/tailwindcss/src/utilities.test.ts
+++ b/packages/tailwindcss/src/utilities.test.ts
@@ -8843,6 +8843,7 @@ test('divide-color', async () => {
css`
@theme {
--color-red-500: #ef4444;
+ --border-color-best-blue: #6495ED;
}
@tailwind utilities;
`,
@@ -8854,6 +8855,7 @@ test('divide-color', async () => {
'divide-red-500/2.75',
'divide-red-500/[0.5]',
'divide-red-500/[50%]',
+ 'divide-best-blue',
'divide-current',
'divide-current/50',
'divide-current/[0.5]',
@@ -8869,6 +8871,7 @@ test('divide-color', async () => {
).toMatchInlineSnapshot(`
":root, :host {
--color-red-500: #ef4444;
+ --border-color-best-blue: #6495ed;
}
:where(.divide-\\[\\#0088cc\\] > :not(:last-child)) {
@@ -8879,6 +8882,10 @@ test('divide-color', async () => {
border-color: oklab(59.9824% -.067 -.124 / .5);
}
+ :where(.divide-best-blue > :not(:last-child)) {
+ border-color: var(--border-color-best-blue);
+ }
+
:where(.divide-current > :not(:last-child)), :where(.divide-current\\/50 > :not(:last-child)) {
border-color: currentColor;
}
diff --git a/packages/tailwindcss/src/utilities.ts b/packages/tailwindcss/src/utilities.ts
index 13657f7eb3a7..52088e242f13 100644
--- a/packages/tailwindcss/src/utilities.ts
+++ b/packages/tailwindcss/src/utilities.ts
@@ -2007,7 +2007,7 @@ export function createUtilities(theme: Theme) {
})
colorUtility('divide', {
- themeKeys: ['--divide-color', '--color'],
+ themeKeys: ['--divide-color', '--border-color', '--color'],
handle: (value) => [
styleRule(':where(& > :not(:last-child))', [
decl('--tw-sort', 'divide-color'),
From 88a8234c8ab43a05939cc199d91199c0cf507eb8 Mon Sep 17 00:00:00 2001
From: Robin Malfait
Date: Thu, 14 Aug 2025 14:32:30 +0200
Subject: [PATCH 054/119] Mark `.hdr` and `.exr` as binary extensions (#18734)
This PR fixes an issue where `.hdr` files were scanned for candidates
even though it's a binary file.
As a workaround today, you could use:
```css
@source not "**/*.hdr";
```
To ignore `.hdr` files, but let's bake it in by default instead.
Fixes: #18733
---
CHANGELOG.md | 1 +
crates/oxide/src/scanner/fixtures/binary-extensions.txt | 2 ++
2 files changed, 3 insertions(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index b870f586468c..44c9752b1a9c 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -27,6 +27,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Fix false-positive migrations in `addEventListener` and JavaScript variable names ([#18718](https://github.com/tailwindlabs/tailwindcss/pull/18718))
- Fix Standalone CLI when run via symlink on Windows ([#18723](https://github.com/tailwindlabs/tailwindcss/pull/18723))
- Read from `--border-color-*` theme keys in `divide-*` utilities for backwards compatibility ([#18704](https://github.com/tailwindlabs/tailwindcss/pull/18704/))
+- Prevent scanning `.hdr` and `.exr` files ([#18734](https://github.com/tailwindlabs/tailwindcss/pull/18734))
## [4.1.11] - 2025-06-26
diff --git a/crates/oxide/src/scanner/fixtures/binary-extensions.txt b/crates/oxide/src/scanner/fixtures/binary-extensions.txt
index 2b20e0f45f40..d26c1c222e93 100644
--- a/crates/oxide/src/scanner/fixtures/binary-extensions.txt
+++ b/crates/oxide/src/scanner/fixtures/binary-extensions.txt
@@ -66,6 +66,7 @@ eol
eot
epub
exe
+exr
f4v
fbs
fh
@@ -87,6 +88,7 @@ gzip
h261
h263
h264
+hdr
icns
ico
ief
From 6791e8133c3cf496727d1e7c55e3a35bfffc0e69 Mon Sep 17 00:00:00 2001
From: Robin Malfait
Date: Thu, 14 Aug 2025 14:35:49 +0200
Subject: [PATCH 055/119] Prepare v4.1.12 release (#18728)
Co-authored-by: Jordan Pittman
Co-authored-by: Adam Wathan
---
CHANGELOG.md | 20 ++++++++++---------
crates/node/npm/android-arm-eabi/package.json | 2 +-
crates/node/npm/android-arm64/package.json | 2 +-
crates/node/npm/darwin-arm64/package.json | 2 +-
crates/node/npm/darwin-x64/package.json | 2 +-
crates/node/npm/freebsd-x64/package.json | 2 +-
.../node/npm/linux-arm-gnueabihf/package.json | 2 +-
crates/node/npm/linux-arm64-gnu/package.json | 2 +-
crates/node/npm/linux-arm64-musl/package.json | 2 +-
crates/node/npm/linux-x64-gnu/package.json | 2 +-
crates/node/npm/linux-x64-musl/package.json | 2 +-
crates/node/npm/wasm32-wasi/package.json | 2 +-
crates/node/npm/win32-arm64-msvc/package.json | 2 +-
crates/node/npm/win32-x64-msvc/package.json | 2 +-
crates/node/package.json | 2 +-
packages/@tailwindcss-browser/package.json | 2 +-
packages/@tailwindcss-cli/package.json | 2 +-
packages/@tailwindcss-node/package.json | 2 +-
packages/@tailwindcss-postcss/package.json | 2 +-
packages/@tailwindcss-standalone/package.json | 2 +-
packages/@tailwindcss-upgrade/package.json | 2 +-
packages/@tailwindcss-vite/package.json | 2 +-
packages/tailwindcss/package.json | 2 +-
23 files changed, 33 insertions(+), 31 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 44c9752b1a9c..eee51b99ac53 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,27 +7,28 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
-### Added
+- Nothing yet!
-- Add suggestions for `flex-` utilities ([#18642](https://github.com/tailwindlabs/tailwindcss/pull/18642))
+## [4.1.12] - 2025-08-13
### Fixed
- Don't consider the global important state in `@apply` ([#18404](https://github.com/tailwindlabs/tailwindcss/pull/18404))
+- Add missing suggestions for `flex-` utilities ([#18642](https://github.com/tailwindlabs/tailwindcss/pull/18642))
- Fix trailing `)` from interfering with extraction in Clojure keywords ([#18345](https://github.com/tailwindlabs/tailwindcss/pull/18345))
- Detect classes inside Elixir charlist, word list, and string sigils ([#18432](https://github.com/tailwindlabs/tailwindcss/pull/18432))
- Track source locations through `@plugin` and `@config` ([#18345](https://github.com/tailwindlabs/tailwindcss/pull/18345))
-- Handle when `process.env.DEBUG` is a boolean in `@tailwindcss/node` ([#18485](https://github.com/tailwindlabs/tailwindcss/pull/18485))
+- Allow boolean values of `process.env.DEBUG` in `@tailwindcss/node` ([#18485](https://github.com/tailwindlabs/tailwindcss/pull/18485))
- Ignore consecutive semicolons in the CSS parser ([#18532](https://github.com/tailwindlabs/tailwindcss/pull/18532))
-- Center the dropdown icon added to an input with a paired datalist ([#18511](https://github.com/tailwindlabs/tailwindcss/pull/18511))
+- Center the dropdown icon added to an input with a paired datalist by default ([#18511](https://github.com/tailwindlabs/tailwindcss/pull/18511))
- Extract candidates in Slang templates ([#18565](https://github.com/tailwindlabs/tailwindcss/pull/18565))
- Improve error messages when encountering invalid functional utility names ([#18568](https://github.com/tailwindlabs/tailwindcss/pull/18568))
-- Don’t output CSS objects with false or undefined in the AST ([#18571](https://github.com/tailwindlabs/tailwindcss/pull/18571))
-- Add option to disable url rewriting in `@tailwindcss/postcss` ([#18321](https://github.com/tailwindlabs/tailwindcss/pull/18321))
+- Discard CSS AST objects with `false` or `undefined` properties ([#18571](https://github.com/tailwindlabs/tailwindcss/pull/18571))
+- Allow users to disable URL rebasing in `@tailwindcss/postcss` via `transformAssetUrls: false` ([#18321](https://github.com/tailwindlabs/tailwindcss/pull/18321))
- Fix false-positive migrations in `addEventListener` and JavaScript variable names ([#18718](https://github.com/tailwindlabs/tailwindcss/pull/18718))
-- Fix Standalone CLI when run via symlink on Windows ([#18723](https://github.com/tailwindlabs/tailwindcss/pull/18723))
+- Fix Standalone CLI showing default Bun help when run via symlink on Windows ([#18723](https://github.com/tailwindlabs/tailwindcss/pull/18723))
- Read from `--border-color-*` theme keys in `divide-*` utilities for backwards compatibility ([#18704](https://github.com/tailwindlabs/tailwindcss/pull/18704/))
-- Prevent scanning `.hdr` and `.exr` files ([#18734](https://github.com/tailwindlabs/tailwindcss/pull/18734))
+- Don't scan `.hdr` and `.exr` files for classes by default ([#18734](https://github.com/tailwindlabs/tailwindcss/pull/18734))
## [4.1.11] - 2025-06-26
@@ -3786,7 +3787,8 @@ No release notes
- Everything!
-[unreleased]: https://github.com/tailwindlabs/tailwindcss/compare/v4.1.11...HEAD
+[unreleased]: https://github.com/tailwindlabs/tailwindcss/compare/v4.1.12...HEAD
+[4.1.12]: https://github.com/tailwindlabs/tailwindcss/compare/v4.1.11...v4.1.12
[4.1.11]: https://github.com/tailwindlabs/tailwindcss/compare/v4.1.10...v4.1.11
[4.1.10]: https://github.com/tailwindlabs/tailwindcss/compare/v4.1.9...v4.1.10
[4.1.9]: https://github.com/tailwindlabs/tailwindcss/compare/v4.1.8...v4.1.9
diff --git a/crates/node/npm/android-arm-eabi/package.json b/crates/node/npm/android-arm-eabi/package.json
index 2d8587c2128a..9b360668358f 100644
--- a/crates/node/npm/android-arm-eabi/package.json
+++ b/crates/node/npm/android-arm-eabi/package.json
@@ -1,6 +1,6 @@
{
"name": "@tailwindcss/oxide-android-arm-eabi",
- "version": "4.1.11",
+ "version": "4.1.12",
"repository": {
"type": "git",
"url": "git+https://github.com/tailwindlabs/tailwindcss.git",
diff --git a/crates/node/npm/android-arm64/package.json b/crates/node/npm/android-arm64/package.json
index 2f755d8177c4..82c922f099da 100644
--- a/crates/node/npm/android-arm64/package.json
+++ b/crates/node/npm/android-arm64/package.json
@@ -1,6 +1,6 @@
{
"name": "@tailwindcss/oxide-android-arm64",
- "version": "4.1.11",
+ "version": "4.1.12",
"repository": {
"type": "git",
"url": "git+https://github.com/tailwindlabs/tailwindcss.git",
diff --git a/crates/node/npm/darwin-arm64/package.json b/crates/node/npm/darwin-arm64/package.json
index 0f8f4c26b398..579e26a95fdc 100644
--- a/crates/node/npm/darwin-arm64/package.json
+++ b/crates/node/npm/darwin-arm64/package.json
@@ -1,6 +1,6 @@
{
"name": "@tailwindcss/oxide-darwin-arm64",
- "version": "4.1.11",
+ "version": "4.1.12",
"repository": {
"type": "git",
"url": "git+https://github.com/tailwindlabs/tailwindcss.git",
diff --git a/crates/node/npm/darwin-x64/package.json b/crates/node/npm/darwin-x64/package.json
index 1929ebfcdf5b..9d90be47017a 100644
--- a/crates/node/npm/darwin-x64/package.json
+++ b/crates/node/npm/darwin-x64/package.json
@@ -1,6 +1,6 @@
{
"name": "@tailwindcss/oxide-darwin-x64",
- "version": "4.1.11",
+ "version": "4.1.12",
"repository": {
"type": "git",
"url": "git+https://github.com/tailwindlabs/tailwindcss.git",
diff --git a/crates/node/npm/freebsd-x64/package.json b/crates/node/npm/freebsd-x64/package.json
index 409f20fe62d2..f5fc01409f1b 100644
--- a/crates/node/npm/freebsd-x64/package.json
+++ b/crates/node/npm/freebsd-x64/package.json
@@ -1,6 +1,6 @@
{
"name": "@tailwindcss/oxide-freebsd-x64",
- "version": "4.1.11",
+ "version": "4.1.12",
"repository": {
"type": "git",
"url": "git+https://github.com/tailwindlabs/tailwindcss.git",
diff --git a/crates/node/npm/linux-arm-gnueabihf/package.json b/crates/node/npm/linux-arm-gnueabihf/package.json
index a3c66a8cb1e8..37e0dfe38361 100644
--- a/crates/node/npm/linux-arm-gnueabihf/package.json
+++ b/crates/node/npm/linux-arm-gnueabihf/package.json
@@ -1,6 +1,6 @@
{
"name": "@tailwindcss/oxide-linux-arm-gnueabihf",
- "version": "4.1.11",
+ "version": "4.1.12",
"repository": {
"type": "git",
"url": "git+https://github.com/tailwindlabs/tailwindcss.git",
diff --git a/crates/node/npm/linux-arm64-gnu/package.json b/crates/node/npm/linux-arm64-gnu/package.json
index d2697637c125..74e4d9ec7ab7 100644
--- a/crates/node/npm/linux-arm64-gnu/package.json
+++ b/crates/node/npm/linux-arm64-gnu/package.json
@@ -1,6 +1,6 @@
{
"name": "@tailwindcss/oxide-linux-arm64-gnu",
- "version": "4.1.11",
+ "version": "4.1.12",
"repository": {
"type": "git",
"url": "git+https://github.com/tailwindlabs/tailwindcss.git",
diff --git a/crates/node/npm/linux-arm64-musl/package.json b/crates/node/npm/linux-arm64-musl/package.json
index 4025ea43b0bb..784da745b626 100644
--- a/crates/node/npm/linux-arm64-musl/package.json
+++ b/crates/node/npm/linux-arm64-musl/package.json
@@ -1,6 +1,6 @@
{
"name": "@tailwindcss/oxide-linux-arm64-musl",
- "version": "4.1.11",
+ "version": "4.1.12",
"repository": {
"type": "git",
"url": "git+https://github.com/tailwindlabs/tailwindcss.git",
diff --git a/crates/node/npm/linux-x64-gnu/package.json b/crates/node/npm/linux-x64-gnu/package.json
index fa162d3f0d24..03743935b5ed 100644
--- a/crates/node/npm/linux-x64-gnu/package.json
+++ b/crates/node/npm/linux-x64-gnu/package.json
@@ -1,6 +1,6 @@
{
"name": "@tailwindcss/oxide-linux-x64-gnu",
- "version": "4.1.11",
+ "version": "4.1.12",
"repository": {
"type": "git",
"url": "git+https://github.com/tailwindlabs/tailwindcss.git",
diff --git a/crates/node/npm/linux-x64-musl/package.json b/crates/node/npm/linux-x64-musl/package.json
index d638eb4f424f..818e666ae89a 100644
--- a/crates/node/npm/linux-x64-musl/package.json
+++ b/crates/node/npm/linux-x64-musl/package.json
@@ -1,6 +1,6 @@
{
"name": "@tailwindcss/oxide-linux-x64-musl",
- "version": "4.1.11",
+ "version": "4.1.12",
"repository": {
"type": "git",
"url": "git+https://github.com/tailwindlabs/tailwindcss.git",
diff --git a/crates/node/npm/wasm32-wasi/package.json b/crates/node/npm/wasm32-wasi/package.json
index afd7bd787e04..8d9424d323eb 100644
--- a/crates/node/npm/wasm32-wasi/package.json
+++ b/crates/node/npm/wasm32-wasi/package.json
@@ -1,6 +1,6 @@
{
"name": "@tailwindcss/oxide-wasm32-wasi",
- "version": "4.1.11",
+ "version": "4.1.12",
"cpu": [
"wasm32"
],
diff --git a/crates/node/npm/win32-arm64-msvc/package.json b/crates/node/npm/win32-arm64-msvc/package.json
index 9a0a48843160..aa0d2b4e96ea 100644
--- a/crates/node/npm/win32-arm64-msvc/package.json
+++ b/crates/node/npm/win32-arm64-msvc/package.json
@@ -1,6 +1,6 @@
{
"name": "@tailwindcss/oxide-win32-arm64-msvc",
- "version": "4.1.11",
+ "version": "4.1.12",
"repository": {
"type": "git",
"url": "git+https://github.com/tailwindlabs/tailwindcss.git",
diff --git a/crates/node/npm/win32-x64-msvc/package.json b/crates/node/npm/win32-x64-msvc/package.json
index b54716651b3d..c60d85bae903 100644
--- a/crates/node/npm/win32-x64-msvc/package.json
+++ b/crates/node/npm/win32-x64-msvc/package.json
@@ -1,6 +1,6 @@
{
"name": "@tailwindcss/oxide-win32-x64-msvc",
- "version": "4.1.11",
+ "version": "4.1.12",
"repository": {
"type": "git",
"url": "git+https://github.com/tailwindlabs/tailwindcss.git",
diff --git a/crates/node/package.json b/crates/node/package.json
index 913ca6bda41c..20e4273e846b 100644
--- a/crates/node/package.json
+++ b/crates/node/package.json
@@ -1,6 +1,6 @@
{
"name": "@tailwindcss/oxide",
- "version": "4.1.11",
+ "version": "4.1.12",
"repository": {
"type": "git",
"url": "git+https://github.com/tailwindlabs/tailwindcss.git",
diff --git a/packages/@tailwindcss-browser/package.json b/packages/@tailwindcss-browser/package.json
index 1e1aeca936a4..779ca60ec78c 100644
--- a/packages/@tailwindcss-browser/package.json
+++ b/packages/@tailwindcss-browser/package.json
@@ -1,6 +1,6 @@
{
"name": "@tailwindcss/browser",
- "version": "4.1.11",
+ "version": "4.1.12",
"description": "A utility-first CSS framework for rapidly building custom user interfaces.",
"license": "MIT",
"main": "./dist/index.global.js",
diff --git a/packages/@tailwindcss-cli/package.json b/packages/@tailwindcss-cli/package.json
index fa2eaeafa3a9..b24ef844a878 100644
--- a/packages/@tailwindcss-cli/package.json
+++ b/packages/@tailwindcss-cli/package.json
@@ -1,6 +1,6 @@
{
"name": "@tailwindcss/cli",
- "version": "4.1.11",
+ "version": "4.1.12",
"description": "A utility-first CSS framework for rapidly building custom user interfaces.",
"license": "MIT",
"repository": {
diff --git a/packages/@tailwindcss-node/package.json b/packages/@tailwindcss-node/package.json
index cecf90943acc..ca5c4e1ca270 100644
--- a/packages/@tailwindcss-node/package.json
+++ b/packages/@tailwindcss-node/package.json
@@ -1,6 +1,6 @@
{
"name": "@tailwindcss/node",
- "version": "4.1.11",
+ "version": "4.1.12",
"description": "A utility-first CSS framework for rapidly building custom user interfaces.",
"license": "MIT",
"repository": {
diff --git a/packages/@tailwindcss-postcss/package.json b/packages/@tailwindcss-postcss/package.json
index 2f4d843d4145..281f4cfff290 100644
--- a/packages/@tailwindcss-postcss/package.json
+++ b/packages/@tailwindcss-postcss/package.json
@@ -1,6 +1,6 @@
{
"name": "@tailwindcss/postcss",
- "version": "4.1.11",
+ "version": "4.1.12",
"description": "PostCSS plugin for Tailwind CSS, a utility-first CSS framework for rapidly building custom user interfaces",
"license": "MIT",
"repository": {
diff --git a/packages/@tailwindcss-standalone/package.json b/packages/@tailwindcss-standalone/package.json
index 89139f6258c6..640894863309 100644
--- a/packages/@tailwindcss-standalone/package.json
+++ b/packages/@tailwindcss-standalone/package.json
@@ -1,6 +1,6 @@
{
"name": "@tailwindcss/standalone",
- "version": "4.1.11",
+ "version": "4.1.12",
"private": true,
"description": "Standalone CLI for Tailwind CSS",
"license": "MIT",
diff --git a/packages/@tailwindcss-upgrade/package.json b/packages/@tailwindcss-upgrade/package.json
index 563401674742..6dabecfb42f0 100644
--- a/packages/@tailwindcss-upgrade/package.json
+++ b/packages/@tailwindcss-upgrade/package.json
@@ -1,6 +1,6 @@
{
"name": "@tailwindcss/upgrade",
- "version": "4.1.11",
+ "version": "4.1.12",
"description": "A utility-first CSS framework for rapidly building custom user interfaces.",
"license": "MIT",
"repository": {
diff --git a/packages/@tailwindcss-vite/package.json b/packages/@tailwindcss-vite/package.json
index 5891fa5dc119..85654e246806 100644
--- a/packages/@tailwindcss-vite/package.json
+++ b/packages/@tailwindcss-vite/package.json
@@ -1,6 +1,6 @@
{
"name": "@tailwindcss/vite",
- "version": "4.1.11",
+ "version": "4.1.12",
"description": "A utility-first CSS framework for rapidly building custom user interfaces.",
"license": "MIT",
"repository": {
diff --git a/packages/tailwindcss/package.json b/packages/tailwindcss/package.json
index cd8fabceab33..64961acebff5 100644
--- a/packages/tailwindcss/package.json
+++ b/packages/tailwindcss/package.json
@@ -1,6 +1,6 @@
{
"name": "tailwindcss",
- "version": "4.1.11",
+ "version": "4.1.12",
"description": "A utility-first CSS framework for rapidly building custom user interfaces.",
"license": "MIT",
"repository": {
From 48f66dc835c62b5b710d81d3b3af758a1473daed Mon Sep 17 00:00:00 2001
From: zhe he
Date: Fri, 15 Aug 2025 00:20:19 +0800
Subject: [PATCH 056/119] Drop warning from browser build (#18732)
Co-authored-by: Jordan Pittman
---
CHANGELOG.md | 4 +++-
packages/@tailwindcss-browser/src/index.ts | 6 ------
2 files changed, 3 insertions(+), 7 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index eee51b99ac53..be477ec62d70 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,7 +7,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
-- Nothing yet!
+### Changed
+
+- Drop warning from browser build ([#18731](https://github.com/tailwindlabs/tailwindcss/issues/18731))
## [4.1.12] - 2025-08-13
diff --git a/packages/@tailwindcss-browser/src/index.ts b/packages/@tailwindcss-browser/src/index.ts
index 74992157f5d5..49c7e4675fc8 100644
--- a/packages/@tailwindcss-browser/src/index.ts
+++ b/packages/@tailwindcss-browser/src/index.ts
@@ -2,12 +2,6 @@ import * as tailwindcss from 'tailwindcss'
import * as assets from './assets'
import { Instrumentation } from './instrumentation'
-// Warn users about using the browser build in production as early as possible.
-// It can take time for the script to do its work so this must be at the top.
-console.warn(
- 'The browser build of Tailwind CSS should not be used in production. To use Tailwind CSS in production, use the Tailwind CLI, Vite plugin, or PostCSS plugin: https://tailwindcss.com/docs/installation',
-)
-
/**
* The type used by `