console.warn any messages when using deprecated
options; these are now sent to PostCSS. You will be able to see them if you
use a PostCSS runner with built-in messages support, or alternately by
loading postcss-reporter or postcss-browser-reporter in your plugins list.grid identifier reduction by adding it to the list
of optimisations turned off when options.safe is set to true.unicode-range descriptors. Values will
be converted when the code matches 0 & f in the same place on both sides
of the range. So, u+2000-2fff can be converted to u+2???, but
u+2100-2fff will be left as it is.v3.9.0, where undefined values
would attempt to be parsed.display: list-item inline flow would be normalized
to inline list-item rather than inline-list-item (thanks to @mattbasta).display property. For
example block flow can be simplified to block.safe flag was not being persisted across
multiple files (thanks to @techmatt101).hasOwnProperty instead of using an array of object keys.indexes-of dependency.2.0.0 as a fix has landed in the new
version of uniqid.2.0.0 in order to
mitigate an issue with uniqid 3.0.0.stripWWW option.background-repeat definitions; works with both this property
& the background shorthand, and aims to compress the extended two value
syntax into the single value syntax.initial values for properties when the actual initial value
is shorter; for example, min-width: initial becomes min-width: 0.steps(1).steps functions with a
single argument.postcss-discard-overridden to safely discard overridden rules with
the same identifier (thanks to @Justineo).cubic-bezier
functions that are equivalent to the timing keywords and compresses, as well
as normalizing the steps timing function.perspective-origin property to the list of supported properties
transformed by the reduce-positions transform.background-position
were being incorrectly converted.background-position values in the background
shorthand property.background-position and the background shorthand.core module, now performs less AST passes.options.safe threw an error when cssnano was
not used as part of a PostCSS instance, but standalone (such as in modules
like gulp-cssnano). cssnano now renames safe internally to isSafe.2.1.2, as the 2.1.3 & 2.1.4 patches had
optimization regressions that are now resolved in 2.1.5.translate3d(0, 0, 0) becomes translateZ(0).outline: none to outline: 0, as there are
some cases where the values are not equivalent (thanks to @TrySound).16px to 1pc by default. Length
optimisations can be turned on via {convertValues: {length: true}}.add option to true to prepend a UTF-8
charset to the output automatically (thanks to @TrySound).safe option was added, which disables more aggressive optimisations, as
a convenient preset configuration (thanks to @TrySound).deg to turn & vice versa, & improved
minification performance in functions (thanks to @TrySound).process method has the same signature as a PostCSS processor instance.merge & fonts that were deprecated in
release 2.5.0 were removed. The new architecture allows you to specify any
module name to disable it.inherit keyword.functionOptimiser.merge & fonts) will be removed in 3.0.::before to :before; this release removes the dedicated
postcss-pseudoelements module.postcss-font-family to be disabled.postcss([ cssnano ]).ch units; previously they were removed.postcss-plugin keyword to package.json.cssnano.process(css, opts) instead of cssnano(css, opts).background:none to background:0 0.url() functions.@keyframes and @counter-style at-rules.remove option (thanks to @dmitrykiselyov).removeAllButFirst now operates on each CSS tree, rather than the
first one passed to cssnano.border:none to border:0 0.decl.before from prior AST.@keyframes and @counter-style if they
have duplicated properties but are named differently.rem,
trailing zeroes and slash/comma separated values
(thanks to @TrySound & @tunnckoCore).-webkit-tap-highlight-color values were being
incorrectly transformed to transparent. This is not supported in Safari.