* Adds more detailed error & warning messages on top of the new tokenizer.
* Fixes a bug ignoring incorrect properties in complex restructuring.
* Requires Node.js 4.0+ to run.
+* Removes `benchmark` API option as total time is always reported under `stats` property.
* Removes `debug` API switch as stats are always gathered and available under `stats` property.
* Replaces the old tokenizer with a new one which doesn't use any escaping.
* Replaces the old `@import` inlining with one on top of the new tokenizer.
* `advanced` - set to false to disable advanced optimizations - selector & property merging, reduction, etc.
* `aggressiveMerging` - set to false to disable aggressive merging of properties.
* `beautify` - formats output CSS by using indentation and one rule or property per line.
-* `benchmark` - turns on benchmarking mode measuring time spent on cleaning up (run `npm run bench` to see example)
* `compatibility` - enables compatibility mode, see [below for more examples](#how-to-set-a-compatibility-mode)
* `inline` - whether to inline `@import` rules, can be `['all']`, `['local']` (default), `['remote']`, or a blacklisted domain/path e.g. `['!fonts.googleapis.com']`
* `inlineRequest` - an object with [HTTP(S) request options](https://nodejs.org/api/http.html#http_http_request_options_callback) for inlining remote `@import` rules
advanced: undefined === options.advanced ? true : !!options.advanced,
aggressiveMerging: undefined === options.aggressiveMerging ? true : !!options.aggressiveMerging,
beautify: undefined === options.beautify ? false : !!options.beautify,
- benchmark: options.benchmark,
compatibility: compatibility(options.compatibility),
inline: inlineOptionsFrom(options.inline),
inlineRequest: options.inlineRequest || {},
for (var i = 1; i <= 10; i++) {
var start = process.hrtime();
- new CleanCSS({ benchmark: i == 10 }).minify(input);
+ new CleanCSS().minify(input);
var itTook = process.hrtime(start);
total += 1000 * itTook[0] + itTook[1] / 1000000;