History.md 30 KB

2.2.23 / 2015-01-04

  • Backports fix to issue #422 - handling calc as a unit.

2.2.22 / 2014-12-13

  • Backports fix to issue #304 - background position merging.

2.2.21 / 2014-12-10

  • Backports fix to issue #373 - background shorthand merging.

2.2.20 / 2014-12-02

  • Backports fix to issue #390 - pseudo-class merging.

2.2.19 / 2014-11-20

  • Fixed issue #385 - edge cases in processing cut off data.

2.2.18 / 2014-11-17

  • Fixed issue #383 - rounding fractions once again.

2.2.17 / 2014-11-09

  • Fixed issue #380 - rounding fractions to a whole number.

2.2.16 / 2014-09-16

  • Fixed issue #359 - handling escaped double backslash.
  • Fixed issue #358 - property merging in compatibility mode.
  • Fixed issue #356 - preserving *+html hack.
  • Fixed issue #354 - !important overriding in shorthands.

2.2.15 / 2014-09-01

  • Fixed issue #350 - edge cases in @import processing.
  • Fixed issue #346 - overriding !important by !important.
  • Fixed issue #345 - URL rebasing for document relative ones.
  • Fixed issue #343 - too aggressive rgba/hsla minification.

2.2.14 / 2014-08-25

  • Makes multival operations idempotent.
  • Fixed issue #339 - skips invalid properties.
  • Fixed issue #341 - ensure output is shorter than input.

2.2.13 / 2014-08-12

  • Fixed issue #337 - handling component importance.

2.2.12 / 2014-08-02

  • Fixed issue with tokenizer removing first selector after an unknown @ rule.
  • Fixed issue #329 - font shorthands incorrectly processed.
  • Fixed issue #332 - background shorthand with colors.
  • Refixed issue #325 - invalid charset declarations.

2.2.11 / 2014-07-28

  • Fixed issue #326 - background-size regression.

2.2.10 / 2014-07-27

  • Improved performance of advanced mode validators.
  • Fixed issue #307 - background-color in muliple backgrounds.
  • Fixed issue #322 - adds background-size support.
  • Fixed issue #323 - stripping variable references.
  • Fixed issue #325 - removing invalid @charset declarations.

2.2.9 / 2014-07-23

  • Adds background normalization according to W3C spec.
  • Fixed issue #316 - incorrect background processing.

2.2.8 / 2014-07-14

  • Fixed issue #313 - processing comment marks in urls.
  • Fixed issue #315 - rgba/hsla -> transparent in gradients.

2.2.7 / 2014-07-10

  • Fixed issue #304 - merging multiple backgrounds.
  • Fixed issue #312 - merging with mixed repeat.

2.2.6 / 2014-07-05

  • Adds faster quote matching in QuoteScanner.
  • Improves QuoteScanner to handle comments correctly.
  • Fixed issue #308 - parsing comments in quoted urls.
  • Fixed issue #311 - leading/trailing decimal points.

2.2.5 / 2014-06-29

  • Adds removing extra spaces around / in border-radius.
  • Adds replacing same horizontal & vertical value in border-radius.
  • Fixed issue #305 - allows width keywords in border-width.

2.2.4 / 2014-06-27

  • Fixed issue #301 - proper border radius processing.
  • Fixed issue #303 - correctly preserves viewport units.

2.2.3 / 2014-06-24

  • Fixed issue #302 - handling of outline-style: auto.

2.2.2 / 2014-06-18

  • Fixed issue #297 - box-shadow zeros minification.

2.2.1 / 2014-06-14

  • Fixes new property optimizer for 'none' values.
  • Fixed issue #294 - space after rgba/hsla in IE<=11.

2.2.0 / 2014-06-11

  • Adds a better algorithm for quotation marks' removal.
  • Adds a better non-adjacent optimizer compatible with the upcoming new property optimizer.
  • Adds minifying remote files directly from CLI.
  • Adds --rounding-precision to control rounding precision.
  • Moves quotation matching into a QuoteScanner class.
  • Adds npm run browserify for creating embeddable version of clean-css.
  • Fixed list-style-* advanced processing.
  • Fixed issue #134 - merges properties into shorthand form.
  • Fixed issue #164 - removes default values if not needed.
  • Fixed issue #168 - adds better property merging algorithm.
  • Fixed issue #173 - merges same properties if grouped.
  • Fixed issue #184 - uses !important for optimization opportunities.
  • Fixed issue #190 - uses shorthand to override another shorthand.
  • Fixed issue #197 - adds borders merging by understandability.
  • Fixed issue #210 - adds temporary workaround for aggressive merging.
  • Fixed issue #246 - removes IE hacks when not in compatibility mode.
  • Fixed issue #247 - removes deprecated selectorsMergeMode switch.
  • Refixed issue #250 - based on new quotation marks removal.
  • Fixed issue #257 - turns hsla/rgba to transparent if possible.
  • Fixed issue #265 - adds support for multiple input files.
  • Fixed issue #275 - handling transform properties.
  • Fixed issue #276 - corrects unicode handling.
  • Fixed issue #288 - adds smarter expression parsing.
  • Fixed issue #293 - handles escaped @ symbols in classnames and ids.

