Jakub Pawlowicz [Tue, 6 Mar 2018 06:57:55 +0000 (07:57 +0100)]
Bumps web interface to version 4.1.10.
Jakub Pawlowicz [Mon, 5 Mar 2018 18:29:07 +0000 (19:29 +0100)]
Version 4.1.10 release notes.
Jakub Pawlowicz [Mon, 5 Mar 2018 18:23:32 +0000 (19:23 +0100)]
Fixes #1006 - handling invalid input source maps.
Jakub Pawlowicz [Mon, 5 Mar 2018 16:16:42 +0000 (17:16 +0100)]
Fixes #1008 - edge case in breaking up `font`.
`font` shorthand needs `font-size` and `font-family`.
Jakub Pawlowicz [Mon, 5 Mar 2018 12:59:47 +0000 (13:59 +0100)]
Adds @abarre fix to #1001 to release notes.
Jakub Pawlowicz [Mon, 5 Mar 2018 12:52:35 +0000 (13:52 +0100)]
Fixes #989 - edge case in removing unused at-rules.
When a value has `!important` in it then it should be stripped bare
before matching to the list of at-rules.
Jakub Pawlowicz [Mon, 5 Mar 2018 11:37:26 +0000 (12:37 +0100)]
Fixes #988 - edge case in dropping `animation-duration`.
When `animation-duration` is default but `animation-delay` isn't we
shouldn't drop the former as both need to be given.
Anthony BARRE [Mon, 5 Mar 2018 12:58:25 +0000 (13:58 +0100)]
[#1001] Fix corrupted state of tokenizer (#1010)
- case of roundBracketLevel inferior to 0.
DChristiany [Tue, 7 Nov 2017 16:41:50 +0000 (17:41 +0100)]
Add an option for keeping trailing semicolons in rule (#983)
Adds semicolonAfterLastProperty to format options and force keeping semicolon after last property, defaults to `false`.
Markus Oberlehner [Tue, 31 Oct 2017 10:26:22 +0000 (11:26 +0100)]
Promote installing as dev dependency (#981)
clean-css is a typical dev dependency which should be installed as such
in most of the cases. By providing an example code snippet with the
`--save-dev` option, we're helping the users to do the right thing.
greenkeeper[bot] [Thu, 5 Oct 2017 02:53:38 +0000 (04:53 +0200)]
fix(package): update source-map to version 0.6.0 (#977)
Jakub Pawlowicz [Tue, 19 Sep 2017 09:25:03 +0000 (11:25 +0200)]
Bumps web interface to version 4.1.9.
Jakub Pawlowicz [Tue, 19 Sep 2017 09:17:17 +0000 (11:17 +0200)]
Version 4.1.9 release notes.
Jakub Pawlowicz [Tue, 19 Sep 2017 09:16:25 +0000 (11:16 +0200)]
See #971 - adds History.md entry about fixed issue.
Matthew Bennett [Tue, 19 Sep 2017 09:11:07 +0000 (02:11 -0700)]
Ignore quotes when checking @font-face use (#972)
Jakub Pawlowicz [Sat, 2 Sep 2017 19:16:48 +0000 (21:16 +0200)]
Bumps web interface to version 4.1.8.
Jakub Pawlowicz [Sat, 2 Sep 2017 18:39:31 +0000 (20:39 +0200)]
Version 4.1.8 release notes.
Jakub Pawlowicz [Sat, 2 Sep 2017 18:35:26 +0000 (20:35 +0200)]
Fixes #966 - remote `@import`s referenced from local ones.
This is an edge case when local `@import` was given by hash and
referenced a remote one which was processed synchronously but should
have been asynchronously.
Jakub Pawlowicz [Sat, 2 Sep 2017 18:01:43 +0000 (20:01 +0200)]
Fixes #965 - edge case in parsing comment endings.
This is an edge case when a comment is closed twice leading to the
second end marker leaking to the next token.
Jakub Pawlowicz [Sat, 2 Sep 2017 17:15:27 +0000 (19:15 +0200)]
Fixes #959 - regression in shortening long hex values.
Introduced in #945.
Jakub Pawlowicz [Sat, 2 Sep 2017 16:18:56 +0000 (18:18 +0200)]
Fixes #960 - better explanation of `efficiency`.
Jakub Pawlowicz [Fri, 14 Jul 2017 13:10:18 +0000 (15:10 +0200)]
Bumps web interface to version 4.1.7.
Jakub Pawlowicz [Fri, 14 Jul 2017 12:47:16 +0000 (14:47 +0200)]
Version 4.1.7 release notes.
Jakub Pawlowicz [Fri, 14 Jul 2017 12:42:04 +0000 (14:42 +0200)]
Fixes #957 - `0%` minification of `width` property.
Why:
* Apparently `width` and `max-width` `0%` value cannot be turned into
`0`, see: https://codepen.io/judowalker/pen/xrMxWj
Ng Yik Phang [Fri, 14 Jul 2017 12:26:50 +0000 (20:26 +0800)]
Fix "special comments" option on web interface (#956)
Jakub Pawlowicz [Sat, 8 Jul 2017 09:51:29 +0000 (11:51 +0200)]
Bumps web interface to version 4.1.6.
Jakub Pawlowicz [Sat, 8 Jul 2017 09:44:33 +0000 (11:44 +0200)]
Version 4.1.6 release notes.
Jakub Pawlowicz [Sat, 8 Jul 2017 09:32:37 +0000 (11:32 +0200)]
Fixes #953 - beautify breaks attribute selectors.
Why:
* `~` marker can be used both to denote adjacent selectors and inside
an attribute matcher.
Jakub Pawlowicz [Sat, 8 Jul 2017 09:16:40 +0000 (11:16 +0200)]
Fixes #887 - edge case in serializing comments.
Why:
* When `removeEmpty: false` is used then comments are not properly
removed from a list of tokens.
Jakub Pawlowicz [Thu, 29 Jun 2017 06:58:26 +0000 (08:58 +0200)]
Bumps web interface to version 4.1.5.
Jakub Pawlowicz [Thu, 29 Jun 2017 06:45:45 +0000 (08:45 +0200)]
Version 4.1.5 release notes.
Jakub Pawlowicz [Thu, 22 Jun 2017 08:35:52 +0000 (10:35 +0200)]
Fixes #952 - parsing `@page` as in CSS3 spec.
Why:
* CSS3 spec allows `@page` rules to have custom names and contain
page-margin boxes, see https://www.w3.org/TR/css3-page/#margin-boxes
* it enables all (?) of Prince page box rules too by whitelisting them.
Jakub Pawlowicz [Wed, 28 Jun 2017 12:31:07 +0000 (14:31 +0200)]
Fixes #945 - hex RGBA colors in IE filters.
Why:
* IE filters support hex RGBA colors and we were not matching correctly
against them.
Jakub Pawlowicz [Sat, 17 Jun 2017 11:07:24 +0000 (13:07 +0200)]
See #944 - fixes code formatting.
Jakub Pawlowicz [Sat, 17 Jun 2017 06:37:45 +0000 (08:37 +0200)]
Fixes #947 - selector based filtering.
Why:
* Sometimes it may be useful to rewrite or drop certain properties based
on selector value.
Jakub Pawlowicz [Fri, 16 Jun 2017 18:10:28 +0000 (20:10 +0200)]
See #895 - updates readme with version requirement.
Jakub Pawlowicz [Wed, 7 Jun 2017 12:23:27 +0000 (14:23 +0200)]
See #895 - ignoring specific styles.
Why:
* Allows parts of CSS document to be wrapped between
/* clean-css ignore:start */ and /* clean-css ignore:end */ comments
passing them to output untouched by parsing and optimizing;
* in case of some special stylesheets when optimizations can break
styling.
Jakub Pawlowicz [Fri, 16 Jun 2017 17:00:42 +0000 (19:00 +0200)]
Fixes #861 - new `transition` property optimizer.
Why:
* To collapse multiple `transition-*` properties into a shorthand
`transition` property;
* to merge `transition-*` properties into shorthand `transition`;
* to get rid of default values in shorthands.
Jakub Pawlowicz [Wed, 14 Jun 2017 09:23:37 +0000 (11:23 +0200)]
Bumps web interface to version 4.1.4.
Jakub Pawlowicz [Wed, 14 Jun 2017 08:50:17 +0000 (10:50 +0200)]
Version 4.1.4 release notes.
Jakub Pawlowicz [Tue, 13 Jun 2017 10:56:39 +0000 (12:56 +0200)]
Fixes #950 - removing unused `@font-face` at rules.
Why:
* A `@font-face` with particular font-family can be declared more than
once, e.g. when referring different font weights.
Jakub Pawlowicz [Wed, 7 Jun 2017 14:50:13 +0000 (16:50 +0200)]
See #944 - adds missing docs.
Jakub Pawlowicz [Wed, 7 Jun 2017 14:47:00 +0000 (16:47 +0200)]
Bumps version to 4.2.0-pre.
strarsis [Tue, 23 May 2017 11:51:13 +0000 (13:51 +0200)]
Add process method (compatibility with optimize-css-assets-webpack-plugin) (#944)
Jakub Pawlowicz [Thu, 18 May 2017 19:33:03 +0000 (21:33 +0200)]
Bumps web interface to version 4.1.3.
Jakub Pawlowicz [Thu, 18 May 2017 19:27:17 +0000 (21:27 +0200)]
Version 4.1.3 release notes.
Jakub Pawlowicz [Thu, 18 May 2017 19:21:02 +0000 (21:21 +0200)]
Fixes #946 - `-ms-grid-columns` repeat syntax.
Why:
* Apparently our tokenizer didn't recognize it properly, see:
https://msdn.microsoft.com/library/Hh772246
Jakub Pawlowicz [Wed, 10 May 2017 17:46:38 +0000 (19:46 +0200)]
Bumps web interface to version 4.1.2.
Jakub Pawlowicz [Wed, 10 May 2017 17:34:10 +0000 (19:34 +0200)]
Version 4.1.2 release notes.
Jakub Pawlowicz [Wed, 10 May 2017 08:45:45 +0000 (10:45 +0200)]
Fixes #939 - semicolon after `@apply` at rule.
Why:
* Apparently IE11 and Edge doesn't like `@apply` without a trailing
semicolon.
Jakub Pawlowicz [Wed, 10 May 2017 13:19:07 +0000 (15:19 +0200)]
Fixes #941 - breaking up vendor prefixed `animation`.
Why:
* Components of vendor prefixed `animation` were incorrectly derived
from an unprefixed property leading to errors.
Jakub Pawlowicz [Tue, 9 May 2017 18:21:31 +0000 (20:21 +0200)]
Fixes #940 - handles more `font` keywords.
Why:
* The list wasn't exhaustive, hopefully the new one is.
Jakub Pawlowicz [Wed, 10 May 2017 08:45:45 +0000 (10:45 +0200)]
Version 4.0.13 release notes.
Jakub Pawlowicz [Wed, 10 May 2017 08:45:45 +0000 (10:45 +0200)]
Version 3.4.26 release notes.
Jakub Pawlowicz [Mon, 8 May 2017 07:04:55 +0000 (09:04 +0200)]
Bumps web interface to version 4.1.1.
Jakub Pawlowicz [Mon, 8 May 2017 06:57:29 +0000 (08:57 +0200)]
Version 4.1.1 release notes.
Jakub Pawlowicz [Mon, 8 May 2017 06:50:19 +0000 (08:50 +0200)]
Fixes #938 - removing unused at-rules with `!important`.
Why:
* When an at-rule is referenced from a shorthand property, the latter
needs to be broken apart, which as a result strips `!important`
modifier. So after checking shorthands need to be restored back.
Jakub Pawlowicz [Sun, 7 May 2017 06:33:20 +0000 (08:33 +0200)]
Bumps web interface to version 4.1.0.
Jakub Pawlowicz [Sun, 7 May 2017 06:28:14 +0000 (08:28 +0200)]
Version 4.1.0.
Jakub Pawlowicz [Sat, 6 May 2017 09:45:30 +0000 (11:45 +0200)]
Adds web UI options for version 4.1.
Jakub Pawlowicz [Sat, 6 May 2017 09:31:07 +0000 (11:31 +0200)]
Updates readme for version 4.1.
Jakub Pawlowicz [Sat, 6 May 2017 09:27:55 +0000 (11:27 +0200)]
See #906 - adds ticket notes.
Jakub Pawlowicz [Sat, 6 May 2017 06:38:29 +0000 (08:38 +0200)]
See #906 - stores settings in localStorage.
Why:
* It lets user customize settings once and reuse them at later time;
* user can always reset settings to default if needed.
Jakub Pawlowicz [Thu, 4 May 2017 12:41:07 +0000 (14:41 +0200)]
See #906 - handle dropdown events correctly.
Why:
* `change` event needs to be handled as handling `click` when it comes
to dropdowns is not enough.
Jakub Pawlowicz [Thu, 4 May 2017 11:57:20 +0000 (13:57 +0200)]
See #906 - adds more intuitive settings toggling.
Why:
* Simply reuses gear icon for hiding settings form.
Jakub Pawlowicz [Mon, 24 Apr 2017 06:59:00 +0000 (08:59 +0200)]
See #906 - adds 'reset settings' button.
Why:
* So users can reset settings form to default values if needed.
Jakub Pawlowicz [Mon, 24 Apr 2017 06:03:06 +0000 (08:03 +0200)]
See #906 - sets optimization options inline.
Why:
* It's not fully intuitive to have an `Apply` button at the bottom of
the form and require users to find it;
* instead options are set now automatically upon change.
Jakub Pawlowicz [Fri, 5 May 2017 05:10:22 +0000 (07:10 +0200)]
Adds missing `format` option documentation
Jakub Pawlowicz [Fri, 21 Apr 2017 12:13:49 +0000 (14:13 +0200)]
Reformats 'merge into shorthands' code.
Why:
* It now follows the preferred top-down order of functions.
Jakub Pawlowicz [Fri, 21 Apr 2017 09:04:10 +0000 (11:04 +0200)]
Improves longhand-into-shorthand merging.
Why:
* In case of properties which are both longhands and shorthands at the
same time, e.g. `border-style`, the merging was dropped prematurely;
* also inverts order of property optimizations, doing merging first
followed by overriding, which results in more optimization
opportunities.
Jakub Pawlowicz [Thu, 20 Apr 2017 14:09:19 +0000 (16:09 +0200)]
Fixes #525 - restores `inherit`-based merging.
Why:
* Merging longhands into shorthand when `inherit` is present is possible
and this commit restores this functionality;
* it was previously removed after big level 2 optimizations refactoring
in clean-css 3.2.
Jakub Pawlowicz [Thu, 20 Apr 2017 06:15:59 +0000 (08:15 +0200)]
Reformats list of upcoming changes in ascending order.
Jakub Pawlowicz [Thu, 20 Apr 2017 06:14:07 +0000 (08:14 +0200)]
Updates readme to correctly refer to next release.
Jakub Pawlowicz [Fri, 24 Mar 2017 11:24:17 +0000 (12:24 +0100)]
Fixes #862 - allows removing unused at rules.
Why:
* When an at-rule, i.e. `@counter-style`, `@font-face`, `@keyframes`, or
`@namespace`, is not referenced anywhere in a stylsheet it can be
safely removed;
* inspired by https://www.npmjs.com/package/postcss-discard-unused
Jakub Pawlowicz [Fri, 24 Mar 2017 11:00:10 +0000 (12:00 +0100)]
See #862 - allows non-standard `list-style-type`.
Why:
* `@counter-style` can define a non-standard values which should be
treated as first class citizens.
Jakub Pawlowicz [Fri, 7 Apr 2017 06:05:06 +0000 (08:05 +0200)]
Fixes #860 - adds `animation` property optimizer.
Why:
* Just as for other transformations, this code enables merging in
longhand properties and overriding longhand properties for `animation`
property and its components;
* some overriding examples at https://jsfiddle.net/m77mbj3f/
Jakub Pawlowicz [Tue, 18 Apr 2017 10:16:56 +0000 (12:16 +0200)]
Fixes #933 - smarter longhand into shorthand merging.
Why:
* When merging in `background-*` longhand properties into `background`
multiplex shorthand need to be expanded into a multiplex first.
However all but `background-image` require their values to be copied
instead of default ones, see https://jsfiddle.net/e8vkxyy4/2/
Jakub Pawlowicz [Thu, 13 Apr 2017 16:58:08 +0000 (18:58 +0200)]
Adds a new issue template (#934)
Why:
* Not everyone read contributing guide so this should improve things slightly.
Jakub Pawlowicz [Wed, 12 Apr 2017 19:11:40 +0000 (21:11 +0200)]
Bumps web interface to version 4.0.12.
Jakub Pawlowicz [Wed, 12 Apr 2017 19:06:54 +0000 (21:06 +0200)]
Version 4.0.12 release notes.
Jakub Pawlowicz [Tue, 11 Apr 2017 10:12:15 +0000 (12:12 +0200)]
Fixes #930 - regression in tidying selectors.
Why:
* `null` is not a safe argument to `replace` method as it's interpreted
as a text pattern.
Nicolas Challeil [Fri, 7 Apr 2017 12:18:25 +0000 (14:18 +0200)]
fix "optimizaton" typo (#928)
Jakub Pawlowicz [Thu, 6 Apr 2017 12:58:39 +0000 (14:58 +0200)]
Fixes #920 - allows skipping property optimizations.
Why:
* To allow fine grained control over property level 2 optimizations;
* instead of disabling all property overriding it may be more useful to
disable just specific ones.
Jakub Pawlowicz [Wed, 5 Apr 2017 09:55:00 +0000 (11:55 +0200)]
See #254 - adds History.md changelog entry.
Jakub Pawlowicz [Wed, 5 Apr 2017 09:35:43 +0000 (11:35 +0200)]
See #254 - adds system font support.
Why:
* System fonts should not be mergeable with other types of fonts as such
merging is not supported by browsers.
Jakub Pawlowicz [Sun, 26 Mar 2017 12:51:14 +0000 (14:51 +0200)]
Reworks validator module.
Why:
* Technically speaking validator can check if a value is valid only in
specific circumstances, like when a value is from a keyword list;
* methods are no longer called `isValid<...>` but `is<...>` which
doesn't say if particular value is valid or not.
Jakub Pawlowicz [Sat, 25 Mar 2017 06:30:26 +0000 (07:30 +0100)]
Uses `Marker` control characters where possible.
Jakub Pawlowicz [Fri, 24 Mar 2017 19:10:21 +0000 (20:10 +0100)]
See #254 - removes `font` optimizations in level 1.
Why:
* The level 1 optimizations were just a temporary fix until shorthand
optimizer gets implemented;
* this creates a regression in optimizing `font-weight` inside `font`
shorthand, which is pending #889.
Jakub Pawlowicz [Fri, 24 Mar 2017 14:42:10 +0000 (15:42 +0100)]
See #254 - implements `font` compacting.
Why:
* Just as for other shorthand properties, the `font` one allows
collapsing components into it;
* we will remove level 1 font optimizations to avoid logic duplication.
Jakub Pawlowicz [Tue, 4 Apr 2017 07:06:49 +0000 (09:06 +0200)]
Bumps web interface to version 4.0.11.
Jakub Pawlowicz [Tue, 4 Apr 2017 06:35:27 +0000 (08:35 +0200)]
Version 4.0.11 release notes.
Jakub Pawlowicz [Fri, 31 Mar 2017 19:58:19 +0000 (21:58 +0200)]
Fixes #924 - `hsl` zero percent eager optimization.
Why:
* Level 1 unit optimization was too eager when it comes to colors
declared with a function.
Jakub Pawlowicz [Fri, 31 Mar 2017 20:24:55 +0000 (22:24 +0200)]
Fixes #923 - protocol tests and nock 9.
Why:
* nock introduced a breaking change in verifying `isDone` in
teardown clauses.
Jakub Pawlowicz [Thu, 23 Mar 2017 19:34:42 +0000 (20:34 +0100)]
Fixes #755 - adds custom handling of remote requests.
Why:
* To allow flexibility in a way of fetching remote resources, for
example requests via CONNECT proxies, an external request library can
be used, see example in readme;
* instead of reinventing a wheel a better approach is to use an external
library based on users' choice.
Jakub Pawlowicz [Fri, 24 Mar 2017 06:15:42 +0000 (07:15 +0100)]
Fixes #905 - allows disabling selector sorting.
Why:
* It may be beneficial for gzip compression purposes or just a personal
preference.
Jakub Pawlowicz [Wed, 22 Mar 2017 14:11:33 +0000 (15:11 +0100)]
Fixes 4.0.10 changelog link.
Jakub Pawlowicz [Wed, 22 Mar 2017 13:47:53 +0000 (14:47 +0100)]
Bumps web interface to version 4.0.10.
Jakub Pawlowicz [Wed, 22 Mar 2017 12:11:02 +0000 (13:11 +0100)]
Version 4.0.10 release notes.
Jakub Pawlowicz [Wed, 22 Mar 2017 11:20:30 +0000 (12:20 +0100)]
See #916 - adds 4.0.10 release note.
Jakub Pawlowicz [Mon, 20 Mar 2017 14:38:24 +0000 (15:38 +0100)]
Refixes #556 - IE backslash hacks.
Apparently turning all backslash hacks into `\9` hack is not desirable
strategy, as, for example, `\0` hack has a different meaning.