- 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
@import
s. - 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
@import
s.
- Fixed issue #208 - don't swallow @page and @viewport.
- Fixed issue #198 - process comments and
@import
s 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
@import
s 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 vianpm 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 -
@import
s 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 tobenchmark
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.
- Rewrite relative URLs in imported stylesheets. By @bluej100.
- Support alternative
@import
syntax with file name not wrapped insideurl()
statement. By @bluej100.
- Fixed issue #97 -
--remove-empty
& FontAwesome.
- Do not pick up
bench
andtest
while buildingnpm
package. By @sindresorhus.
- 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.
- Fixed issue #79 - node.js 0.10.x compatibility.
- Fixed issue #66 - line breaks without extra spaces should be handled correctly.
- 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 usingkeepLineBreaks
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.
- Fixed issue #37 - converting
white
and other colors in class names (reported by @malgorithms).
- Added stripping quotation from font names (if possible).
- Added stripping quotation from
@keyframes
declaration,animation
andanimation-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
andfont: bold
shortening the same way asfont-weight
is. - Refactored shorthand selectors and added
border-radius
,border-style
andborder-color
shortening. - Added
margin
,padding
andborder-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
.
- Fixed HSL/HSLA colors processing.
- Fixed shortening hex colors and their relation to hashes in URLs.
- Cleanup by @XhmikosR.
- Added better zeros processing for
rect(...)
syntax (clip property).
- 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.
- Added stripping special comments to CLI (
--s0
and--s1
options). - Added stripping special comments to programmatic interface
(
keepSpecialComments
option).
- Full Windows support with tests (./test.bat).
- Made path to vows local.
- Explicit node.js 0.6 requirement.
- Updated binary
-v
option (version). - Updated binary to output help when no options given (but not in piped mode).
- Added binary tests.
- Fixed stateless mode where calling
CleanCSS#process
directly was giving errors (reported by @facelessuser).
- 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.
- Fixed tests, package.json for development, and regex for removing empty declarations (thanks to @vvo).
- Fixed output method under node.js 0.6 which incorrectly tried to close
process.stdout
.
- Fixed cleaning up
0 0 0 0
expressions.
- 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).
- Fixed expanding
+
signs incalc()
when mixed up with adjacent+
selector.
- Fixed issue with cleaning up spaces inside
calc
/-moz-calc
declarations (thanks to @cvan for reporting it). - Fixed converting
#f00
tored
in borders and gradients.
- Fixed problem with expanding
none
to0
in partial/full background declarations. - Fixed including clean-css library from binary (global to local).
- Fixed problem with optimizing IE filters.
- Fixed problem with space before color in
border
property.
- Added stripping space before
!important
keyword. - Updated repository location and author information in package.json.
- Added options parsing via optimist.
- Changed code inclusion (thus the version bump).
- First version of clean-css library.
- Implemented all basic CSS transformations.