2.1.8 / 2014-03-28

  • Fixed issue #267 - incorrect non-adjacent selector merging.

2.1.7 / 2014-03-24

  • Fixed issue #264 - @import statements inside comments.

2.1.6 / 2014-03-10

  • Fixed issue #258 - wrong @import handling in EmptyRemoval.

2.1.5 / 2014-03-07

  • Fixed issue #255 - incorrect processing of a trailing -0.

2.1.4 / 2014-03-01

  • Fixed issue #250 - correctly handle JSON data in quotations.

2.1.3 / 2014-02-26

  • Fixed issue #248 - incorrect merging for vendor selectors.

2.1.2 / 2014-02-25

  • Fixed issue #245 - incorrect handling of backslash IE hack.

2.1.1 / 2014-02-18

  • Adds faster selectors processing in advanced optimizer.
  • Fixed issue #241 - incorrect handling of :not() selectors.

2.1.0 / 2014-02-13

  • Adds an optional callback to minify method.
  • Deprecates --selectors-merge-mode / selectorsMergeMode in favor to --compatibility / compatibility.
  • Fixes debug mode stats for stylesheets using @import statements.
  • Skips empty removal if advanced processing is enabled.
  • Fixed issue #85 - resolving protocol @imports.
  • Fixed issue #160 - re-runs optimizer until a clean pass.
  • Fixed issue #161 - improves tokenizer performance.
  • Fixed issue #163 - round pixels to 2nd decimal place.
  • Fixed issue #165 - extra space after trailing parenthesis.
  • Fixed issue #186 - strip unit from 0rem.
  • Fixed issue #207 - bug in parsing protocol @imports.
  • Fixed issue #213 - faster rgb to hex transforms.
  • Fixed issue #215 - leading zeros in numerical values.
  • Fixed issue #217 - whitespace inside attribute selectors and urls.
  • Fixed issue #218 - @import statements cleanup.
  • Fixed issue #220 - selector between comments.
  • Fixed issue #223 - two-pass adjacent selectors merging.
  • Fixed issue #226 - don't minify border:none to border:0.
  • Fixed issue #229 - improved processing of fraction numbers.
  • Fixed issue #230 - better handling of zero values.
  • Fixed issue #235 - IE7 compatibility mode.
  • Fixed issue #236 - incorrect rebasing with nested imports.

2.0.8 / 2014-02-07

  • Fixed issue #232 - edge case in non-adjacent selectors merging.

2.0.7 / 2014-01-16

2.0.6 / 2014-01-04

  • Fixed issue #198 - process comments and @imports correctly.
  • Fixed issue #205 - freeze on broken @import declaration.

2.0.5 / 2014-01-03

  • Fixed issue #199 - keep line breaks with no advanced optimizations.
  • Fixed issue #203 - Buffer as a first argument to minify method.

2.0.4 / 2013-12-19

  • Fixed issue #193 - HSL color space normalization.

2.0.3 / 2013-12-18

  • Fixed issue #191 - leading numbers in font/animation names.
  • Fixed issue #192 - many @imports inside a comment.

2.0.2 / 2013-11-18

  • Fixed issue #177 - process broken content correctly.

2.0.1 / 2013-11-14

  • Fixed issue #176 - hangs on undefined keyword.

