- Bring back
stylex.attrsfor SSR and non-React frameworks. - Add
layersBefore,layersAfter, andlayersPrefixfor@layercontrol. - Add
flexandgridshorthand expansion to ESLint plugin. - ESLint fixes: bare number support, false positive fixes in
stylex.create.
- Add simple
sx={}JSX prop syntax as an alternative tostylex.props. - Fix
unplugingenerateBundlehook to useemitFileinstead of direct bundle assignment.
- Add
stylex.envAPI for compile-time constants and shareable design tokens. - New
create-stylex-appCLI for scaffolding projects withnpx create-stylex-app. - Add Bun support and improvements to the
unpluginbundler plugin. - Support attribute selectors in
stylex.whenand conditional styles. - Fix priority calculation for compound pseudo selectors.
- New
no-conflicting-propslint rule. - Add
disallowedPropertiesValidationconfig to disable property compiler errors by default. - Preserve units in zero values for CSS variables.
- Fix
unplugincache invalidation on style changes. - Add
envcompiler option to exposestylex.envcompile-time constants.
- New playground within the docs website.
- Fix named exports detection on Turbopack.
- Add docs for setup instructions.
- Improve AST detection for
.stylexnamed exports - Add browser rollup bundle.
- Fix unplugin file suffix parsing.
- Pass importSources to babel plugin in
unpluginplugin. - Fix custom typescript typedef mistake.
- Add support for compiling stylex from imported packages.
- Add runtime injection support for
defineConstsconstants. - Show full debug file paths.
- Fix media query ordering for queries with 'screen and'.
- Add
debugFilePathconfig option. - Fix unitless zoom bug for float values.
- Fix props compilation for array mutations.
- Add docs for ESLint rules and
stylex.whenAPI. - Add
defineMarker()for custom markers for selector combinators. - New unplugin bundler plugin implementation for various bundlers (Vite, Webpack, Rspack, Rollup, etc.).
- Enhance
stylex.propsto precompile more often for better performance. - Order pseudo-classes and
stylex.whenselectors according to priorities in `sort-keys. - Add support for ternary and logical expressions in
valid-styles. - Bump specificity of
stylex.whenselectors over defaults. - Add polyfill for logical float values in legacy mode.
- Add configs to
sort-keysproperty ordering. - Create new
defineConstsspecific file extension. - Add
defineConstsand various file extension support toenforce-extension. - Add config for custom module resolution.
- Turn
enableMediaQueryOrderon by default. - Updates to docs and Flow.
- Handle descendant selector styles in
valid-stylesrule. - Adjust descendant selector
.whenpriorities. - Fix
defineVarsandcreateThemeat-rules priorities. - Update
defineConststypes for non-stylex usage.
- New
no-lookahead-selectorlint rule to flag certain descendant and sibling selectors. - Fix priorities for descendant and sibling selectors.
- Fix color functions for
valid-shorthandsrule. - Fix hoisting issues with duplicate keys in
createcalls. - Add storybook example.
- Added support for descendant and shared selectors.
- Support CSS variable overrides with
defineConsts. - Add
valid-stylessupport to CSS variable overrides increatecalls. - Replace
valid-stylesobject check with Flow typing
- Add configuration modes to
processStylexRules. - Support local resolved constants,
positionTry, and '0' values invalid-stylesESLint rule. - Implement
defineConstsfor dynamic styles. - Create
.transformedfile extension for preresolved variables.
- Optimize precomputed
propscalls in JSX. - Fix class name construction for dynamic contextual styles.
- Handle all unit values in media query rewriting.
- Exclude private dependencies from
@stylexjs/babel-pluginpackage. - Reduce chances of dynamic variable name collisions.
- Hoist stylex.create and static className objects to the top level for support inside functions.
- Enable media query ordering and parsing behind
enableMediaQueryOrderflag. - Integrate media query parser for automatic media query validation and normalization.
- Implement merging of width, height, and ranges in media query transformer.
- Optimize dynamic styles output for conditionals and template literals.
- Fix TypeScript types for
stylex.types.*functions. - Fix opaque type issues for InlineStyles.
- Do not emit class names for
nullorundefineddynamic styles. - Optimize dynamic styles output for binary and unary expressions.
- ESLint plugin style validation for length properties (#1136)
- Remove legacy RTL flipping of boxShadow, cursor, textShadow values.
- Another fix for TypeScript types.
- Add
viewTransitionClassAPI for creating CSS View Transitions. - ESLint plugin includes
validImportsoptions for all rules. - ESLint plugin includes autofix for all remaining nonstandard CSS properties
when using the
valid-stylesrule.
- Make
property-specificitythe defaultstyleResolution.
- Fix theming in dev/debug mode.
- Avoid putting certain
@-rulesin@layerblocks. - Fix type exports for TypeScript.
- Export additional Types.
- Add
positionTryAPI for creating@property-trydeclarations. - Add
defineConstsAPI for inlining constant values. - Re-write of the runtime style injection module to be more reliable.
- The
runtimeInjectioncompiler option is now disabled by default whendevis true. - The ESLint rule
no-legacy-conditional-stylesis renamed tono-legacy-contextual-styles. - The
useRemForFontSizecompiler option is renamed toenableFontSizePxToRem. It is disabled by default and should not be used directly. - The
genConditionalClassescompiler option is renamed toenableInlinedConditionalMerge. It is enabled by default and should not be used directly. - The
attrsAPI is removed due to low usage and redundancy with thepropsAPI.
- Fix the TypeScript types for themes and types functions.
- Fix the creation of duplicate classNames when defining nested pseudo-classes.
- Fix that allows the ESLint plugin to support use of
importSourcesobject syntax invalidImports. - Fix incorrect compiler error messages.
- Fix a bug that incorrectly wrapped CSS variables in quotes when used in the
contentproperty. - Fix a bug in the
firstThatWorksAPI when the last value was a variable. - Allow
importSourcesto be configured in the PostCSS plugin for React Strict DOM compatibility.
- Deprecate
@stylexjs/sharedpackage.
- Hash keys in compiled style objects to reduce generated code size.
- New eslint rule to flag use of legacy Media Query and pseudo-class syntax.
- Fix pseudo-elements bug in dynamic styles.
- Performance improvements to
createThemecompilation by caching object evaluation. - Disallow spreading in
createcalls.
- Deprecate
@stylexjs/dev-runtimepackage. - Deprecate
@stylexjs/esbuild-pluginpackage. - Deprecate
@stylexjs/nextjs-pluginpackage. - Deprecate
@stylexjs/open-propspackage. - Deprecate
@stylexjs/webpack-pluginpackage.
- Fix
createcompilation regression for string and number keys. - Fix babel path resolution within monorepos.