- Fix infinite loop for comments that contain variables (e.g.
var(--foo) /* var(--bar) */)
May 27, 2025
- Improve the implementation of how comments are preserved when transpiling
- Updated
@csstools/css-tokenizerto3.0.4(patch) - Updated
@csstools/css-parser-algorithmsto3.0.5(patch) - Updated
@csstools/cascade-layer-name-parserto2.0.5(patch)
November 1, 2024
- Updated
@csstools/css-tokenizerto3.0.3(patch) - Updated
@csstools/css-parser-algorithmsto3.0.4(patch) - Updated
@csstools/cascade-layer-name-parserto2.0.4(patch)
October 23, 2024
- Updated
@csstools/css-parser-algorithmsto3.0.3(patch) - Updated
@csstools/cascade-layer-name-parserto2.0.3(patch)
October 10, 2024
- Updated
@csstools/css-tokenizerto3.0.2(patch) - Updated
@csstools/css-parser-algorithmsto3.0.2(patch) - Updated
@csstools/cascade-layer-name-parserto2.0.2(patch)
August 18, 2024
- Updated
@csstools/css-tokenizerto3.0.1(patch) - Updated
@csstools/css-parser-algorithmsto3.0.1(patch) - Updated
@csstools/cascade-layer-name-parserto2.0.1(patch)
August 3, 2024
- Updated: Support for Node v18+ (major).
- Updated
@csstools/css-tokenizerto3.0.0(major) - Updated
@csstools/utilitiesto2.0.0(major) - Updated
@csstools/css-parser-algorithmsto3.0.0(major) - Updated
@csstools/cascade-layer-name-parserto2.0.0(major)
July 6, 2024
- Updated
@csstools/css-tokenizerto2.4.1(patch) - Updated
@csstools/css-parser-algorithmsto2.7.1(patch) - Updated
@csstools/cascade-layer-name-parserto1.0.13(patch)
June 29, 2024
- Updated
@csstools/css-tokenizerto2.3.2(patch) - Updated
@csstools/css-parser-algorithmsto2.7.0(minor) - Updated
@csstools/cascade-layer-name-parserto1.0.12(patch)
May 4, 2024
- Updated
@csstools/css-tokenizerto2.3.1(patch) - Updated
@csstools/css-parser-algorithmsto2.6.3(patch) - Updated
@csstools/cascade-layer-name-parserto1.0.11(patch)
May 4, 2024
- Updated
@csstools/css-tokenizerto2.3.0(minor) - Updated
@csstools/css-parser-algorithmsto2.6.2(patch) - Updated
@csstools/cascade-layer-name-parserto1.0.10(patch)
April 22, 2024
April 11, 2024
- Improve handling of cross references between computed values of custom properties
March 13, 2024
- Updated
@csstools/css-tokenizerto2.2.4(patch) - Updated
@csstools/css-parser-algorithmsto2.6.1(patch) - Updated
@csstools/cascade-layer-name-parserto1.0.9(patch)
February 19, 2024
- Reuse code with
@csstools/utilities - Updated
@csstools/css-parser-algorithmsto2.6.0(minor) - Updated
@csstools/cascade-layer-name-parserto1.0.8(patch)
December 31, 2023
- Updated
@csstools/css-tokenizerto2.2.3(patch) - Updated
@csstools/css-parser-algorithmsto2.5.0(minor) - Updated
@csstools/cascade-layer-name-parserto1.0.7(patch)
December 15, 2023
- Fix type definitions
- Updated
@csstools/css-tokenizerto2.2.2(patch) - Updated
@csstools/css-parser-algorithmsto2.4.0(minor) - Updated
@csstools/cascade-layer-name-parserto1.0.6(patch)
September 24, 2023
- Updated
@csstools/css-tokenizerto2.2.1(patch) - Updated
@csstools/css-parser-algorithmsto2.3.2(patch) - Updated
@csstools/cascade-layer-name-parserto1.0.5(patch)
September 18, 2023
- Improve performance
July 24, 2023
- Added: support for
:where(html)and:where(:root)selectors - Fixed: cascade layers support
- Updated
@csstools/css-tokenizerto2.2.0(minor) - Updated
@csstools/css-parser-algorithmsto2.3.1(patch) - Updated
@csstools/cascade-layer-name-parserto1.0.4(patch)
July 3, 2023
- Updated
@csstools/css-parser-algorithmsto2.3.0(minor) - Updated
@csstools/cascade-layer-name-parserto1.0.3(patch)
June 1, 2023
- Do not generate fallback values when the rule is wrapped in
@supports (top: var(--f)).
April 10, 2023
- Updated
@csstools/css-tokenizerto2.1.1(patch) - Updated
@csstools/css-parser-algorithmsto2.1.1(patch) - Updated
@csstools/cascade-layer-name-parserto1.0.2(patch)
February 21, 2023
- Fixed: exception on chained variable declarations.
February 8, 2023
- Fixed: exception on missing variables.
February 7, 2023
- Do not apply fallback values when these contain unresolvable custom properties.
January 28, 2023
- Improve
typesdeclaration inpackage.json
January 24, 2023
- Added: Support for Cascade Layers.
- Improve plugin performance (port of fixes in
v12.1.11)
November 14, 2022
- Updated: Support for Node v14+ (major).
- Removed :
importFromfeature (breaking). - Removed :
exportTofeature (breaking). - Added support for local custom property declarations.
.example {
--a-value: 20px;
margin: var(--a-value);
}
/* becomes */
.example {
--a-value: 20px;
margin: 20px;
margin: var(--a-value);
}December 1, 2022
- Improve plugin performance
October 20, 2022
- Fix how
preserve: falseinteracts with logic around duplicate code (see12.1.9).
:root {
--my-order: 1;
}
.foo {
order: 1;
order: var(--my-order);
}
/* With `preserve: false` : */
.foo {
order: 1;
}September 14, 2022
- Prevent duplicate code generation.
.foo {
order: 1;
order: var(--my-order, 1);
}
/* becomes */
.foo {
order: 1;
- order: 1;
order: var(--my-order, 1);
}June 10, 2022
- Remove some unneeded regular expressions.
April 8, 2022
- Fix racing condition that could happen when using other async PostCSS plugins (#331)
April 5, 2022
- Fix
var()fallback value downgrades with value lists.
March 19, 2022
- Add deprecation notice for
importFromandexportTo
January 31, 2022
- Fix
.mjsinimportFromwhen usingexport default - Fix
.mjsinimportFromon Windows
January 17, 2022
- Reset plugin state after each process. It is now safe to use the plugin multiple times for different processes or when watching.
January 12, 2022
- Fix TypeScript transpilation.
- Avoid throwing errors on unexpected option objects.
January 12, 2022
- Fix Node 12/14 compatibility
January 12, 2022
- Add
overrideImportFromWithRootoption - Allow
.mjsinimportFrom - Converted to TypeScript
- Correct typings for plugin options
- Fix unicode support in custom property names
January 7, 2022
- Fixed an issue that was causing synchronous mode to not being able to pick and transform properties that were added as part of the PostCSS flow. (#132)
January 2, 2022
- Removed Sourcemaps from package tarball.
- Moved CLI to CLI Package. See announcement.
December 16, 2021
- Changed: now uses
postcss-value-parserfor parsing. - Updated: documentation
September 17, 2021
- Updated: Support for PostCS 8+ (major).
- Updated: Support for Node 12+ (major).
January 12, 2021
- Added: Support for PostCSS v8.
September 18, 2020
- Fixed:
url-regexvulnerability (#228) - Breaking Change: Node v10+ now required
September 18, 2020
- Added: Export variables to SCSS file (#212)
- Added: Support for ".pcss" file resolution in
importFrom(#211) - Fixed: Allow combined selectors (#199)
- Fixed: Bug with spaces and commas in value (#222)
- Fixed:
importFrompriority (#222)
February 20, 2020
- Fixed: Preserve spaces in multi-part values (#203)
July 15, 2019
- Added: Support for preserving trailing comments within a declaration.
July 15, 2019
- Updated:
postcss-values-parserto 3.0.5 (patch)
June 20, 2019
- Updated:
postcss-values-parserto 3.0.4 (major) - Updated: Node 8+ compatibility (major)
This release is identical to v9.0.0, only
npm publishfailed to publish v9.0.0 and threw the following error:You cannot publish over the previously published versions: 9.0.0.I did not want this issue to distract me, and so I thoughtfully and impatiently published v9.0.0 as v9.0.1.
June 20, 2019
- Added: Synchronous transforms when async is unnecessary (thank @eteeselink)
- Fixed: Unexpected mutations to imported Custom Properties (thank @EECOLOR)
- Fixed: Transforms throwing over unknown Custom Properties
April 1, 2019
- Added: Support for ignoring lines and or blocks using
postcss-custom-propertiescomments. - Updated:
postcssto 7.0.14 (patch) - Updated:
postcss-values-parserto 2.0.1 (patch)
November 5, 2018
- Fixed: Issue with duplicate custom property usage within a declaration
October 2, 2018
- Fixed: Issue with nested fallbacks
October 2, 2018
- Fixed: Issue with parsing custom properties that are not strings
- Updated:
postcssto 7.0.5 (patch)
September 21, 2018
- Fixed: Issue with regular
:rootandhtmlproperties not getting polyfilled - Updated:
postcssto 7.0.3 (patch)
September 21, 2018
- Fixed: Issue with multiple
importFromnot getting combined
September 18, 2018
- Fixed: Do not break on an empty
importFromobject
September 18, 2018
- Updated: PostCSS Values Parser 2
September 17, 2018
- Fixed: Spacing is preserved before replaced variables.
September 17, 2018
- Fixed: Workaround issue in
postcss-values-parserincorrectly cloning nodes.
September 16, 2018
- Added: New
exportTofunction to specify where to export custom properties to. - Added: New
importFromoption to specify where to import custom properties from. - Added: Support for variables written within
html - Added: Support for PostCSS v7.
- Added: Support for Node v6+.
- Removed:
strictoption, as using the fallback value isn’t necessarily more valid. - Removed:
preserve: "computed"option, as there seems to be little use in preserving custom property declarations while removing all usages of them. - Removed:
warningsandnoValueNotificationsoptions, as this should be the job of a linter tool. - Removed:
variablesoption, which is now replaced byimportFrom - Removed:
appendVariablesoption, which is now replaced byexportTo - Fixed: Custom Properties in
:rootare not also transformed. - Fixed: Declarations that do not change are not duplicated during preserve.
February 16, 2018
- Changed:
preserveoption defaults astrueto reflect the browser climate - Changed:
warningsoption defaults tofalseto reflect the browser climate
February 16, 2018
- Reverted:
preserveandwarningsoption to be added in major release
February 15, 2018
- Fixed:
var()captures strictlyvar()functions and notxvar(), etc - Fixed:
var()better captures whitespace within the function - Fixed: comments within declarations using
var()are now preserved - Changed:
preserveoption defaults astrueto reflect the browser climate - Changed:
warningsoption defaults tofalseto reflect the browser climate - Updated documentation
October 6, 2017
- Added:
noValueNotificationsoption (#71) - Fixed: Typo in
prefixedVariablesvariable name (#77)
June 28, 2017
- Added: Let "warnings" option silence all warnings (#67)
- Dependencies update (postcss, balanced-match)
May 15, 2017
- Fixed: incorrect export (#69)
May 12, 2017
- Added: compatibility with postcss v6.x
February 1, 2017
- Minor dependency update (#57)
April 22, 2016
- Fixed: trailing space after custom property name causes duplicate empty property (#43)
August 25, 2015
- Removed: compatibility with postcss v4.x
- Added: compatibility with postcss v5.x
July 21, 2015
- Added:
warningsoption allows you to disable warnings. (cssnext#186)
July 14, 2015
- Added: plugin now returns itself in order to expose a
setVariablesfunction that allow you to programmatically change the variables. (#35)
June 17, 2015
- Changed: messages and exceptions are now sent using postcss message API.
April 8, 2015
- Added:
preservenow support"computed"so only preserve resolved custom properties (see new option below) - Added:
appendVariablesallows you (whenpreserveis truthy) to append your variables as custom properties - Added:
strict: falseallows your to avoid too many fallbacks added in your CSS.
03 31, 2015
- Added: JS defined variables are now resolved too (#22)
03 16, 2015
- Added: variables defined in JS are now automatically prefixed with
--(0691784)
February 6, 2015
- Fixed: logs now have filename back (#19)
January 20, 2015
December 2, 2014
- Fixed: issue when multiples undefined custom properties are referenced (#16)
November 25, 2014
- Added: enhanced exceptions & messages
November 12, 2014
- Changed: upgrade to postcss 3
November 4, 2014
- Fixed: more clear message for warning about custom prop used in non top-level :root
November 3, 2014
- Fixed: warning about custom prop used in non :root
November 2, 2014
- Added: warning when a custom prop is used in another place than :root
- Added: handle !important
September 30, 2014
- Added: JS-defined properties override CSS-defined
August 27, 2014
- Added: nested custom properties usages are now correctly resolved
- Changed: undefined var doesn't throw error anymore (just a console warning) & are kept as is in the output
August 26, 2014
- Changed: fallback now are always added by default (see why)
- Changed:
mapoption renamed tovariables
August 22, 2014
- Added:
mapoption - Changed: GNU style error message
August 1, 2014
✨ First release based on rework-vars v3.1.1