2.0.0 / 2013-11-04

  • Adds simplified and more advanced text escaping / restoring via EscapeStore class.
  • Adds simplified and much faster empty elements removal.
  • Adds missing @import processing to our benchmark (run via npm run bench).
  • Adds CSS tokenizer which will make it possible to optimize content by reordering and/or merging selectors.
  • Adds basic optimizer removing duplicate selectors from a list.
  • Adds merging duplicate properties within a single selector's body.
  • Adds merging adjacent selectors within a scope (single and multiple ones).
  • Changes behavior of --keep-line-breaks/keepBreaks option to keep breaks after trailing braces only.
  • Makes all multiple selectors ordered alphabetically (aids merging).
  • Adds property overriding so more coarse properties override more granular ones.
  • Adds reducing non-adjacent selectors.
  • Adds --skip-advanced/noAdvanced switch to disable advanced optimizations.
  • Adds reducing non-adjacent selectors when overridden by more complex selectors.
  • Fixed issue #138 - makes CleanCSS interface OO.
  • Fixed issue #139 - consistent error & warning handling.
  • Fixed issue #145 - debug mode in library too.
  • Fixed issue #157 - gets rid of removeEmpty option.
  • Fixed issue #159 - escaped quotes inside content.
  • Fixed issue #162 - strip quotes from Base64 encoded URLs.
  • Fixed issue #166 - debug formatting in CLI
  • Fixed issue #167 - background:transparent minification.

1.1.7 / 2013-10-28

  • Fixed issue #156 - @imports inside comments.

1.1.6 / 2013-10-26

  • Fixed issue #155 - broken irregular CSS content.

1.1.5 / 2013-10-24

  • Fixed issue #153 - keepSpecialComments 0/1 as a string.

1.1.4 / 2013-10-23

  • Fixed issue #152 - adds an option to disable rebasing.

1.1.3 / 2013-10-04

  • Fixed issue #150 - minifying background:none.

1.1.2 / 2013-09-29

  • Fixed issue #149 - shorthand font property.

1.1.1 / 2013-09-07

  • Fixed issue #144 - skip URLs rebasing by default.

1.1.0 / 2013-09-06

  • Renamed lib's debug option to benchmark when doing per-minification benchmarking.
  • Added simplified comments processing & imports.
  • Fixed issue #43 - --debug switch for minification stats.
  • Fixed issue #65 - full color name / hex shortening.
  • Fixed issue #84 - support for @import with media queries.
  • Fixed issue #124 - raise error on broken imports.
  • Fixed issue #126 - proper CSS expressions handling.
  • Fixed issue #129 - rebasing imported URLs.
  • Fixed issue #130 - better code modularity.
  • Fixed issue #135 - require node.js 0.8+.

1.0.12 / 2013-07-19

  • Fixed issue #121 - ability to skip @import processing.

1.0.11 / 2013-07-08

  • Fixed issue #117 - line break escaping in comments.

1.0.10 / 2013-06-13

  • Fixed issue #114 - comments in imported stylesheets.

1.0.9 / 2013-06-11

  • Fixed issue #113 - @import in comments.

1.0.8 / 2013-06-10

  • Fixed issue #112 - reducing box-shadow zeros.

1.0.7 / 2013-06-05

  • Support for @import URLs starting with //. By @petetak.

1.0.6 / 2013-06-04

  • Fixed issue #110 - data URIs in URLs.

1.0.5 / 2013-05-26

  • Fixed issue #107 - data URIs in imported stylesheets.

1.0.4 / 2013-05-23

  • Rewrite relative URLs in imported stylesheets. By @bluej100.

1.0.3 / 2013-05-20

  • Support alternative @import syntax with file name not wrapped inside url() statement. By @bluej100.

1.0.2 / 2013-04-29

  • Fixed issue #97 - --remove-empty & FontAwesome.

1.0.1 / 2013-04-08

  • Do not pick up bench and test while building npm package. By @sindresorhus.

1.0.0 / 2013-03-30

  • Fixed issue #2 - resolving @import rules.
  • Fixed issue #44 - examples in --help.
  • Fixed issue #46 - preserving special characters in URLs and attributes.
  • Fixed issue #80 - quotation in multi line strings.
  • Fixed issue #83 - HSL to hex color conversions.
  • Fixed issue #86 - broken @charset replacing.
  • Fixed issue #88 - removes space in ! important.
  • Fixed issue #92 - uppercase hex to short versions.

0.10.2 / 2013-03-19

  • Fixed issue #79 - node.js 0.10.x compatibility.

0.10.1 / 2013-02-14

  • Fixed issue #66 - line breaks without extra spaces should be handled correctly.

