Skip to content

v0.8.0

Choose a tag to compare

@nguyennhutien nguyennhutien released this 17 May 09:10
· 78 commits to main since this release
3ae89b4

0.8.0 (2026-05-17)

⚠ BREAKING CHANGES

  • The default source parser is now oxc-parser + magic-string (was Babel). No action needed for most projects — produced class names and source maps are byte-identical to Babel output.

    Two operator-visible behavior changes:

    1. Surgical source preservation. Whitespace, parentheses, and JSX destructuring that Babel's code generator would have stripped are now preserved verbatim. First-build diffs after upgrade may show original formatting returning. This is intentional — see Phase D rationale in the project roadmap.
    2. Fallback engaged on unexpected oxc failures. If oxc throws on a file (parser error, unsupported pattern), the unplugin logs [csszyx] oxc parser fell back to Babel for ... and re-runs through Babel. No build break — worth grepping CI logs after upgrade to surface coverage gaps.

    Opting out:

    • Per project: set build.parser: 'babel' in your csszyx config.
    • Per build: set CSSZYX_PARSER=babel in the build environment.

    Both paths route prescan, transform, and HMR discovery through Babel exactly as before this release. Babel removal is not in v0.8.0 scope — @babel/* packages remain shipped for the fallback path.

Features

  • default source parser to oxc + build pipeline modernization (#23) (64f32ae)

Bug Fixes

  • post-merge CI failures (types dts bundling + Lint job pre-build) (#24) (d0e7a40)