1 | # Change Log
|
2 |
|
3 | All notable changes to this project will be documented in this file.
|
4 | See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
5 |
|
6 | # [5.0.0](https://github.com/cssnano/cssnano/compare/cssnano@5.0.0-rc.2...cssnano@5.0.0) (2021-04-06)
|
7 |
|
8 | **Note:** Version bump only for package cssnano
|
9 |
|
10 |
|
11 |
|
12 |
|
13 |
|
14 | # [5.0.0-rc.2](https://github.com/cssnano/cssnano/compare/cssnano@5.0.0-rc.1...cssnano@5.0.0-rc.2) (2021-03-15)
|
15 |
|
16 |
|
17 | ### Bug Fixes
|
18 |
|
19 | * update SVGO ([aa07cfd](https://github.com/cssnano/cssnano/commit/aa07cfd62c82ed4b1e87219eea8d0ed99635e4ca))
|
20 |
|
21 |
|
22 |
|
23 |
|
24 |
|
25 | # [5.0.0-rc.1](https://github.com/cssnano/cssnano/compare/cssnano@5.0.0-rc.0...cssnano@5.0.0-rc.1) (2021-03-04)
|
26 |
|
27 | **Note:** Version bump only for package cssnano
|
28 |
|
29 |
|
30 |
|
31 |
|
32 |
|
33 | # 5.0.0-rc.0 (2021-02-19)
|
34 |
|
35 |
|
36 | ### Bug Fixes
|
37 |
|
38 | * **postcss-ordered-values:** columns transform returning string instead of the AST ([#928](https://github.com/cssnano/cssnano/issues/928)) ([a5d6d36](https://github.com/cssnano/cssnano/commit/a5d6d364e0815ecb198a95de301f3554ccce4f78))
|
39 | * **unique-selector:** removed sorting and involving selector comments ([#857](https://github.com/cssnano/cssnano/issues/857)) ([3fa875d](https://github.com/cssnano/cssnano/commit/3fa875dade2138e1a531dce1f8b79814cb39dbc9))
|
40 |
|
41 |
|
42 | ### chore
|
43 |
|
44 | * minimum require version of node is 10.13 ([#871](https://github.com/cssnano/cssnano/issues/871)) ([28bda24](https://github.com/cssnano/cssnano/commit/28bda243e32ce3ba89b3c358a5f78727b3732f11))
|
45 |
|
46 |
|
47 | ### Features
|
48 |
|
49 | * css declaration sorter ([#855](https://github.com/cssnano/cssnano/issues/855)) ([613d562](https://github.com/cssnano/cssnano/commit/613d562ae79e7e169c80b523b7c2c9b0093bc1d8))
|
50 | * migarete to PostCSS 8 ([#975](https://github.com/cssnano/cssnano/issues/975)) ([40b82dc](https://github.com/cssnano/cssnano/commit/40b82dca7f53ac02cd4fe62846dec79b898ccb49))
|
51 | * **postcss-reduce-transforms:** improve optimizations ([#745](https://github.com/cssnano/cssnano/issues/745)) ([b0f0d89](https://github.com/cssnano/cssnano/commit/b0f0d892316d7b77e8033a6dc8d67745043a5072))
|
52 |
|
53 |
|
54 | ### BREAKING CHANGES
|
55 |
|
56 | * minimum supported `postcss` version is `8.2.1`
|
57 | * minimum require version of node is 10.13
|
58 |
|
59 |
|
60 |
|
61 | ## 4.1.10 (2019-02-14)
|
62 |
|
63 |
|
64 |
|
65 | ## 4.1.9 (2019-02-12)
|
66 |
|
67 |
|
68 | ### Bug Fixes
|
69 |
|
70 | * initial loading time ([#654](https://github.com/cssnano/cssnano/issues/654)) ([de2ef07](https://github.com/cssnano/cssnano/commit/de2ef074a0c7da94c22a5b0336e6c4ca2a94f1b5))
|
71 |
|
72 |
|
73 |
|
74 | ## 4.1.7 (2018-10-22)
|
75 |
|
76 |
|
77 |
|
78 | ## 4.1.6 (2018-10-22)
|
79 |
|
80 |
|
81 |
|
82 | ## 4.1.5 (2018-10-17)
|
83 |
|
84 |
|
85 | ### Bug Fixes
|
86 |
|
87 | * toggling of plugins in presets using boolean configuration option ([#622](https://github.com/cssnano/cssnano/issues/622)) ([15076f1](https://github.com/cssnano/cssnano/commit/15076f145118507e010722cc9ed548ffe1b91f8c))
|
88 |
|
89 |
|
90 |
|
91 | ## 4.1.4 (2018-09-27)
|
92 |
|
93 |
|
94 |
|
95 | ## 4.1.3 (2018-09-25)
|
96 |
|
97 |
|
98 |
|
99 | ## 4.1.2 (2018-09-25)
|
100 |
|
101 |
|
102 |
|
103 | ## 4.1.1 (2018-09-24)
|
104 |
|
105 |
|
106 | ### Bug Fixes
|
107 |
|
108 | * parse error with iPhone X feature ([#614](https://github.com/cssnano/cssnano/issues/614)) ([a3704a7](https://github.com/cssnano/cssnano/commit/a3704a76a631b1cd907ab0c0a8637a622769676d))
|
109 |
|
110 |
|
111 |
|
112 | # 4.1.0 (2018-08-24)
|
113 |
|
114 |
|
115 |
|
116 | ## 4.0.5 (2018-07-30)
|
117 |
|
118 |
|
119 |
|
120 | ## 4.0.4 (2018-07-25)
|
121 |
|
122 |
|
123 |
|
124 | ## 4.0.3 (2018-07-18)
|
125 |
|
126 |
|
127 | ### Bug Fixes
|
128 |
|
129 | * **postcss-merge-longhand:** not mangle border output ([#555](https://github.com/cssnano/cssnano/issues/555)) ([9a70605](https://github.com/cssnano/cssnano/commit/9a706050b621e7795a9bf74eb7110b5c81804ffe)), closes [#553](https://github.com/cssnano/cssnano/issues/553) [#554](https://github.com/cssnano/cssnano/issues/554)
|
130 |
|
131 |
|
132 |
|
133 |
|
134 |
|
135 | # 4.1.10
|
136 |
|
137 | ## Bug Fixes
|
138 |
|
139 | * `stylehacks` does not throw error on `[attr]` selector
|
140 |
|
141 | # 4.1.9
|
142 |
|
143 | ## Performance Improvements
|
144 |
|
145 | * `postcss-colormin`: increase performance
|
146 | * `postcss-discard-comments`: increase performance
|
147 | * `postcss-merge-rules` increase performance
|
148 | * `postcss-minify-params` increase performance
|
149 | * `postcss-minify-selectors`: increase performance
|
150 | * `postcss-normalize-display-values`: increase performance
|
151 | * `postcss-normalize-positions`: increase performance
|
152 | * `postcss-normalize-repeat-style`: increase performance
|
153 | * `postcss-normalize-string`: increase performance
|
154 | * `postcss-normalize-timing-functions`: increase performance
|
155 | * `postcss-normalize-whitespace`: increase performance
|
156 | * `postcss-ordered-values`: increase performance
|
157 | * `postcss-reduce-transforms`: increase performance
|
158 | * `postcss-svgo`: increase performance
|
159 |
|
160 | ## Bug Fixes
|
161 |
|
162 | * `postcss-merge-longhand` handle uppercase properties and values
|
163 | * `postcss-minify-gradients` handle uppercase properties and values
|
164 | * `postcss-minify-params` do break `@page` rules
|
165 | * `postcss-reduce-idents` handle uppercase at-rules
|
166 | * `postcss-reduce-initial` now uses `repeat` as initial value for `mask-repeat`
|
167 | * `postcss-reduce-initial` handle uppercase value when you convert to initial
|
168 | * `stylehacks` handle uppercase properties and values
|
169 |
|
170 | # 4.1.8
|
171 |
|
172 | ## Performance Improvements
|
173 |
|
174 | * initial loading time (`require('cssnano')`).
|
175 |
|
176 | ## Bug Fixes
|
177 |
|
178 | * `postcss-merge-longhand` correctly merging border properties with custom properties.
|
179 |
|
180 | # 4.1.7
|
181 |
|
182 | ## Bug Fixes
|
183 |
|
184 | * republish `cssnano` due broken release.
|
185 |
|
186 | # 4.1.6
|
187 |
|
188 | ## Bug Fixes
|
189 |
|
190 | * `postcss-merge-longhand` doesn't throw error when merge a border property.
|
191 |
|
192 | # 4.1.5
|
193 |
|
194 | ## Bug Fixes
|
195 |
|
196 | * `cssnano` now allow to toggling of plugins in presets using boolean configuration option.
|
197 | * `postcss-merge-longhand` doesn't merge properties with `unset`.
|
198 | * `postcss-merge-longhand` correctly merge borders with custom properties.
|
199 | * `postcss-merge-longhand` doesn't merge redundant values if declarations are of different importance.
|
200 |
|
201 | ## Other changes
|
202 |
|
203 | * `postcss-calc` updated to `7.0.0` version.
|
204 |
|
205 | # 4.1.4
|
206 |
|
207 | ## Other changes
|
208 |
|
209 | * `css-declaration-sorter` now use PostCSS 7.
|
210 | * `postcss-calc` now use PostCSS 7.
|
211 |
|
212 | # 4.1.3
|
213 |
|
214 | ## Other changes
|
215 |
|
216 | * `postcss-minify-font-values` now use PostCSS 7.
|
217 | * `postcss-discard-duplicates` now use PostCSS 7.
|
218 |
|
219 | # 4.1.2
|
220 |
|
221 | ## Bug Fixes
|
222 |
|
223 | * `postcss-svgo` now handle DataURI with uppercase `data` value (`DATA:image/*;...`).
|
224 |
|
225 | # 4.1.1
|
226 |
|
227 | ## Bug Fixes
|
228 |
|
229 | * `css-declaration-sorter` was removed from default prevent.
|
230 | * `postcss-normalize-timing-functions` doesn't lowercased property anymore.
|
231 | * `postcss-normalize-positons` now handles uppercase properties.
|
232 | * `postcss-normalize-url` now is case-insensitive.
|
233 | * `postcss-merge-idents` now is case-insensitive.
|
234 | * `postcss-merge-rules` now is case-insensitive.
|
235 | * `postcss-minify-selectors` now is case-insensitive.
|
236 | * `postcss-minify-font-values` now is case-insensitive.
|
237 | * `postcss-normalize-unicode` now has correct dependencies.
|
238 | * `postcss-minify-params` now has correct dependencies.
|
239 |
|
240 | ## Other changes
|
241 |
|
242 | * `cssnano-preset-advanced` use Autoprefixer 9.
|
243 | * use PostCSS 7 in all plugins.
|
244 |
|
245 | # 4.1.0
|
246 |
|
247 | ## Bug Fixes
|
248 |
|
249 | * `postcss-merge-longhand` doesn't mangle borders.
|
250 |
|
251 | ## Features
|
252 |
|
253 | * `postcss-ordered-values` support ordering animation values.
|
254 |
|
255 | # 4.0.5
|
256 |
|
257 | ## Bug Fixes
|
258 |
|
259 | * `postcss-merge-longhand` now correctly merges borders with custom properties.
|
260 | * `postcss-merge-longhand` doesn't throw error in some `border` merge cases.
|
261 |
|
262 | # 4.0.4
|
263 |
|
264 | ## Bug Fixes
|
265 |
|
266 | * `postcss-merge-longhand` doesn't drop border-width with custom property from border shorthand.
|
267 | * `postcss-merge-longhand` doesn't convert `currentColor`.
|
268 | * `postcss-merge-longhand` doesn't merge border properties if there is a shorthand property between them.
|
269 |
|
270 | # 4.0.3
|
271 |
|
272 | ## Bug Fixes
|
273 |
|
274 | * `postcss-merge-longhand` incorrect minification of `border` (`border-*`) declarations.
|
275 |
|
276 | # 4.0.2
|
277 |
|
278 | ## Bug Fixes
|
279 |
|
280 | * `postcss-merge-longhand` don't explode declarations with custom properties.
|
281 | * `postcss-colormin` now better transform to `hsl`.
|
282 |
|
283 | # 4.0.1
|
284 |
|
285 | ## Bug Fixes
|
286 |
|
287 | * `browserslist` version incompatibility with `caniuse-api`.
|
288 |
|
289 | # 4.0.0
|
290 |
|
291 | ## Breaking changes
|
292 |
|
293 | * We dropped support for Node 4, now requiring at least Node 6.9.
|
294 |
|
295 | ## Features
|
296 |
|
297 | * postcss-merge-longhand now optimises `border-spacing` property.
|
298 |
|
299 | ## Bug Fixes
|
300 |
|
301 | * postcss-normalize-unicode doesn't change `U` to lowercase for `IE` <= 11 and `Edge` <= 15.
|
302 | * postcss-merge-longhand works with custom properties (Example `a { border-style:dotted; border-style:var(--variable) }`) correctly.
|
303 | * postcss-ordered-values handle `border` property with invalid border width value correctly.
|
304 | * postcss-merge-rules handles `:-ms-input-placeholder` and `::-ms-input-placeholder` selectors correctly.
|
305 | * postcss-merge-rules works with `all` property correctly.
|
306 | * postcss-normalize-url don't handle empty `url` function.
|
307 | * postcss-normalize-url handles `data` and `*-extension://` URLs correctly.
|
308 | * postcss-colormin adds whitespace after minified value and before function.
|
309 | * postcss-minify-font-values better escapes font name.
|
310 | * postcss-minify-params doesn't remove `all` for IE.
|
311 |
|
312 | ## Other changes
|
313 |
|
314 | * update all dependencies to latest.
|
315 | * better handles uppercase selectors/properties/values/units.
|
316 |
|
317 | # 4.0.0-rc.2
|
318 |
|
319 | ## Features
|
320 |
|
321 | * Includes the new release candidate for postcss-selector-parser 3.
|
322 | * Refactors comments tokenizing in postcss-discard-comments to be more
|
323 | memory efficient.
|
324 | * Adds css-declaration-sorter for improved gzip compression efficiencies
|
325 | (thanks to @Siilwyn).
|
326 | * postcss-svgo now optimises base 64 encoded SVG where possible
|
327 | (thanks to @evilebottnawi).
|
328 | * stylehacks now supports `@media \0screen\,screen\9 {}` hacks
|
329 | (thanks to @evilebottnawi).
|
330 |
|
331 | ## Bug Fixes
|
332 |
|
333 | * Fixed handling of package.json configuration (thanks to @andyjansson).
|
334 | * Fixed `resolveConfig` for a `Root` node without a `source` property
|
335 | (thanks to @darthmaim).
|
336 | * Improved radial gradient handling (thanks to @pigcan).
|
337 | * stylehacks now properly accounts for vendor prefixes
|
338 | (thanks to @evilebottnawi).
|
339 |
|
340 | # 4.0.0-rc.1
|
341 |
|
342 | ## Bug Fixes
|
343 |
|
344 | * cssnano: Resolved an issue with external configuration which wasn't
|
345 | being loaded correctly (thanks to @andyjansson).
|
346 | * postcss-minify-params: Resolved an issue with cssnano's handling of the
|
347 | `@value` syntax from css-modules to better integrate with css-loader.
|
348 |
|
349 | # 4.0.0-rc.0
|
350 |
|
351 | Since version 4 has been in-development for some time, we thought it would be
|
352 | best to release an alpha version so that we could catch any issues before
|
353 | the actual release.
|
354 |
|
355 | ## Breaking changes
|
356 |
|
357 | * cssnano & its plugins have been upgraded to PostCSS 6.x. Please ensure that
|
358 | for optimal results that you use cssnano with a PostCSS 6 compatible runner
|
359 | & that any other plugins are also using PostCSS 6.
|
360 | * cssnano is now essentially a preset loader and does not contain any built-in
|
361 | transforms (instead, it delegates to `cssnano-preset-default` by default).
|
362 | Due to the new architecture, it's not possible to exclude asynchronous
|
363 | transforms and run it synchronously, unlike in 3.x. Any transforms that
|
364 | were "core" modules have now been extracted out into separate packages.
|
365 | * Because of the new preset system, cssnano will not accept any transformation
|
366 | options; these must be set in the preset. The option names remain mostly the
|
367 | same, except some cases where "core" modules have been extracted out:
|
368 |
|
369 | * `core` is now `normalizeWhitespace`.
|
370 | * `reduceBackgroundRepeat` is now `normalizeRepeatStyle`.
|
371 | * `reduceDisplayValues` is now `normalizeDisplayValues`.
|
372 | * `reducePositions` is now `normalizePositions`.
|
373 | * `reduceTimingFunctions` is now `normalizeTimingFunctions`.
|
374 | * `styleCache` is now `rawCache`.
|
375 |
|
376 | When excluding transforms, we now have an `exclude` option (in 3.x this was
|
377 | named `disable`). Similarly, the `safe` option was removed; the defaults
|
378 | are now much less aggressive.
|
379 | * By default, the following transforms are no longer applied to any input CSS.
|
380 | You may see an increased output file size as a result:
|
381 |
|
382 | * `autoprefixer`
|
383 | * `postcss-discard-unused`
|
384 | * `postcss-merge-idents`
|
385 | * `postcss-reduce-idents`
|
386 | * `postcss-zindex`
|
387 |
|
388 | Note that you can load `cssnano-preset-advanced` instead which *does* contain
|
389 | these transforms.
|
390 | * We no longer detect previous plugins to silently exclude our own, and now
|
391 | consider this to be an anti-pattern. So `postcss-filter-plugins` was removed.
|
392 | * We also changed some options to make the default transforms safer:
|
393 |
|
394 | * `postcss-minify-font-values`: `removeAfterKeyword` set to `false` from `true`.
|
395 | * `postcss-normalize-url`: `stripWWW` set to `false` from `true`.
|
396 |
|
397 | * cssnano now does not accept the `sourcemap` shortcut option; please refer
|
398 | to the PostCSS documentation on sourcemaps. The `quickstart.js` file included
|
399 | with this module will give you a good starting point.
|
400 | * `cssnano.process` is no longer a custom method; we use the built-in `process`
|
401 | method exposed on each PostCSS plugin. The new signature is
|
402 | `cssnano.process(css, postcssOpts, cssnanoOpts)`, in 3.x it was
|
403 | `cssnano.process(css, cssnanoOpts)`.
|
404 | * We dropped support for Node 0.12, now requiring at least Node 4.
|
405 | * Finally, cssnano is now developed as a monorepo, due to the fact that some
|
406 | transforms have a lot of grey area/overlap. Due to this, some modules have
|
407 | been refactored to delegate responsibility to others, such that duplication
|
408 | of functionality is minimized. For instance, `postcss-colormin` will no
|
409 | longer compress whitespace or compress numbers, as those are handled by
|
410 | `postcss-normalize-whitespace` & `postcss-convert-values` respectively.
|
411 |
|
412 | ## Other changes
|
413 |
|
414 | * Due to the PostCSS 6 upgrade, we have been able to reduce usage of custom
|
415 | methods, such as node `clone` behaviour. In cases where some utility
|
416 | has been used by several plugins it is now a separate package, reducing
|
417 | cssnano's footprint.
|
418 | * cssnano now makes much better use of Browserslist. `postcss-colormin` &
|
419 | `postcss-reduce-initial` were enhanced with different behaviour depending
|
420 | on which browsers are passed. And now, the footprint for the `caniuse-db`
|
421 | dependency is much smaller thanks to `caniuse-lite` - 7 times smaller as
|
422 | of this writing. This makes cssnano much faster to download from npm!
|
423 |
|
424 | # 3.10.0
|
425 |
|
426 | * cssnano will no longer `console.warn` any messages when using deprecated
|
427 | options; these are now sent to PostCSS. You will be able to see them if you
|
428 | use a PostCSS runner with built-in messages support, or alternately by
|
429 | loading `postcss-reporter` or `postcss-browser-reporter` in your plugins list.
|
430 | * Prepares support for `grid` identifier reduction by adding it to the list
|
431 | of optimisations turned off when `options.safe` is set to `true`.
|
432 | * Adds support for normalizing `unicode-range` descriptors. Values will
|
433 | be converted when the code matches `0` & `f` in the same place on both sides
|
434 | of the range. So, `u+2000-2fff` can be converted to `u+2???`, but
|
435 | `u+2100-2fff` will be left as it is.
|
436 |
|
437 | # 3.9.1
|
438 |
|
439 | * Resolves an integration issue with `v3.9.0`, where `undefined` values
|
440 | would attempt to be parsed.
|
441 |
|
442 | # 3.9.0
|
443 |
|
444 | * Adds a new option to normalize wrapping quotes for strings & joining
|
445 | multiple-line strings into a single line. This optimisation can potentially
|
446 | reduce the final gzipped size of your CSS file.
|
447 |
|
448 | # 3.8.2
|
449 |
|
450 | * Resolves an issue where `display: list-item inline flow` would be normalized
|
451 | to `inline list-item` rather than `inline-list-item` (thanks to @mattbasta).
|
452 |
|
453 | # 3.8.1
|
454 |
|
455 | * Adds a quick start file for easy integration with Runkit. Try cssnano online
|
456 | at https://runkit.com/npm/cssnano.
|
457 |
|
458 | # 3.8.0
|
459 |
|
460 | * Adds support for normalizing multiple values for the `display` property. For
|
461 | example `block flow` can be simplified to `block`.
|
462 |
|
463 | # 3.7.7
|
464 |
|
465 | * Further improves CSS mixin handling; semicolons will no longer be stripped
|
466 | from *rules* as well as declarations.
|
467 |
|
468 | # 3.7.6
|
469 |
|
470 | * Resolves an issue where the semicolon was being incorrectly stripped
|
471 | from CSS mixins.
|
472 |
|
473 | # 3.7.5
|
474 |
|
475 | * Resolves an issue where the `safe` flag was not being persisted across
|
476 | multiple files (thanks to @techmatt101).
|
477 |
|
478 | # 3.7.4
|
479 |
|
480 | * Improves performance of the reducePositions transform by testing
|
481 | against `hasOwnProperty` instead of using an array of object keys.
|
482 | * Removes the redundant `indexes-of` dependency.
|
483 |
|
484 | # 3.7.3
|
485 |
|
486 | * Unpins postcss-filter-plugins from `2.0.0` as a fix has landed in the new
|
487 | version of uniqid.
|
488 |
|
489 | # 3.7.2
|
490 |
|
491 | * Temporarily pins postcss-filter-plugins to version `2.0.0` in order to
|
492 | mitigate an issue with uniqid `3.0.0`.
|
493 |
|
494 | # 3.7.1
|
495 |
|
496 | * Enabling safe mode now turns off both postcss-merge-idents &
|
497 | postcss-normalize-url's `stripWWW` option.
|
498 |
|
499 | # 3.7.0
|
500 |
|
501 | * Added: Reduce `background-repeat` definitions; works with both this property
|
502 | & the `background` shorthand, and aims to compress the extended two value
|
503 | syntax into the single value syntax.
|
504 | * Added: Reduce `initial` values for properties when the *actual* initial value
|
505 | is shorter; for example, `min-width: initial` becomes `min-width: 0`.
|
506 |
|
507 | # 3.6.2
|
508 |
|
509 | * Fixed an issue where cssnano would crash on `steps(1)`.
|
510 |
|
511 | # 3.6.1
|
512 |
|
513 | * Fixed an issue where cssnano would crash on `steps` functions with a
|
514 | single argument.
|
515 |
|
516 | # 3.6.0
|
517 |
|
518 | * Added `postcss-discard-overridden` to safely discard overridden rules with
|
519 | the same identifier (thanks to @Justineo).
|
520 | * Added: Reduce animation/transition timing functions. Detects `cubic-bezier`
|
521 | functions that are equivalent to the timing keywords and compresses, as well
|
522 | as normalizing the `steps` timing function.
|
523 | * Added the `perspective-origin` property to the list of supported properties
|
524 | transformed by the `reduce-positions` transform.
|
525 |
|
526 | # 3.5.2
|
527 |
|
528 | * Resolves an issue where the 3 or 4 value syntax for `background-position`
|
529 | were being incorrectly converted.
|
530 |
|
531 | # 3.5.1
|
532 |
|
533 | * Improves checking for `background-position` values in the `background`
|
534 | shorthand property.
|
535 |
|
536 | # 3.5.0
|
537 |
|
538 | * Adds a new optimisation path which can minimise keyword values for
|
539 | `background-position` and the `background` shorthand.
|
540 | * Tweaks to performance in the `core` module, now performs less AST passes.
|
541 | * Now compiled with Babel 6.
|
542 |
|
543 | # 3.4.0
|
544 |
|
545 | * Adds a new optimisation path which can minimise gradient parameters
|
546 | automatically.
|
547 |
|
548 | # 3.3.2
|
549 |
|
550 | * Fixes an issue where using `options.safe` threw an error when cssnano was
|
551 | not used as part of a PostCSS instance, but standalone (such as in modules
|
552 | like gulp-cssnano). cssnano now renames `safe` internally to `isSafe`.
|
553 |
|
554 | # 3.3.1
|
555 |
|
556 | * Unpins postcss-colormin from `2.1.2`, as the `2.1.3` & `2.1.4` patches had
|
557 | optimization regressions that are now resolved in `2.1.5`.
|
558 |
|
559 | # 3.3.0
|
560 |
|
561 | * Updated modules to use postcss-value-parser version 3 (thanks to @TrySound).
|
562 | * Now converts between transform functions with postcss-reduce-transforms.
|
563 | e.g. `translate3d(0, 0, 0)` becomes `translateZ(0)`.
|
564 |
|
565 | # 3.2.0
|
566 |
|
567 | * cssnano no longer converts `outline: none` to `outline: 0`, as there are
|
568 | some cases where the values are not equivalent (thanks to @TrySound).
|
569 | * cssnano no longer converts for example `16px` to `1pc` *by default*. Length
|
570 | optimisations can be turned on via `{convertValues: {length: true}}`.
|
571 | * Improved minimization of css functions (thanks to @TrySound).
|
572 |
|
573 | # 3.1.0
|
574 |
|
575 | * This release swaps postcss-single-charset for postcss-normalize-charset,
|
576 | which can detect encoding to determine whether a charset is necessary.
|
577 | Optionally, you can set the `add` option to `true` to prepend a UTF-8
|
578 | charset to the output automatically (thanks to @TrySound).
|
579 | * A `safe` option was added, which disables more aggressive optimisations, as
|
580 | a convenient preset configuration (thanks to @TrySound).
|
581 | * Added an option to convert from `deg` to `turn` & vice versa, & improved
|
582 | minification performance in functions (thanks to @TrySound).
|
583 |
|
584 | # 3.0.3
|
585 |
|
586 | * Fixes an issue where cssnano was removing spaces around forward slashes in
|
587 | string literals (thanks to @TrySound).
|
588 |
|
589 | # 3.0.2
|
590 |
|
591 | * Fixes an issue where cssnano was removing spaces around forward slashes in
|
592 | calc functions.
|
593 |
|
594 | # 3.0.1
|
595 |
|
596 | * Replaced css-list & balanced-match with postcss-value-parser, reducing the
|
597 | module's overall size (thanks to @TrySound).
|
598 |
|
599 | # 3.0.0
|
600 |
|
601 | * All cssnano plugins and cssnano itself have migrated to PostCSS 5.x. Please
|
602 | make sure that when using the 3.x releases that you use a 5.x compatible
|
603 | PostCSS runner.
|
604 | * cssnano will now compress inline SVG through SVGO. Because of this change,
|
605 | interfacing with cssnano must now be done through an asynchronous API. The
|
606 | main `process` method has the same signature as a PostCSS processor instance.
|
607 | * The old options such as `merge` & `fonts` that were deprecated in
|
608 | release `2.5.0` were removed. The new architecture allows you to specify any
|
609 | module name to disable it.
|
610 | * postcss-minify-selectors' at-rule compression was extracted out into
|
611 | postcss-minify-params (thanks to @TrySound).
|
612 | * Overall performance of the module has improved dramatically, thanks to work
|
613 | by @TrySound and input from the community.
|
614 | * Improved selector merging/deduplication in certain use cases.
|
615 | * cssnano no longer compresses hex colours in filter properties, to better
|
616 | support old versions of Internet Explorer (thanks to @faddee).
|
617 | * cssnano will not merge properties together that have an `inherit` keyword.
|
618 | * postcss-minify-font-weight & postcss-font-family were consolidated into
|
619 | postcss-minify-font-values. Using the old options will print deprecation
|
620 | warnings (thanks to @TrySound).
|
621 | * The cssnano CLI was extracted into a separate module, so that dependent
|
622 | modules such as gulp-cssnano don't download unnecessary extras.
|
623 |
|
624 | # 2.6.1
|
625 |
|
626 | * Improved performance of the core module `functionOptimiser`.
|
627 |
|
628 | # 2.6.0
|
629 |
|
630 | * Adds a new optimisation which re-orders properties that accept values in
|
631 | an arbitrary order. This can lead to improved merging behaviour in certain
|
632 | cases.
|
633 |
|
634 | # 2.5.0
|
635 |
|
636 | * Adds support for disabling modules of the user's choosing, with new option
|
637 | names. The old options (such as `merge` & `fonts`) will be removed in `3.0`.
|
638 |
|
639 | # 2.4.0
|
640 |
|
641 | * postcss-minify-selectors was extended to add support for conversion of
|
642 | `::before` to `:before`; this release removes the dedicated
|
643 | postcss-pseudoelements module.
|
644 |
|
645 | # 2.3.0
|
646 |
|
647 | * Consolidated postcss-minify-trbl & two integrated modules into
|
648 | postcss-merge-longhand.
|
649 |
|
650 | # 2.2.0
|
651 |
|
652 | * Replaced integrated plugin filter with postcss-filter-plugins.
|
653 | * Improved rule merging logic.
|
654 | * Improved performance across the board by reducing AST iterations where it
|
655 | was possible to do so.
|
656 | * cssnano will now perform better whitespace compression when used with other
|
657 | PostCSS plugins.
|
658 |
|
659 | # 2.1.1
|
660 |
|
661 | * Fixes an issue where options were not passed to normalize-url.
|
662 |
|
663 | # 2.1.0
|
664 |
|
665 | * Allow `postcss-font-family` to be disabled.
|
666 |
|
667 | # 2.0.3
|
668 |
|
669 | * cssnano can now be consumed with the parentheses-less method in PostCSS; e.g.
|
670 | `postcss([ cssnano ])`.
|
671 | * Fixes an issue where 'Din' was being picked up by the logic as a numeric
|
672 | value, causing the full font name to be incorrectly rearranged.
|
673 |
|
674 | # 2.0.2
|
675 |
|
676 | * Extract trbl value reducing into a separate module.
|
677 | * Refactor core longhand optimiser to not rely on trbl cache.
|
678 | * Adds support for `ch` units; previously they were removed.
|
679 | * Fixes parsing of some selector hacks.
|
680 | * Fixes an issue where embedded base 64 data was being converted as if it were
|
681 | a URL.
|
682 |
|
683 | # 2.0.1
|
684 |
|
685 | * Add `postcss-plugin` keyword to package.json.
|
686 | * Wraps all core processors with the PostCSS 4.1 plugin API.
|
687 |
|
688 | # 2.0.0
|
689 |
|
690 | * Adds removal of outdated vendor prefixes based on browser support.
|
691 | * Addresses an issue where relative path separators were converted to
|
692 | backslashes on Windows.
|
693 | * cssnano will now detect previous plugins and silently disable them when the
|
694 | functionality overlaps. This is to enable faster interoperation with cssnext.
|
695 | * cssnano now exports as a PostCSS plugin. The simple interface is exposed
|
696 | at `cssnano.process(css, opts)` instead of `cssnano(css, opts)`.
|
697 | * Improved URL detection when using two or more in the same declaration.
|
698 | * node 0.10 is no longer officially supported.
|
699 |
|
700 | # 1.4.3
|
701 |
|
702 | * Fixes incorrect minification of `background:none` to `background:0 0`.
|
703 |
|
704 | # 1.4.2
|
705 |
|
706 | * Fixes an issue with nested URLs inside `url()` functions.
|
707 |
|
708 | # 1.4.1
|
709 |
|
710 | * Addresses an issue where whitespace removal after a CSS function would cause
|
711 | rendering issues in Internet Explorer.
|
712 |
|
713 | # 1.4.0
|
714 |
|
715 | * Adds support for removal of unused `@keyframes` and `@counter-style` at-rules.
|
716 | * comments: adds support for user-directed removal of comments, with the
|
717 | `remove` option (thanks to @dmitrykiselyov).
|
718 | * comments: `removeAllButFirst` now operates on each CSS tree, rather than the
|
719 | first one passed to cssnano.
|
720 |
|
721 | # 1.3.3
|
722 |
|
723 | * Fixes incorrect minification of `border:none` to `border:0 0`.
|
724 |
|
725 | # 1.3.2
|
726 |
|
727 | * Improved selector minifying logic, leading to better compression of attribute
|
728 | selectors.
|
729 | * Improved comment discarding logic.
|
730 |
|
731 | # 1.3.1
|
732 |
|
733 | * Fixes crash on undefined `decl.before` from prior AST.
|
734 |
|
735 | # 1.3.0
|
736 |
|
737 | * Added support for bundling cssnano using webpack (thanks to @MoOx).
|
738 |
|
739 | # 1.2.1
|
740 |
|
741 | * Fixed a bug where a CSS function keyword inside its value would throw
|
742 | an error.
|
743 |
|
744 | # 1.2.0
|
745 |
|
746 | * Better support for merging properties without the existance of a shorthand
|
747 | override.
|
748 | * Can now 'merge forward' adjacent rules as well as the previous 'merge behind'
|
749 | behaviour, leading to better compression.
|
750 | * Selector re-ordering now happens last in the chain of plugins, to help clean
|
751 | up merged selectors.
|
752 |
|
753 | # 1.1.0
|
754 |
|
755 | * Now can merge identifiers such as `@keyframes` and `@counter-style` if they
|
756 | have duplicated properties but are named differently.
|
757 | * Fixes an issue where duplicated keyframes with the same name would cause
|
758 | an infinite loop.
|
759 |
|
760 | # 1.0.2
|
761 |
|
762 | * Improve module loading logic (thanks to @tunnckoCore).
|
763 | * Improve minification of numeric values, with better support for `rem`,
|
764 | trailing zeroes and slash/comma separated values
|
765 | (thanks to @TrySound & @tunnckoCore).
|
766 | * Fixed an issue where `-webkit-tap-highlight-color` values were being
|
767 | incorrectly transformed to `transparent`. This is not supported in Safari.
|
768 | * Added support for viewport units (thanks to @TrySound).
|
769 | * Add MIT license file.
|
770 |
|
771 | # 1.0.1
|
772 |
|
773 | * Add repository/author links to package.json.
|
774 |
|
775 | # 1.0.0
|
776 |
|
777 | * Initial release.
|
778 |
|
\ | No newline at end of file |