0.10.0 / 2013-02-09

  • Switched from optimist to commander for CLI processing.
  • Changed long options from --removeempty to --remove-empty and from --keeplinebreaks to --keep-line-breaks.
  • Fixed performance issue with replacing multiple @charset declarations and issue with line break after @charset when using keepLineBreaks option. By @rrjaime.
  • Removed Makefile in favor to npm run commands (e.g. make check -> npm run check).
  • Fixed issue #47 - commandline issues on Windows.
  • Fixed issue #49 - remove empty selectors from media query.
  • Fixed issue #52 - strip fraction zeros if not needed.
  • Fixed issue #58 - remove colon where possible.
  • Fixed issue #59 - content property handling.

0.9.1 / 2012-12-19

  • Fixed issue #37 - converting white and other colors in class names (reported by @malgorithms).

0.9.0 / 2012-12-15

  • Added stripping quotation from font names (if possible).
  • Added stripping quotation from @keyframes declaration, animation and animation-name property.
  • Added stripping quotations from attributes' value (e.g. [data-target='x']).
  • Added better hex->name and name->hex color shortening.
  • Added font: normal and font: bold shortening the same way as font-weight is.
  • Refactored shorthand selectors and added border-radius, border-style and border-color shortening.
  • Added margin, padding and border-width shortening.
  • Added removing line break after commas.
  • Fixed removing whitespace inside media query definition.
  • Added removing line breaks after a comma, so all declarations are one-liners now.
  • Speed optimizations (~10% despite many new features).
  • Added JSHint validation rules via make check.

0.8.3 / 2012-11-29

  • Fixed HSL/HSLA colors processing.

0.8.2 / 2012-10-31

  • Fixed shortening hex colors and their relation to hashes in URLs.
  • Cleanup by @XhmikosR.

0.8.1 / 2012-10-28

  • Added better zeros processing for rect(...) syntax (clip property).

0.8.0 / 2012-10-21

  • Added removing URLs quotation if possible.
  • Rewrote breaks processing.
  • Added keepBreaks/-b option to keep line breaks in the minimized file.
  • Reformatted lib/clean.js so it's easier to follow the rules.
  • Minimized test data is now minimized with line breaks so it's easier to compare the changes line by line.

0.7.0 / 2012-10-14

  • Added stripping special comments to CLI (--s0 and --s1 options).
  • Added stripping special comments to programmatic interface (keepSpecialComments option).

0.6.0 / 2012-08-05

  • Full Windows support with tests (./test.bat).

0.5.0 / 2012-08-02

  • Made path to vows local.
  • Explicit node.js 0.6 requirement.

0.4.2 / 2012-06-28

  • Updated binary -v option (version).
  • Updated binary to output help when no options given (but not in piped mode).
  • Added binary tests.

0.4.1 / 2012-06-10

  • Fixed stateless mode where calling CleanCSS#process directly was giving errors (reported by @facelessuser).

0.4.0 / 2012-06-04

  • Speed improvements up to 4x thanks to the rewrite of comments and CSS' content processing.
  • Stripping empty CSS tags is now optional (see bin/cleancss for details).
  • Improved debugging mode (see test/bench.js)
  • Added make bench for a one-pass benchmark.

0.3.3 / 2012-05-27

  • Fixed tests, package.json for development, and regex for removing empty declarations (thanks to @vvo).

0.3.2 / 2012-01-17

  • Fixed output method under node.js 0.6 which incorrectly tried to close process.stdout.

0.3.1 / 2011-12-16

  • Fixed cleaning up 0 0 0 0 expressions.

0.3.0 / 2011-11-29

  • Clean-css requires node.js 0.4.0+ to run.
  • Removed node.js's 0.2.x 'sys' package dependency (thanks to @jmalonzo for a patch).

0.2.6 / 2011-11-27

  • Fixed expanding + signs in calc() when mixed up with adjacent + selector.

0.2.5 / 2011-11-27

  • Fixed issue with cleaning up spaces inside calc/-moz-calc declarations (thanks to @cvan for reporting it).
  • Fixed converting #f00 to red in borders and gradients.

0.2.4 / 2011-05-25

  • Fixed problem with expanding none to 0 in partial/full background declarations.
  • Fixed including clean-css library from binary (global to local).

0.2.3 / 2011-04-18

  • Fixed problem with optimizing IE filters.

0.2.2 / 2011-04-17

  • Fixed problem with space before color in border property.

0.2.1 / 2011-03-19

  • Added stripping space before !important keyword.
  • Updated repository location and author information in package.json.

0.2.0 / 2011-03-02

  • Added options parsing via optimist.
  • Changed code inclusion (thus the version bump).

0.1.0 / 2011-02-27

  • First version of clean-css library.
  • Implemented all basic CSS transformations.