chore(deps): bump the npm-deps group in /apps/exam-v1 with 4 updates
Bumps the npm-deps group in /apps/exam-v1 with 4 updates: next, @playwright/test, @tailwindcss/postcss and tailwindcss.
Updates next from 16.4.3 to 16.4.5
Release notes
Sourced from 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!
Commits
4e5335av16.4.5809be72[lts-active] Strip internal middleware cookie headers from edge responses (#282)2842833[lts-active] Fix stale compressed framing for forwarded fetch responses (#281)6596840[lts-active] [use cache] Fix cache key when binary args are used (#280)18eeffb[lts-active] Fix shared shell poisoning from request-supplied placeholder par...e66e656[lts-active] [next/image] Fix false-positive AVIF/HEIC detection (#278)d605874[lts-active] Fixunstable_cacheleaking cold'use cache'fills across roo...80c96ed[lts-active] Fix outer'use cache'entries reused across root param values ...b175f52v16.4.4ba4a4c1[lts-active] Use fast-jwt instead of jsonwebtoken (#100885)- 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 (#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)
... (truncated)
Commits
Updates tailwindcss from 4.3.3 to 4.3.4
Release notes
Sourced from tailwindcss'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'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 (#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)
... (truncated)
Commits
2626ae64.3.4 (#20447)cd5831fKeep a declaration without a;at the end of the CSS input (#20655)2570e00Parse a custom property at the end of the input without a trailing;(#20653)410a465Don't treat!importantinside a declaration value as the important flag (#2...a982d5bDecode single-digit hexadecimal CSS escapes (#20591)fda34f8Canonicalization: only ignore--tw-{property}next to the related property ...1f18d20Handle vendor-prefixed selector functions in custom variants (#20486)955d37aFix out of memory error in the canonicalize tests on macOS CI (#20579)92172d3Canonicalization: avoid exponential collapse when a utility sets many propert...374d191Reject arbitrary values with unbalanced parens or brackets (#20577)- Additional commits viewable in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore <dependency name> major versionwill close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)@dependabot ignore <dependency name> minor versionwill close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)@dependabot ignore <dependency name>will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)@dependabot unignore <dependency name>will remove all of the ignore conditions of the specified dependency@dependabot unignore <dependency name> <ignore condition>will remove the ignore condition of the specified dependency and ignore conditions
Summary by cubic
Bumps four dependencies in /apps/exam-v1, including a next patch release that fixes multiple security advisories.
next16.4.5 addresses seven moderate advisories covering cache disclosure and poisoning, SVG rejection bypass in image optimization, and HttpOnly cookie exposure on Edge runtime routes.@playwright/test1.65.0 adds Bun support, a failures-only reporter, and an exclusive test lock.@tailwindcss/postcssandtailwindcss4.3.4 fix numerous CSS generation bugs and upgradelightningcssandmagic-stringtransitively.