Skip to content

Improve(CSS): Finalize 2.0 freeze with compose removal - #461

Merged
1aron merged 81 commits into
rustfrom
codex/css-2-freeze
Sep 28, 2026
Merged

1aron merged 81 commits into
rustfrom
codex/css-2-freeze

Conversation

@1aron

@1aron 1aron commented Sep 27, 2026 •

Copy link
Copy Markdown
Member

The CSS 2.0 freeze needed cross-domain contract coverage, accurate public guidance and working progressive examples. This change completes the freeze and its 2.x roadmap deliverables, integrating the complete Compose removal before validating the combined source.

Genuine @compose directives now produce ranged removed-compose-directive errors. Compose lowering, traces, directive lint/autofix, ESLint stylesheet configuration, CLI --fix-directives and related MCP fields are removed. Native declarations, ordered duplicate fallbacks and selectors remain supported. ABI is 14, diagnostics report 4, lint batch 2 and MCP directive inspection 2; Manifest v1 and language v3 remain unchanged. The integrated history also retires built-in size / min-size / max-size utilities; examples use independent dimensions and retained reference URLs explain migration.

The freeze exposes existing inspection diagnostic types, repairs Astro/Svelte progressive examples and Svelte client initialization, preserves Windows path/file-URL and CRLF behavior, and avoids recompiling immutable Next CSS sidecars during HMR. Source TypeScript aliases and a public Next return type remove dependencies on stale build artifacts. Linux and Windows validation use two package task slots; the Sass SSR reimport uses the existing bounded rebuild deadline while retaining its CSS and channel assertions.

Removal commit 9d9817241 is a parent of integration merge e231a700e. Both histories are preserved. The Compose integration review records 76 changed/renamed cases and 26 explicit historical retirements. All outstanding QA scopes are approved. The Rust migration denominator remains 1,033 cases: 488 exact, 25 supersets, 494 approved changes and 26 approved removals. All 21 reviewed Manifest case digests remain unchanged; the gate also verifies 1,546 rc.87 cases and seven post-rc.87 files.

Validation at 16a90bdde96ef08ba4312e5d94aaf36d50048dca:

  • Complete CI passes Linux package tests/lint/types (111/111 tasks), site verification and examples (36/36); Windows packages (59/59, including Vite 676/676) and examples (36/36); Rust fmt/Clippy/workspace/codegen/parity; and all eight native targets.
  • Linux E2E passes 432 runtime cases across Chromium, Firefox and WebKit, plus 10 Next cases. Earlier Astro/Svelte progressive live smoke covers six app/browser combinations; the removal changes no example or Astro/Svelte production source.
  • The site CSS review explains the refreshed snapshot: 1,240 retained routes, 1,811 identical rules, 16 size rules replaced by 32 dimension rules, native font resources and reference-page changes. The CSS gate and 17 Playground cases pass. Site lint has zero errors and 265 existing warnings.
  • Cloudflare and Vercel deploy this exact candidate and pass page, canonical and removal-notice checks. Cloudflare health passes. Browser visual checks on the preceding candidate cover identical production site sources.
  • Local package validation passes 111/111 tasks, package builds 32/32 and published-artifact checks 788/788. Clean-source type-checks pass with 26 package build directories absent, retaining Webpack's deliberate built-artifact input. Scoped documentation, highlighting, migration, public API, boundary and runtime-size checks pass; the dated audit preserves commands and earlier failures, superseded by the final CI result above.

Refs #445–#456; acceptance issues close after verified integration. #455/#456 deliver the public example and RFC; #457–#460 remain open for 2.x implementation/research, and #444 remains a separate published-RC report. No npm publication, package rename, version bump, lockfile change or release-workflow change is included.

Normalize static and raw utility ownership per entry and diagnose token
ambiguity independently of current values. Validate known CSS math types
without changing native declaration generation.

Preserve generated theme selectors through separate compiler globals and
Next CSS Module delivery. Remove the built-in size family, add rc-sizing
migration, update binding ABI to 13, and migrate official examples and docs.

Record regression coverage, native/Wasm parity and paired performance
measurements in parity/sizing-resolution-validation.md. Full release
acceptance remains pending Firefox execution, historical migration evidence
and the unexplained additional Turbopack burst-HMR snapshot checks.
Supply discovered project definitions to local styles in Next, Vite, and Webpack. Add explicit referenceFiles for standalone compilation and retain the resources each stylesheet needs without assuming discovered entries are loaded.

Preserve CSS Module and scoped-style ownership, resource origins, dependency tracking, and HMR. Cache pure prepared graph requests, remove 53 redundant site references, and document the revised contract.

Validation: 1,433 package tests, four Next browser cases, site and Webpack example builds, ten visual checks, lint, type checks, and AI context checks passed. The existing site CSS contract snapshot mismatch remains unchanged; the baseline compiler produces the same manifest.
@vercel

vercel Bot commented Sep 27, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
master-css Ready Ready Preview Sep 28, 2026 5:17am UTC

Request Review

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Sep 27, 2026 •

Copy link
Copy Markdown

Deploying master-css with  Cloudflare Pages  Cloudflare Pages

Latest commit: 16a90bd
Status: ✅  Deploy successful!
Preview URL: https://0dc8108c.master-css-e8w.pages.dev
Branch Preview URL: https://codex-css-2-freeze.master-css-e8w.pages.dev

View logs

Reject @compose with ranged removal diagnostics and remove its lowering,
trace, lint, formatting, and tooling contracts. Update the binding ABI and
related diagnostic report versions.

Migrate examples and regression fixtures to native CSS, preserve reference
resources and source maps, and update directive migration guidance.

BREAKING CHANGE: @compose, composition traces, dedicated lint options,
ESLint stylesheet config, and CLI --fix-directives are removed.
@1aron 1aron changed the title Improve(CSS): Verify 2.0 freeze contracts and examples Improve(CSS): Finalize 2.0 freeze with compose removal Sep 28, 2026
@1aron
1aron marked this pull request as ready for review September 28, 2026 05:54
@1aron
1aron merged commit 262adb8 into rust Sep 28, 2026
20 of 21 checks passed
@1aron
1aron deleted the codex/css-2-freeze branch September 28, 2026 06:08

This branch was successfully deployed

1 active deployment
Preview — 16a90bdd Deployed Sep 28, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant