- Update postcss-font-family-system-ui to version 3.0 by @JLHwung in #443
- Update postcss-cli usage example in docs by @RyanZim in #444
- Fixed: remove incorrect "postinstall" npm script (#404 - @MoOx)
- Fixed: specify the actual require peer dependency for caniuse database (caniuse-lite is used since latest caniuse-api latest major bump) (@MoOx)
- Fixed: bump dependencies not updated to PostCSS@6 (#401 - @MoOx)
Node 4+ is supported.
All postcss plugins dependencies have been updated to latest version to ensure full PostCSS 6 compatibility.
Some breaking (minor) changes:
- image-set polyfill change 2x from 144dpi to 192dpi
- whitespace changes for image-set polyfill output
- rebeccapurpule is now an hexa number
- custom-selector does not output useless (empty) blocks with a selector with no rules associated
You can expect some other since all postcss plugins used have been updated to latest versions. If you have unexpected regression, please check corresponding plugins changelog before opening an issue.
This feature won't be included in next the major release of postcss-cssnext.
This most likely won't get any more support from browser vendors as the spec is yet considered deprecated and alternative solutions are being discussed. Read more about the reason here https://github.com/pascalduez/postcss-apply
- Added:
image-set()
support (via postcss-image-set-polyfill) (#373 - @SuperOl3g) - Added: new auto-deactivation rule in features map (#369 - @Semigradsky)
- Added:
system-ui
keyword to define current System font-size (via postcss-font-family-system-ui) (#342 - @JLHwung) - Added: new auto-deactivation rules in features map (#345 - @Semigradsky)
- Added: new rgb() & hsl() functional notation (via postcss-color-rgb & postcss-color-hsl ) (#330 - @dmarchena)
- Added: attribute case insensitive support (eg:
[data-thing=stuff i] {
to be able to select alldata-thing
attribute, without having to thing about the case of the value) (#306 - @Semigradsky)
- Added:
@apply
support (definitions limited to:root
selector) (#291) - @pascalduez)
- Added:
overflow-wrap
fallback (#280 - @MattDiMu)
- Fixed: pleeease-filters has been udpated to v3, in order to provide a real PostCSS plugin (#274)
Oops!
- Fixed:
"chalk" is undefined
. (#266) - Fixed: typo in related warning.
- Added: cssnext will now warn you when you have duplicates plugins. This is a
really common mistake, people include plugins that are already included in
cssnext and maybe sometimes in an inaccurate position.
Most tutorial on the internet are wrong (probably 99%) and show provide duplicates in their examples. (eg: autoprefixer + cssnext - but cssnext already includes autoprefixer).
In order to fix this, here is a warning. You are welcome. Read more about this issue - Added:
rem
will now adjust its behavior according to browser option (IE 9 and IE 10 will only havepx
in some places, where rem support is buggy, per caniuse notes) (#264)
- Added: documentation is now included in the npm package in
postcss-cssnext/docs/content
- Added: we use latest version of pixrem(@^3)
(6d44410)
So now
rem
have 2 new parameters:rootValue
to define the root element font-size manuallyunitPrecision
for rounded values
- Added: postcss-nesting
(b31f167).
Supports nesting via the
@nest
syntax. See postcss-nesting documentation.
- Added: postcss-initial
(a907881).
Supports
initial
value for all properties. Also it supportsall: initial
. Does not supportall: unset
andall: inherit
. Plugin can be useful for creating isolated components.all
specification: https://drafts.csswg.org/css-cascade/#all-shorthandall
browsers support: http://caniuse.com/#feat=css-allinitial
value specification: https://drafts.csswg.org/css-cascade/#initial-valueinitial
value browser support: http://caniuse.com/#feat=css-initial-value
- Fixed: plugin can be consumed correctly from es5 environment (7d6d3c0).
- Added: support for PostCSS v5.x
- Removed: support for PostCSS v4.x (b5ece99...8907c13).
pre 2.0.0 information was related to cssnext
package.
- Fixed:
compress
option now works again correctly. A recent update in cssnano has introduced some minor breaking changes the way cssnext changed plugins metadata (pluginName
). A direct minor change is thatmessages
(in console or in css output) now show real origin (postcss plugin name) instead of a vague "cssnext" origin. (#195)
- Fixed:
url
option (postcss-url) have been updated in order to benefit from severals fixes.
- Fixed: CLI watcher now works watchs correctl multiples
@import
(#123)
- Added: cssnext now throw an error if used as a webpack loader to prevent unexpected usage with a recommendation for cssnext-loader (#61)
- Fixed: replacement of
postcss-log-warnings
(deprecated) bypostcss-reporter
(#162) - Fixed: CLI now add
to
option automatically (#159) If you were happy with the previous CLI behavior (which was not rebasing url), you should probably just add the--no-url
to keep the CSS as it was. - Changed:
compress
option now use cssnano v2.x (#166) - Added: CLI output file dirname is now automatically created (using
mkdirp
) (#146)
- Fixed: bullet for browser messages should be visible on Chrome Windows.
Changed from
〉
to›
- Added: warning to deprecate previous (wrong) custom selectors syntax.
Previously they were working with and without pseudo syntax ':'
which is incorrect according to specs
Now you must use
@custom-selector :--{name}
syntax instead of@custom-selector --{name}
The support of syntax without : and the warning message will be remove in the next major release (#97) - Added:
plugins
option that allows you to pipe your own transformations (#118) - Added:
messages
option that allows you to see messages of transformations (#88) - Added:
:any-link
pseudo class support
- Added: prevent mutability issues with frozen options objects (#147)
- Fixed: support for autoprefixer 5.2 (#131)
- Fixed: when printing a bug report in CLI, url was not printed, due to a replacement of colors lib by chalk in 1.5.0 (#129)
- Changed:
compress
option use cssnano instead of CSSWring.
- Added: support for
:matches()
selector pseudo class - Added: support for
:not()
selector pseudo class level 4 (transpiled to level 3)
- Fixed: CLI
--watch
doesn't make some duplicate rebuild anymore.
- Added: hexadecimal fallback for rgba() color
- Fixed: --watch doesn't output console.log() related to watcherd/unwatched files anymore
- Changed: upgrade chokidar to stable 1.0.0 (used for cssnext --watch)
- Fixed: remove some deprecation notice related to postcss 4.1 (postcss#272)
- Added: pseudoElements single colon fallback for pseudoElements double colons
- Added:
--watch
CLI option now checks for changes in imported files
- Added:
--config
CLI option - Added:
--browsers
CLI option
- Fixed: cssnext binary doesn't exit on an error if --watch is enabled (#69)
- Changed: upgraded to postcss v4.x
- Changed:
import
is not considered as afeature
anymore, but is now directly an option for the API. It is still enabled by default.
Before
cssnext({
features: {
import: {
root: "./src"
}
}
});
After
cssnext({
import: {
root: "./src"
}
});
- Added:
url
option: non absolute url() are now rebased according tofrom
(andto
options if provided). Enabled by default. - Added:
compress
option now accept CSSWring options directly. - Added:
browsers
option can enable or disable features and is propagated to autoprefixer - Added: px fallback for
rem
unit
- Fixed:
Cannot find module 'exit'
error when an error came out (#54)
- Added: media queries range feature (ref)
- Added: filter feature (ref)
- Changed: upgrade postcss-import to 4.0.0 for windows compatibility
- Added: Windows compatibility (by building test on AppVeyor)
- Changed: upgrade to csswring v2.0.0 (postcss 3 ready). This is removing the boring warnings.
- Changed: update postcss-custom-selectors reference (with an S)
- Added: custom selectors feature (ref).
- Changed: update to postcss-calc v3 (which add
precision
&preserve
) & some useless minor updates - Changed: standalone version is now uglified (
dist/cssnext.js
)
- Changed: upgrade to postcss-import v3 which allow to easily consume node_modules
- Changed: "prefixes" feature is now "autoprefixer"
- Added: cssnext can be used as a postcss plugin
- Fixed: cssnext returns a string only if the first parameter is a real string (typeof === string)
- Changed: upgrade to postcss 3
- Changed: if sourcemap is set to true, default map is now true since postcss
v3.0.0 have by default
{inline: true, sourceContent: true}
- Changed: upgrade read-file-stdin from 0.0.4 to 0.2.0
- Fixed: bug introduced by
options
mutations (gulp-cssnext#1)
- Added: font-variant support (#42)
- Fixed: support !important for custom properties (#12)
- Added: echo a warning when using a non root custom properties (#13)
- Added: cssnext can return a postcss instance of no string given (#3)
- Added: gray() support (#44)
- Changed: color feature has been exploded to multiples features (#40).
Before
var output = cssnext(input, {
features: {
// providing `true` (or omitting this value) instead of the following object
// was the default behavior
color: {
color: true
hexAlpha: true
hwb: true
rebeccapurple: true
}
}
})
Now
var output = cssnext(input, {
// as usual if you where using all features, you can just omit this values
features: {
colorFunction: true,
colorHexAlpha: true,
colorHwb: true,
colorRebeccapurple: true
}
}
})
- Changed: cssnext options are not passed to all plugins anymore. You know need
to specify feature options by passing object to
features
properties
(#39).
Before
//eg: preserve custom properties
var output = cssnext(input, {
preserve: true
});
Now
//eg: preserve custom properties
var output = cssnext(input, {
features: {
customProperties: {
preserve: true
}
}
});
- Added: more control on sourcemap is possible using the new
map
option (direct postcss option). Using this option makesourcemap
one to be ignored and change the return value ofcssnext()
(object instead of string)
This change have been made to avoid collision between options (of each features).
- Fixed: nested custom properties usages (#25)
- Added: better custom properties fallbacks (thanks to postcss-custom-properties 0.3.0)
- Fixed: support empty files (#24)
- Fixed: missing
bin
in npm files...
- Fixed: missing
bin
inpackage.json
for npm
- Changed:
from
option doesn't enablesourcemap
automatically anymore
✨ First release