unstale

npm / linaria

linaria

What changed in linaria 1 to 8, from its official release notes, upgrade guides and advisories. Sources checked 2026-11-14.

24 breaking12 new APIs and options1 performance7 behavior and defaults5 tooling4 fixes and other

See which of these apply to your code, ranked, in your agent:

npx @unstale/cli init

@unstale/cli 0.3.1 on npm

linaria 87 changes

Breaking changes 4

  • Babel config and Babel resolver plugins are no longer implicit module-resolution fallbacks during WyW evaluation; move build-time alias handling to WyW configuration.

    8.0.0release notes

  • Cascade ties with identical specificity may emit in a different order; make precedence explicit where order matters.

    8.0.0release notes

  • Migrate top-level evaluate configuration to eval.strategy; hybrid is the default, execute keeps evaluator-only compatibility, and static rejects evaluator fallback.

    8.0.0release notes

  • Linaria 8 requires Node.js 22.12 or newer.

    8.0.0release notes

Performance 1

  • Hybrid mode moves more style computation into analytical static evaluation, reducing evaluator startup and module execution work.

    8.0.0release notes

Behavior and default changes 1

  • The default hybrid mode resolves statically provable values first, then falls back to the evaluator.

    8.0.0release notes

Fixes and other changes 1

  • The updated transform avoids duplicate CSS for certain same-file processor bindings and keeps mixed static/processor object-member interpolations statically resolvable.

    8.0.0release notes

linaria 76 changes

Breaking changes 2

  • WyW 1.x can re-evaluate modules when cached exports are incomplete, so cached export values might not be reused.

    7.0.0release notes

  • Linaria 7 requires Node.js 20 or later, aligned with WyW 1.x.

    7.0.0release notes

Behavior and default changes 2

  • WyW 1.x promotes fully-statically-evaluatable modules to only: ['*'].

    7.0.0release notes

  • WyW 1.x serializes transform() by default; Rollup users encountering an early exit or deadlock can set this option to false.

    7.0.0release notes

Fixes and other changes 2

  • When importing JSON from code evaluated by WyW, add .json to extensions so JSON imports can be handled correctly.

    7.0.0release notes

  • When importing JSON from code evaluated by WyW, ensure .json is ignored by evaluation rules so it is parsed as JSON, not by Babel.

    7.0.0release notes

linaria 615 changes

Breaking changes 13

  • Discontinued; its functionality is now part of @wyw-in-js/transform, installed automatically with bundler plugins.

    6.0.0release notes

  • Discontinued.

    6.0.0release notes

  • Replaces @linaria/babel-preset as part of the move of tooling to the @wyw-in-js scope.

    6.0.0release notes

  • Replaces @linaria/cli as part of the move of tooling to the @wyw-in-js scope.

    6.0.0release notes

  • Replaces @linaria/esbuild as part of the move of tooling to the @wyw-in-js scope.

    6.0.0release notes

  • Base classes for processors and most helpers have moved to this package.

    6.0.0release notes

  • Replaces @linaria/rollup as part of the move of tooling to the @wyw-in-js scope.

    6.0.0release notes

  • Replaces @linaria/vite as part of the move of tooling to the @wyw-in-js scope.

    6.0.0release notes

  • Replaces @linaria/webpack5-loader as part of the move of tooling to the @wyw-in-js scope.

    6.0.0release notes

  • Replaces linaria.config.js as the configuration file name.

    6.0.0release notes

  • Replaces linariarc as the configuration file name.

    6.0.0release notes

  • Replaces the __linaria field for storing meta information in runtime.

    6.0.0release notes

  • Replaces __linariaPreval as the export with all interpolated values.

    6.0.0release notes

Tooling 2

  • Replaces linaria as the caller name in Babel.

    6.0.0release notes

  • Now includes the shaker functionality and is installed automatically with the bundler plugins.

    6.0.0release notes

linaria 51 changes

Behavior and default changes 1

  • Dependency tree processing now supports wildcard re-exports.

    5.0.0release notes

linaria 422 changes

Breaking changes 3

  • Babel removes CSS-related code from the runtime.

    4.0.0release notes

  • Custom properties are no longer hyphenated.

    4.0.0release notes

  • The Babel package was renamed to @linaria/babel-preset.

    4.0.0release notes

New APIs and options 12

  • Babel supports asynchronous resolvers.

    4.0.0release notes

  • Atomic CSS supports at-rules, keyframes, and pseudo classes.

    4.0.0release notes

  • Atomic CSS supports property priorities.

    4.0.0release notes

  • Atomic CSS can be used with the styled API.

    4.0.0release notes

  • CSS template literals can be renamed.

    4.0.0release notes

  • CSS extraction logic from an AST is exposed for use by developers.

    4.0.0release notes

  • An API for custom template tags was added.

    4.0.0release notes

  • Linaria can interoperate with traditional CSS-in-JS libraries.

    4.0.0release notes

  • A package providing an atomic version of the css API was added.

    4.0.0release notes

  • A custom resolver option was added to support re-exporting Linaria libraries.

    4.0.0release notes

  • Basic support was added for tags of any type.

    4.0.0release notes

  • A new CLI flag, --transform, was added.

    4.0.0release notes

Behavior and default changes 3

  • classNameSlug resolution now includes file, name, dir, and ext.

    4.0.0release notes

  • The shaker package became optional.

    4.0.0release notes

  • Support for tags other than tagged templates was improved.

    4.0.0release notes

Tooling 3

Fixes and other changes 1

  • Babel now supports dynamic keys in objects with css as values.

    4.0.0release notes

linaria 21 changes

Breaking changes 1

  • core-js has been removed from dependencies, which may affect developers relying on it being installed transitively.

    2.0.0release notes

linaria 11 changes

Breaking changes 1

  • Invalid interpolations now throw an error at build time to avoid mistakes.

    1.0.0release notes