feat(deps-dev): bump the development-dependencies group with 10 updates
Type: Pull Request
State: Open
Association: Unknown
Comments: 2
(about 6 hours ago)
(about 6 hours ago)
dependencies javascript
Bumps the development-dependencies group with 10 updates:
| Package | From | To |
|---|---|---|
| @next/eslint-plugin-next | 16.4.2 |
16.4.5 |
| @types/node | 26.6.5 |
26.6.6 |
| pagefind | 1.5.2 |
1.6.0 |
| typescript-eslint | 8.72.0 |
8.72.1 |
| vitest | 5.0.5 |
5.1.0 |
| @playwright/test | 1.64.1 |
1.65.0 |
| @tailwindcss/postcss | 4.3.3 |
4.3.4 |
| dotenv | 18.0.8 |
18.0.9 |
| postcss | 8.5.31 |
8.5.32 |
| tailwindcss | 4.3.3 |
4.3.4 |
Updates @next/eslint-plugin-next from 16.4.2 to 16.4.5
Release notes
Sourced from @next/eslint-plugin-next's releases.
v16.4.5
This release contains security fixes for the following advisories:
Moderate
- Cross-tenant sensitive information disclosure in Next.js 'use cache' when called through unstable_cache
- Cache leak across root param values in nested 'use cache' functions (follow-up)
- Cache poisoning of shared fallback shells in Cache Components via request-supplied placeholder route params
- Cross-user cache disclosure and poisoning in Next.js use cache with binary arguments
- Cross-client response injection and disclosure in self-hosted Next.js applications forwarding fetched responses
- SVG rejection bypass in Next.js image optimization
- HttpOnly cookie exposure through internal response header on Next.js Edge runtime routes
v16.4.4
[!NOTE] This release is backporting bug fixes. It does not include all pending features/changes on canary. The announced security released for November will be published tomorrow.
Core Changes
- [lts-active] test: disable the
reads fallback params after a client navigationdeployment test (#100668)- [lts-active] Reload on missed Turbopack startup CSS updates (#100619)
- [lts-active] Revert "Optimize strict module factory chunks (#98421)" (#100866)
- [lts-active] Emit the Turbopack shared-runtime bootstrap in the PPR resume so it gets the CSP nonce (#100907)
- [lts-active] [ci] Pin deploy test deployments to Node.js 22.x (#100886)
- [lts-active] fix(analyze): use route summaries as the analyzer route index (#100974)
- [lts-active] Use fast-jwt instead of jsonwebtoken (#100885)
Credits
Huge thanks to
@icyJoseph,@mischnic,@wbinnssmith,@lukesandberg, and@eps1lonfor helping!v16.4.3
[!NOTE] This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- [lts-active] Fix extensionless Google font URLs in both bundlers (#100277)
- [lts-active] Don't load the app-page runtime in proxy.ts (#100423)
- [lts-active] Revert "Turbopack: loader change invalidation (#95732)" (#100438)
- [lts-active][cd] Gate release bot credentials behind GitHub environments (#100123)
- [lts-active] test: Pin react-virtualized (#100545)
- [lts-active][cd] Move release un-draft to a follow-up job in bot-autonomous (#100572)
- [lts-active] Keep OpenTelemetry request traces together (#100349, #100294, #100324, #100350, #100552, #100583) (#100542)
- [lts-active] Avoid loading standalone React in server bootstrap (#100610)
Credits
Huge thanks to
@mischnic,@lukesandberg,@acdlite,@eps1lon, and@sokrafor helping!
Commits
4e5335av16.4.5b175f52v16.4.429bbeabv16.4.3- See full diff in compare view
Updates @types/node from 26.6.5 to 26.6.6
Commits
- See full diff in compare view
Updates pagefind from 1.5.2 to 1.6.0
Release notes
Sourced from pagefind's releases.
v1.6.0
👋 A little overdue, but this release knocks out a healthy selection of bug reports, and includes a lot of work from the community. Thanks to everyone who contributed ❤️ -
@bglwMultilingual Segmentation
Pagefind's extended build now segments Chinese, Japanese, and Thai pages with ICU4X, replacing the previous dependency (PR #1383). Alongside producing a smaller binary, ICU4X segments a lot closer to the
Intl.Segmenterused in the browser on the search query (which is ICU4C). This closes out a mixture of latent and reported issues where the different segmentation between indexing and searching makes for iffy results. It's not perfect yet, but it's a darn sight closer.Bonuses:
- Segmentation is smarter in languages such as Thai, and doesn't break inside a grapheme cluster
- Japanese katakana has special handling, but should still be improved over 1.5.2
- Japanese voiced and semi-voiced sound marks are no longer normalized into each other
Fewer Fragment Files
Pagefind now has an option to limit the total number of fragment files produced, for hosting providers that cap the number of uploaded files. Contributed in PR #1020 — thanks
@yakovsh!This limit is set with
--max-fragments/max_fragments, and applies per language. When applied, multiple fragments are bundled together and loaded as a set when required.See 📘 Max fragments.
Explicit Sub-Result Titles
Added support for explicit sub-result titles. Any element with both an
idand adata-pagefind-titleattribute can be used as a sub-result (PR #1282 — thanks@samuel-williams-shopify!)See 📘 Defining a sub result explicitly.
Component UI
- Added a
sortattribute to<pagefind-config>, to order results by a sort key (PR #1326)- Added a
max-sub-resultsattribute to<pagefind-searchbox>(PR #1324)- Added a
placeholdersetter to<pagefind-searchbox>and<pagefind-modal-trigger>(PR #1321)configureInstancenow applies to an instance that already exists but has not loaded yet (PR #1323)- Fixed the UI language being resolved after the first render, which could flash the wrong translations (PR #1332)
- Fixed component cleanup after being disconnected (PR #1322)
- Fixed IME composition keystrokes support (PR #1284 — thanks
@oharu121!)- Fixed the modal staying open when clicking a result for the current page (PR #1327)
- Fixed the filter panel checkbox shrinking when its label wraps (PR #1166 — thanks
@mbrambilla!)- Hid the keyboard shortcut badge on touch-only devices (PR #1325)
Search Results & Options
- Added an
excerptEllipsisoption to mark the truncated ends of excerpts (PR #1320)- Fixed phrase search across diacritic variants, so searching
"cafe latte"can match a page containingcafé latte(PR #1386 — thanks@sean0407!)- Fixed filters not matching values containing escaped characters such as quotes or backslashes (PR #1392)
- Fixed compound words being counted twice in metadata coverage, which could overvalue a metadata match (PR #1319)
- Fixed a bug which could build excerpts from the wrong words (PR #1318)
- Fixed decoding for HTML entities in the automatic
imageandimage_altmetadata (PR #1393 — thanks@digilist!)
... (truncated)
Changelog
Sourced from pagefind's changelog.
v1.6.0 (November 1, 2026)
👋 A little overdue, but this release knocks out a healthy selection of bug reports, and includes a lot of work from the community. Thanks to everyone who contributed ❤️ -
@bglwMultilingual Segmentation
Pagefind's extended build now segments Chinese, Japanese, and Thai pages with ICU4X, replacing the previous dependency (PR #1383). Alongside producing a smaller binary, ICU4X segments a lot closer to the
Intl.Segmenterused in the browser on the search query (which is ICU4C). This closes out a mixture of latent and reported issues where the different segmentation between indexing and searching makes for iffy results. It's not perfect yet, but it's a darn sight closer.Bonuses:
- Segmentation is smarter in languages such as Thai, and doesn't break inside a grapheme cluster
- Japanese katakana has special handling, but should still be improved over 1.5.2
- Japanese voiced and semi-voiced sound marks are no longer normalized into each other
Fewer Fragment Files
Pagefind now has an option to limit the total number of fragment files produced, for hosting providers that cap the number of uploaded files. Contributed in PR #1020 — thanks
@yakovsh!This limit is set with
--max-fragments/max_fragments, and applies per language. When applied, multiple fragments are bundled together and loaded as a set when required.See 📘 Max fragments.
Explicit Sub-Result Titles
Added support for explicit sub-result titles. Any element with both an
idand adata-pagefind-titleattribute can be used as a sub-result (PR #1282 — thanks@samuel-williams-shopify!)See 📘 Defining a sub result explicitly.
Component UI
- Added a
sortattribute to<pagefind-config>, to order results by a sort key (PR #1326)- Added a
max-sub-resultsattribute to<pagefind-searchbox>(PR #1324)- Added a
placeholdersetter to<pagefind-searchbox>and<pagefind-modal-trigger>(PR #1321)configureInstancenow applies to an instance that already exists but has not loaded yet (PR #1323)- Fixed the UI language being resolved after the first render, which could flash the wrong translations (PR #1332)
- Fixed component cleanup after being disconnected (PR #1322)
- Fixed IME composition keystrokes support (PR #1284 — thanks
@oharu121!)- Fixed the modal staying open when clicking a result for the current page (PR #1327)
- Fixed the filter panel checkbox shrinking when its label wraps (PR #1166 — thanks
@mbrambilla!)- Hid the keyboard shortcut badge on touch-only devices (PR #1325)
Search Results & Options
- Added an
excerptEllipsisoption to mark the truncated ends of excerpts (PR #1320)- Fixed phrase search across diacritic variants, so searching
"cafe latte"can match a page containingcafé latte(PR #1386 — thanks@sean0407!)- Fixed filters not matching values containing escaped characters such as quotes or backslashes (PR #1392)
- Fixed compound words being counted twice in metadata coverage, which could overvalue a metadata match (PR #1319)
- Fixed a bug which could build excerpts from the wrong words (PR #1318)
- Fixed decoding for HTML entities in the automatic
imageandimage_altmetadata (PR #1393 — thanks@digilist!)
... (truncated)
Commits
860a4eaChangelog for 1.6.0deea3c9Changelog (#1403)13ebd8eUpdate multilignual docs (#1402)0544804Adding support for fewer number of fragment files (#74 and #739) (#1020)9b465eafix: percent-encode page URLs built from file paths (#1335)fcf939cchore(deps): bump certifi (#1385)124b73cfix: EACCES during playground build (#1371)f537e50Fix exact phrase matching across diacritic variants (#1386)a0d31b7Decode HTML entities in the automatic image metadata (#1393)c9d4fdaPerf: group matching words by page before scoring (#1334)- Additional commits viewable in compare view
Updates typescript-eslint from 8.72.0 to 8.72.1
Release notes
Sourced from typescript-eslint's releases.
v8.72.1
8.72.1 (2026-10-26)
🩹 Fixes
- eslint-plugin: [no-unnecessary-condition] false positives on unresolved conditional types (#13062)
- eslint-plugin: [no-unnecessary-type-assertion] bound recursive type traversal instead of catching stack overflows (#13039)
- typescript-estree: use one Program per tsconfig for the project service in single-run mode (#12988)
❤️ Thank You
- Evyatar Daud
@StyleShit- Josh Ghoulberg 👻
See GitHub Releases for more information.
You can read about our versioning strategy and releases on our website.
Changelog
Sourced from typescript-eslint's changelog.
8.72.1 (2026-10-26)
This was a version bump only for typescript-eslint to align it with other projects, there were no code changes.
See GitHub Releases for more information.
You can read about our versioning strategy and releases on our website.
Commits
4ad6b75chore(release): publish 8.72.17757694chore: cleanup typecheck & build and fix race condition (#13071)- See full diff in compare view
Updates vitest from 5.0.5 to 5.1.0
Release notes
Sourced from vitest's releases.
v5.1.0
🚀 Features
- Add
--last-failedto run only failed tests - by@sheremet-vain vitest-dev/vitest#11558 (82f63)- Support
Temporal.InstantandTemporal.ZonedDateTimeinvi.setSystemTime()- by@Prajwal2246, Prajwal2246, Claude Opus 5.5 (1M context),@hi-ogawaand Codex (GPT-6) in vitest-dev/vitest#11321 (f150f)- Introduce
--since-last-runflag - by@sheremet-vain vitest-dev/vitest#11516 (08bd9)- Expose per-retry/repeat attempt result - by
@hi-ogawa, Codex (GPT-6) and Claude Opus 5.5 (1M context) in vitest-dev/vitest#11232 (21be4)- Support fake timers for
node:timersandnode:timers/promise- by@hi-ogawa, OpenCode and Codex (GPT-6) in vitest-dev/vitest#10899 (fbe97)- Allow coverage providers to store data in fs module cache - by
@AriPerkkioin vitest-dev/vitest#11747 (54a2b)- Interactively review failed snapshots - by
@macarieand@hi-ogawain vitest-dev/vitest#11325 (54e5b)- browser:
- Mock modules through an import map - by
@sheremet-vain vitest-dev/vitest#11534 (707f8)- Drop experimental label from trace view - by
@hi-ogawaand Claude Opus 5.5 (1M context) in vitest-dev/vitest#11518 (44c3c)- Introduce experimental
pointerAPI - by@macariein vitest-dev/vitest#10780 (5dc09)- Capture aria snapshot in trace view - by
@hi-ogawaand Claude Opus 5.5 (1M context) in vitest-dev/vitest#11492 (0cc39)- Show trace steps timeline on terminal on test failure - by
@hi-ogawaand Claude Opus 5.5 (1M context) in vitest-dev/vitest#11594 (973dc)- Add failure-only trace view mode - by
@hi-ogawaand Claude Opus 5.5 (1M context) in vitest-dev/vitest#11612 (d5d7d)- Enable failure-only trace view by default - by
@hi-ogawaand Claude Opus 5.5 (1M context) in vitest-dev/vitest#11766 (f37b6)- coverage:
- V8 to support
ignoreNodeoption - by@erickserraand@AriPerkkioin vitest-dev/vitest#11688 (e02db)- experimental:
- Add trace timeline for node - by
@hi-ogawaand Claude Opus 5.5 (1M context) in vitest-dev/vitest#11753 (4e985)- Add message option to vi.waitFor and vi.waitUntil - by
@hi-ogawaand Claude Opus 5.5 (1M context) in vitest-dev/vitest#11754 (fd145)🐞 Bug Fixes
- Rerun setup files after
--changedfiltering - by@sheremet-vain vitest-dev/vitest#11621 (3a39c)- Return the mock to concurrent imports - by
@sheremet-vain vitest-dev/vitest#11623 (1453b)- Don't fail on console log pending at teardown - by
@sheremet-vain vitest-dev/vitest#11619 (a60b8)- Reference chai types in every d.ts chunk - by
@sheremet-vain vitest-dev/vitest#11618 (fb150)- Detect mock factory cycles that form later - by
@sheremet-vain vitest-dev/vitest#11642 (e9554)- Skip fs module cache for typed import.meta.glob - by
@sheremet-vain vitest-dev/vitest#11666 (79501)- Run tests that import a deleted file - by
@sheremet-vain vitest-dev/vitest#11669 (80aa1)- Keep syntax highlighting in code frames - by
@sheremet-vain vitest-dev/vitest#11705 (d39f5)- Respect CLI filters when prewarming browsers - by
@sheremet-vaand Benjamin Tang in vitest-dev/vitest#11706 (10947)- Read cached source as utf-8 - by
@juan-fernandezin vitest-dev/vitest#11682 and vitest-dev/vitest#11709 (867a5)- Inherit
watchfrom the root config in projects - by@nstepienand Claude Opus 5.5 (1M context) in vitest-dev/vitest#11724 (77c12)- Prefix expect.poll message to all errors - by
@hi-ogawaand Claude Opus 5.5 (1M context) in vitest-dev/vitest#11756 (cab58)- Support api.port 0 - by
@hi-ogawaand Claude Opus 5.5 (1M context) in vitest-dev/vitest#11641 (3667c)- Show attempts in test error logs of retried tests - by
@hi-ogawaand Claude Opus 5.5 (1M context) in vitest-dev/vitest#11696 (77a94)- Preserve rootDir in project paths - by
@bteain vitest-dev/vitest#11816 (bf96d)- browser:
- Change default port to 23315 - by
@hi-ogawaand Claude Opus 5.5 (1M context) in vitest-dev/vitest#11640 (a2ec4)- Advance fake timers in actions and expect.element - by
@julienw,@hi-ogawaand Claude Opus 5.5 (1M context) in vitest-dev/vitest#11242 (68190)- Drop trace view warning without html reporter - by
@hi-ogawaand Claude Opus 5.5 (1M context) in vitest-dev/vitest#11665 (e6407)- Detect shared chunks via the optimizer - by
@sheremet-vain vitest-dev/vitest#11661 (e2e9c)- Clear screenshot stability timeout - by
@sheremet-vain vitest-dev/vitest#11659 (fbe37)- Measure prepare duration with one clock - by
@sheremet-vain vitest-dev/vitest#11667 (a3ed4)- Keep failure screenshot per attempt - by
@hi-ogawaand Claude Opus 5.5 (1M context) in vitest-dev/vitest#11694 (a5022)- Print trace timeline of each attempt - by
@hi-ogawaand Claude Opus 5.5 (1M context) in vitest-dev/vitest#11695 (27229)
... (truncated)
Commits
7a38449chore: release v5.1.0 (#11838)a5ec316fix(vm): keep assignable accessor globals writable in node environment (#11834)e46c6c1refactor: share trace types and utils (#11825)9e23ce5refactor(snapshot): unify review update withSnapshotStateupdate (#11790)a0e33ccchore: eliminate lint error (#11822)fd145d8feat(experimental): add message option to vi.waitFor and vi.waitUntil (#11754)4e98551feat(experimental): add trace timeline for node (#11753)bf96dadfix: preserve rootDir in project paths (#11816)54e5b8afeat: interactively review failed snapshots (#11325)4277075fix(expect): keep soft .resolves/.rejects error location (#11792)- Additional commits viewable in compare view
Updates @playwright/test from 1.64.1 to 1.65.0
Release notes
Sourced from @playwright/test's releases.
v1.65.0
🥟 Run tests with Bun
The test runner now runs under Bun. Bun transpiles your TypeScript test files itself, so Playwright does not use Babel or its compilation cache. Pass the
--bunflag, because without itbunx playwright testruns on Node.js:bunx --bun playwright testOur CI runs the test runner tests under Bun 1.4.3 on Linux. Some features work differently under Bun:
- There is no watch mode. UI mode does not run tests again when files change, and
--only-changeddoes not follow imports.- Bun loads modules itself, so
--tsconfigand the JSX options intsconfig.jsonhave no effect, and custom ESM loaders are not supported.- Stack traces do not include async frames, and API names do not include the class name:
clickinstead oflocator.click. This changes some step locations, step titles and error messages.- Console output of a test does not get into the trace and UI mode.
🚨 Reports with only failures
New
failuresreporter prints failures and successful retries as they occur, followed by a summary, without progress output.New
onlyFailuresoption of the HTML, JSON and JUnit reporters keeps only tests with unexpected outcomes, flaky tests and interrupted tests:// playwright.config.ts import { defineConfig } from '@playwright/test';export default defineConfig({ reporter: [ ['failures'], ['html', { onlyFailures: true }], ], });
🎯 Test runner
New built-in
-exclusive-test lock runs a test only when no other tests are running. All other tests continue to run in parallel with each other:test('restart the server', { lock: '-exclusive-' }, async () => { // No other test runs while this one is running. });test.skip(), test.fixme(), test.fail() and test.slow() now accept only a description. It is recorded in the test annotation:
test('upload a file', async ({ page }) => { test.skip('Not implemented yet'); });
... (truncated)
Commits
a1f35e1chore: mark v1.65.0 (#43925)a99c1abcherry-pick(#43918): Revert "fix(docker): use latest stable Chrome for Testin...6f9a7f5cherry-pick(#43914): docs(release-notes): update Chromium version for 1.65daf93bbcherry-pick(#43912): feat(chromium): roll to r12546545e89cherry-pick(#43902): chore(deps): bump runtime deps0347448fix(test runner): track shared ESM dependencies for only-changed (#43837)86e6924fix(clock): cancel real-time timer when replay ends paused (#43873)d745ae0fix(route): wait for all active handlers before disabling interception (#43889)6e3f5ffdocs: release notes for v1.65 (#43874)aa33d27fix(chromium): honor Linux config directories for channel connections (#43884)- Additional commits viewable in compare view
Updates @tailwindcss/postcss from 4.3.3 to 4.3.4
Release notes
Sourced from @tailwindcss/postcss's releases.
v4.3.4
Added
- Add
@tailwindcss/turbopack, a Turbopack loader for using Tailwind CSS with Next.js (#20367)Fixed
- Ensure watch mode detects changes to symlinked
@sourcefiles whose real paths aren't otherwise scanned (#20356)- Ensure variants using
@scopewrap generated utilities instead of nesting inside them (#20369)- Ensure nested
@scoperules preserve their scoping semantics when flattened (#20369)- Preserve declarations directly inside
@scopeby wrapping them in:where(:scope)(#20369)- Ensure generated utilities include a space in empty
var()fallbacks (e.g.var(--tw-blur,)→var(--tw-blur, )) (#20373)- Canonicalization: convert arbitrary breakpoint and container query variants to named equivalents (e.g.
max-[64rem]:flex→max-lg:flex) (#20380)- Prevent
@tailwindcss/vitefrom crashing on every edit under Vite's experimentalbundledDevmode (#20379)- Ensure
@tailwindcss/oxidefalls back to WASM on platforms without native bindings (#20383)- Extract class candidates from Ruby
%wand%Wliterals using angle brackets or custom delimiters (e.g.%w<flex>,%w|flex|), including in Slim and Haml templates (#20387)- Preserve whitespace in
--default(…)values in functional@utilitydefinitions (e.g.--default(box alphabetic)no longer becomesboxalphabetic) (#20392)- Ensure automatic source detection respects negation-based
.gitignorefiles (e.g./*followed by!/…patterns) (#20397)- Ensure root
theme('…')namespace lookups in JavaScript plugins and config files return the full namespace object instead of the value of itsDEFAULTkey (#20399)- Skip ignored directories when generating watch globs instead of walking their contents on every rebuild (#20408)
- Drop invalid UTF-8 candidates during class detection (#20389)
- Prevent
@tailwindcss/vitefrom forcing full-page reloads for scanned files that Vite does not handle as modules (e.g..phpfiles) (#20414)- Canonicalization: don't merge utilities that reference different theme variables set to CSS-wide keywords like
unset(#20417)- Don't generate utilities when a modifier is used that would otherwise be silently ignored (e.g.
rounded-sm/[5],shadow-sm/foo,stroke-2/50) (#20419)- Preserve
and,or, andnotinside selectors insupports-[…]variants (e.g.supports-[selector(a:not(.foo))]:flex) (#20420)- Don't warn about Angular's
::ng-deepand:host-context()when optimizing CSS (#20434)- Don't generate CSS for candidates containing an empty additional modifier (e.g.
bg-red-500/50/andgroup-hover/foo//bar:flex) (#20466)- Ensure
min-*,max-*, and container query variants with decimal values are sorted numerically (e.g.min-[40.25rem]beforemin-[40.5rem]) (#20512)- Ensure CSS comments ending with
\*/are closed correctly instead of swallowing the CSS that follows (e.g./* C:\temp\*/) (#20508)- Improve style invalidation performance of
group-*andpeer-*variants (#20513)- Ensure cached compilers release their
loadModuleandloadStylesheetcallbacks after compilation (#20531)- Canonicalization: preserve
&when moving a pseudo-element into*or**(e.g.[&_::before]:flex→**:[&::before]:flex) (#20550)- Ensure the
Set.prototype.intersectionpolyfill incanonicalizeCandidates(…)returns the intersection instead of the first set on Node.js < 22 (#20562)- Canonicalization: ensure inline
theme(…)alphas with more than 2 decimals migrate to a percentage modifier with the same opacity (e.g.theme(colors.red.500/.12345)→text-red-500/[12.345%], nottext-red-500/[12.345]) (#20563)- Canonicalization: preserve inline
theme(…)alphas as an arbitrary percentage when a custom--opacity-*theme value would change the opacity (e.g.theme(colors.red.500/50%)→text-red-500/[50%]with--opacity-50: 10%) (#20563)- Ensure the
@propertyfallback isn't applied in Safari versions that no longer supportmargin-trim: inline(#20569)- Treat viewport units like
dvminandsviand font-relative units likecapandrexas lengths in arbitrary values (e.g.text-[10dvmin]generatesfont-sizeinstead ofcolor) (#20516)- Write plugin logs to stderr in
tailwindcss canonicalizeso they don't end up in the results on stdout (#20561)- Extract class shorthands on later lines when Pug text, comments, or quoted attribute values contain unbalanced brackets, or a quote that doesn't start a string (e.g.
input(pattern=/"/.source)) (#20547, #20572)- Underline the correct occurrence of an unsupported data type in
--value(…)warnings (#20554)- Canonicalization: prefer an existing candidate when collapsing utilities over another utility with the same default theme value (e.g.
text-foreground text-primary→text-primary, nottext-card-checked-border) (#20540)- Canonicalization: don't collapse utilities into a utility that uses another theme variable with the same default value (e.g.
mt-card mb-card→my-card, notmy-4) (#20574)- Ensure
@tailwindcss/postcssrewrites relativeurl(…)s of stylesheets that are inlined before it runs (e.g.@imports in Vite) in optimized builds (#20576)- Drop nested rules that put a combinator after a pseudo-element when using pseudo-element variants (e.g.
selection:*on a utility with a nested& > *rule) (#20575)- Don't generate CSS for arbitrary values with unbalanced parentheses or brackets (e.g.
w-[calc(1px]or[--x:a[b]) (#20577)- Canonicalization: prevent
collapse: truefrom taking exponentially longer when classes are linked through a utility that sets many properties (e.g.sr-only) (#20558)- Ensure
&is substituted inside:-moz-any(…)and:-webkit-any(…)in custom variants (e.g.@custom-variant firefox (:-moz-any(&));) (#20486)- Ensure the standalone macOS binaries have a valid code signature, so macOS 27 no longer kills them at launch (#20578)
- Ensure
@tailwindcss/turbopackand@tailwindcss/webpackrebuild when the input CSS changes (e.g.next devwith Turbopack no longer serves the CSS of the previous edit) (#20582)- Canonicalization: don't drop a utility that sets a
--tw-*variable when an unrelated property has the same value (e.g.link mt-4no longer becomesmt-4whenlinksetsmargin-top: 16pxand--tw-translate-x: 16px) (#20593)
... (truncated)
Changelog
Sourced from @tailwindcss/postcss's changelog.
[4.3.4] - 2026-11-02
Added
- Add
@tailwindcss/turbopack, a Turbopack loader for using Tailwind CSS with Next.js (#20367)Fixed
- Ensure watch mode detects changes to symlinked
@sourcefiles whose real paths aren't otherwise scanned (#20356)- Ensure variants using
@scopewrap generated utilities instead of nesting inside them (#20369)- Ensure nested
@scoperules preserve their scoping semantics when flattened (#20369)- Preserve declarations directly inside
@scopeby wrapping them in:where(:scope)(#20369)- Ensure generated utilities include a space in empty
var()fallbacks (e.g.var(--tw-blur,)→var(--tw-blur, )) (#20373)- Canonicalization: convert arbitrary breakpoint and container query variants to named equivalents (e.g.
max-[64rem]:flex→max-lg:flex) (#20380)- Prevent
@tailwindcss/vitefrom crashing on every edit under Vite's experimentalbundledDevmode (Description has been truncated
Package Dependencies
Technical Details
| ID: | 16804463 |
| UUID: | 6283870874 |
| Node ID: | PR_kwDORDGECs8AAAABN0GUWg |
| Host: | GitHub |
| Repository: | kroqdotdev/webhooks-cc |