Skip to content

Latest commit

 

History

History
461 lines (328 loc) · 21.3 KB

History.md

File metadata and controls

461 lines (328 loc) · 21.3 KB
  • Adds a better algorithm for quotation marks' removal.
  • Adds a better non-adjacent optimizer compatible with the upcoming new property optimizer.
  • Moves quotation matching into a QuoteScanner class.
  • 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 #247 - removes deprecated selectorsMergeMode switch.
  • Refixed issue #250 - based on new quotation marks removal.
  • Fixed issue #267 - incorrect non-adjacent selector merging.
  • Fixed issue #264 - @import statements inside comments.
  • Fixed issue #258 - wrong @import handling in EmptyRemoval.
  • Fixed issue #255 - incorrect processing of a trailing -0.
  • Fixed issue #250 - correctly handle JSON data in quotations.
  • Fixed issue #248 - incorrect merging for vendor selectors.
  • Fixed issue #245 - incorrect handling of backslash IE hack.
  • Adds faster selectors processing in advanced optimizer.
  • Fixed issue #241 - incorrect handling of :not() selectors.
  • 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.
  • Fixed issue #232 - edge case in non-adjacent selectors merging.
  • Fixed issue #208 - don't swallow @page and @viewport.
  • Fixed issue #198 - process comments and @imports correctly.
  • Fixed issue #205 - freeze on broken @import declaration.
  • Fixed issue #199 - keep line breaks with no advanced optimizations.
  • Fixed issue #203 - Buffer as a first argument to minify method.
  • Fixed issue #193 - HSL color space normalization.
  • Fixed issue #191 - leading numbers in font/animation names.
  • Fixed issue #192 - many @imports inside a comment.
  • Fixed issue #177 - process broken content correctly.
  • Fixed issue #176 - hangs on undefined keyword.
  • 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.
  • Fixed issue #156 - @imports inside comments.
  • Fixed issue #155 - broken irregular CSS content.
  • Fixed issue #153 - keepSpecialComments 0/1 as a string.
  • Fixed issue #152 - adds an option to disable rebasing.
  • Fixed issue #150 - minifying background:none.
  • Fixed issue #149 - shorthand font property.
  • Fixed issue #144 - skip URLs rebasing by default.
  • 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+.
  • Fixed issue #121 - ability to skip @import processing.
  • Fixed issue #117 - line break escaping in comments.
  • Fixed issue #114 - comments in imported stylesheets.
  • Fixed issue #113 - @import in comments.
  • Fixed issue #112 - reducing box-shadow zeros.
  • Support for @import URLs starting with //. By @petetak.
  • Fixed issue #110 - data URIs in URLs.
  • 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.