clean-css.git
7 years agoPrevent rules with :selection from being merged (#814)
silverwind [Mon, 26 Sep 2016 04:36:31 +0000 (06:36 +0200)]
Prevent rules with :selection from being merged (#814)

Firefox does not support :selection, only :-moz-selection. This change
adds :selection to the list of problematic selectors to prevent invalid
rules from being created.

Also cleaned up the regex, : and :: are equivalent in this regex,
so reduced all section to just :.

8 years agoVersion 3.4.19 release notes.
Jakub Pawlowicz [Mon, 25 Jul 2016 04:31:28 +0000 (06:31 +0200)]
Version 3.4.19 release notes.

8 years agoFixes #795 - `!important` and override compacting.
Jakub Pawlowicz [Mon, 25 Jul 2016 04:28:28 +0000 (06:28 +0200)]
Fixes #795 - `!important` and override compacting.

There was a broken test rule which didn't catch the bug, which is
now fixed.

8 years agoBumps logo version.
Jakub Pawlowicz [Fri, 15 Jul 2016 18:07:18 +0000 (20:07 +0200)]
Bumps logo version.

Why:

* MaxCDN cached the previous one permanently based on URL.
  So we need to change URL to point it to the new one.

8 years agoAdds a new, simpler droplet in our logo.
Jakub Pawlowicz [Fri, 15 Jul 2016 17:49:58 +0000 (19:49 +0200)]
Adds a new, simpler droplet in our logo.

8 years agoAligns all shapes in logo.
Jakub Pawlowicz [Tue, 12 Jul 2016 15:30:38 +0000 (17:30 +0200)]
Aligns all shapes in logo.

8 years agoReimports logo.svg via Sketch.
Jakub Pawlowicz [Tue, 12 Jul 2016 15:17:24 +0000 (17:17 +0200)]
Reimports logo.svg via Sketch.

Why:

* It's a SVG editor of choice;
* it will be easier to manage any future changes.

8 years agoRemoves invisible "drop" from logo SVG file.
Jakub Pawlowicz [Tue, 12 Jul 2016 13:54:32 +0000 (15:54 +0200)]
Removes invisible "drop" from logo SVG file.

8 years agoRemoves empty `<g>` nodes from logo SVG file.
Jakub Pawlowicz [Tue, 12 Jul 2016 13:46:23 +0000 (15:46 +0200)]
Removes empty `<g>` nodes from logo SVG file.

8 years agoCleans up Readme markup.
Jakub Pawlowicz [Tue, 12 Jul 2016 13:43:04 +0000 (15:43 +0200)]
Cleans up Readme markup.

8 years agoPoints Readme logo to canonical repository.
Jakub Pawlowicz [Tue, 12 Jul 2016 13:41:45 +0000 (15:41 +0200)]
Points Readme logo to canonical repository.

8 years agoadding logo (#793)
Sal Niro [Sun, 10 Jul 2016 09:40:27 +0000 (05:40 -0400)]
adding logo (#793)

Adds clean-css logo!

8 years agoVersion 3.4.18 release notes.
Jakub Pawlowicz [Wed, 15 Jun 2016 06:32:15 +0000 (08:32 +0200)]
Version 3.4.18 release notes.

8 years agoFixes #787 - regression in data URI processing.
Jakub Pawlowicz [Wed, 15 Jun 2016 06:23:29 +0000 (08:23 +0200)]
Fixes #787 - regression in data URI processing.

Yet another regression so we revert to the original order of
processing `url()` values.

8 years agoVersion 3.4.17 release notes.
Jakub Pawlowicz [Sat, 4 Jun 2016 06:07:14 +0000 (08:07 +0200)]
Version 3.4.17 release notes.

8 years agoSee #783 - adds an extra test.
Jakub Pawlowicz [Sat, 4 Jun 2016 06:06:04 +0000 (08:06 +0200)]
See #783 - adds an extra test.

8 years agoFixes #783 - regression in processing data URIs.
Jakub Pawlowicz [Sat, 4 Jun 2016 06:02:08 +0000 (08:02 +0200)]
Fixes #783 - regression in processing data URIs.

8 years agoVersion 3.4.16 release notes.
Jakub Pawlowicz [Thu, 2 Jun 2016 09:14:57 +0000 (11:14 +0200)]
Version 3.4.16 release notes.

8 years agoFixes #782 - regression in processing data URIs.
Jakub Pawlowicz [Thu, 2 Jun 2016 06:57:57 +0000 (08:57 +0200)]
Fixes #782 - regression in processing data URIs.

Instead of trying to fuzzy match an end of data URI let's use split
to navigate through bracket levels and determine an end of an URI.

8 years agoFixes #781 - regression in override compacting.
Jakub Pawlowicz [Thu, 2 Jun 2016 05:29:47 +0000 (07:29 +0200)]
Fixes #781 - regression in override compacting.

Checking every combination of override clashes should not fall
back to same values in case of multiplex components.

8 years agoVersion 3.4.15 release notes.
Jakub Pawlowicz [Wed, 1 Jun 2016 09:16:37 +0000 (11:16 +0200)]
Version 3.4.15 release notes.

8 years agoFixes #776 - edge case in quoted data URIs.
Jakub Pawlowicz [Wed, 1 Jun 2016 09:10:17 +0000 (11:10 +0200)]
Fixes #776 - edge case in quoted data URIs.

Regardless of whether data URI is quoted or not the end of URI should
always be fuzzy matched.

8 years agoFixes #780 - space after inlined variables.
Jakub Pawlowicz [Wed, 1 Jun 2016 07:00:28 +0000 (09:00 +0200)]
Fixes #780 - space after inlined variables.

Let's not assume variables are functions to stay. Polymer inlines
variables so removing a space after a variable can break styling.

8 years agoFixes #779 - merging `background-(position|size)`.
Jakub Pawlowicz [Wed, 1 Jun 2016 06:43:28 +0000 (08:43 +0200)]
Fixes #779 - merging `background-(position|size)`.

Those two properties were always merged but if vendor-prefixed
functions are used then they should not be.

Note we changed `everyCombination` checker to check for values
on same position when merging **longhand** properties which is what
browsers do, e.g.

```css
background-position: calc(100% - 1em) 1em;
background-position: calc(100% - 2em) 2em;
```

Now `everyCombination` checks if 1st and 2nd values can be merged
separately and ignores whether 1st can be merged with 2nd.

8 years agoVersion 3.4.14 release notes.
Jakub Pawlowicz [Tue, 31 May 2016 08:43:24 +0000 (10:43 +0200)]
Version 3.4.14 release notes.

8 years agoFixes #768 - invalid border-radius property.
Jakub Pawlowicz [Tue, 31 May 2016 06:59:00 +0000 (08:59 +0200)]
Fixes #768 - invalid border-radius property.

Whenever we encounter an invalid property there should be a
InvalidPropertyError exception thrown and property reported as `unused`.

Currently warnings are reported without any further details like line
number, but such feature is due in #657.

8 years agoFixes #765 - two values of border-radius.
Jakub Pawlowicz [Mon, 30 May 2016 06:18:30 +0000 (08:18 +0200)]
Fixes #765 - two values of border-radius.

Horizontal and vertical values of longhand properties were not
correctly merged into shorthand border-radius.

8 years agoFixes #763 - data URI SVG and quoting.
Jakub Pawlowicz [Mon, 30 May 2016 05:21:53 +0000 (07:21 +0200)]
Fixes #763 - data URI SVG and quoting.

Quotes inside data URI SVG can be unescaped and we should handle
such cases correctly by leaving quoting in place.

8 years agoFixes #751 - stringifying CSS variables.
Jakub Pawlowicz [Sun, 29 May 2016 15:09:17 +0000 (17:09 +0200)]
Fixes #751 - stringifying CSS variables.

CSS variables come in two variants

- defined as a block which can be applied using @apply keyword (used
  in Polymer);
- defined as a simple value or another variable reference.

The second way was broken when source maps were built as stringifying
code was always expecting a block.

8 years agoVersion 3.4.13 release notes.
Jakub Pawlowicz [Mon, 23 May 2016 09:56:55 +0000 (11:56 +0200)]
Version 3.4.13 release notes.

8 years agoMerge pull request #774 from nooks/master
Jakub Pawlowicz [Mon, 23 May 2016 09:50:53 +0000 (11:50 +0200)]
Merge pull request #774 from nooks/master

Fix input-source-map-tracker for node@6.*

8 years agoBuild: support Node.js 6.x
Nook Scheel [Mon, 23 May 2016 07:22:48 +0000 (10:22 +0300)]
Build: support Node.js 6.x

8 years agoFix input-source-map-tracker for node@6.*
Nook Scheel [Fri, 20 May 2016 13:04:12 +0000 (16:04 +0300)]
Fix input-source-map-tracker for node@6.*

8 years agoAdds Twitter badge to Readme.
Jakub Pawlowicz [Sat, 9 Apr 2016 16:01:31 +0000 (18:01 +0200)]
Adds Twitter badge to Readme.

8 years agoAdds download stats badge to Readme.
Jakub Pawlowicz [Sat, 9 Apr 2016 15:49:17 +0000 (17:49 +0200)]
Adds download stats badge to Readme.

8 years agoRemoves dev dependency status from Readme.
Jakub Pawlowicz [Sat, 9 Apr 2016 15:45:40 +0000 (17:45 +0200)]
Removes dev dependency status from Readme.

* it can still be accessed via "Dependency Status" button;
* we could use sth like greenkeeper to keep them up to date;

8 years agoRemoves .DS_Store from the list of ignored files.
Jakub Pawlowicz [Sat, 9 Apr 2016 15:41:20 +0000 (17:41 +0200)]
Removes .DS_Store from the list of ignored files.

Should be stored in one's global git ignore setup, see:
https://help.github.com/articles/ignoring-files/#create-a-global-gitignore

8 years agoBumps nock dependency to 8.x.
Jakub Pawlowicz [Sat, 9 Apr 2016 15:38:10 +0000 (17:38 +0200)]
Bumps nock dependency to 8.x.

8 years agoUpdates JSHint dependency to latest 2.x.
Jakub Pawlowicz [Sat, 9 Apr 2016 15:37:50 +0000 (17:37 +0200)]
Updates JSHint dependency to latest 2.x.

8 years agoBumps browserify dependency to 13.x.
Jakub Pawlowicz [Sat, 9 Apr 2016 15:34:49 +0000 (17:34 +0200)]
Bumps browserify dependency to 13.x.

8 years agoVersion 3.4.12 release notes.
Jakub Pawlowicz [Sat, 9 Apr 2016 15:25:19 +0000 (17:25 +0200)]
Version 3.4.12 release notes.

8 years agoFixes #754 - treats empty rule as unmergeable.
Jakub Pawlowicz [Sat, 9 Apr 2016 15:18:15 +0000 (17:18 +0200)]
Fixes #754 - treats empty rule as unmergeable.

Firefox and Chrome just ignore such rules while IE ignores empty rule
and interprets the rest correctly. This means it could be used as a
IE hack.

8 years agoSee #753 - extra tests covering `local(...)` values.
Jakub Pawlowicz [Thu, 7 Apr 2016 06:57:02 +0000 (08:57 +0200)]
See #753 - extra tests covering `local(...)` values.

8 years agoCorrectly removes `reset.css` in binary test.
Jakub Pawlowicz [Tue, 5 Apr 2016 05:05:30 +0000 (07:05 +0200)]
Correctly removes `reset.css` in binary test.

8 years agoFixed #734 - `--root` option edge case.
Jakub Pawlowicz [Tue, 5 Apr 2016 04:51:34 +0000 (06:51 +0200)]
Fixed #734 - `--root` option edge case.

When a root was specified (in CLI only) and it was given a path to
a folder (not a file) then we were taking its parent folder as a
root path instead.

8 years agoVersion 3.4.11 release notes.
Jakub Pawlowicz [Fri, 1 Apr 2016 20:42:53 +0000 (22:42 +0200)]
Version 3.4.11 release notes.

8 years agoFixes #738 - edge case in comment processing.
Jakub Pawlowicz [Fri, 1 Apr 2016 20:39:43 +0000 (22:39 +0200)]
Fixes #738 - edge case in comment processing.

Second `/*` in `/*! comment */*{...}` was taken as a comment start
which actually is not.

8 years agoFixes #743 - background shorthand and source maps.
Jakub Pawlowicz [Fri, 1 Apr 2016 19:55:15 +0000 (21:55 +0200)]
Fixes #743 - background shorthand and source maps.

There was an edge case when background-size was incorrectly
parsed as background-position.

8 years agoAdds #741 to History.md.
Jakub Pawlowicz [Fri, 1 Apr 2016 19:39:49 +0000 (21:39 +0200)]
Adds #741 to History.md.

8 years agoAdds #745 to History.md.
Jakub Pawlowicz [Fri, 1 Apr 2016 19:35:35 +0000 (21:35 +0200)]
Adds #745 to History.md.

8 years agoVersion 3.4.10 release notes.
Jakub Pawlowicz [Mon, 29 Feb 2016 07:05:00 +0000 (08:05 +0100)]
Version 3.4.10 release notes.

8 years agoUpdates History.md after #735 fix.
Jakub Pawlowicz [Mon, 29 Feb 2016 07:03:53 +0000 (08:03 +0100)]
Updates History.md after #735 fix.

8 years agoMerge pull request #748 from wzrdtales/httpsFixw/oRequest
Jakub Pawlowicz [Wed, 30 Mar 2016 21:55:46 +0000 (23:55 +0200)]
Merge pull request #748 from wzrdtales/httpsFixw/oRequest

fix proxy issues on https @imports

8 years agofix proxy issues on https @imports
Tobias Gurtzick [Sun, 27 Mar 2016 09:25:49 +0000 (11:25 +0200)]
fix proxy issues on https @imports

When an @import used a https url, the false protocol was tried to be used for the http proxy.

fixes #741

8 years agoMerge pull request #746 from JoniJnm/patch-1
Jakub Pawlowicz [Sat, 26 Mar 2016 07:42:49 +0000 (08:42 +0100)]
Merge pull request #746 from JoniJnm/patch-1

Don't skip !important rule with capital letters

8 years agoDon't skip !important rule with capital letters
Jónatan Núñez [Mon, 14 Mar 2016 22:24:23 +0000 (23:24 +0100)]
Don't skip !important rule with capital letters

Fix #745

In v3.3.10 works ok, fails in v3.4.10

The problem was introduced in 96096402eaaeb4947afa7ecacba0982381a244f4

Prevent match !importantE with !important

8 years agoMerge pull request #744 from deepsweet/start
Jakub Pawlowicz [Sun, 13 Mar 2016 07:48:13 +0000 (08:48 +0100)]
Merge pull request #744 from deepsweet/start

Add usage with Start tasks runner to README

8 years agoAdd usage with Start tasks runner to README
Kir Belevich [Sat, 12 Mar 2016 17:39:50 +0000 (20:39 +0300)]
Add usage with Start tasks runner to README

8 years agoMerge pull request #736 from silverwind/escaped-joining-chars
Jakub Pawlowicz [Mon, 29 Feb 2016 06:56:54 +0000 (07:56 +0100)]
Merge pull request #736 from silverwind/escaped-joining-chars

Fix whitespace removal with escaped joining characters

8 years agoFix whitespace removal with escaped joining characters
silverwind [Sun, 28 Feb 2016 02:04:29 +0000 (03:04 +0100)]
Fix whitespace removal with escaped joining characters

8 years agoMerge pull request #733 from scniro/master
Jakub Pawlowicz [Tue, 23 Feb 2016 20:42:45 +0000 (21:42 +0100)]
Merge pull request #733 from scniro/master

README: updating gulp plugin

8 years agoREADME: updating gulp plugin
Sal [Tue, 23 Feb 2016 17:58:03 +0000 (10:58 -0700)]
README: updating gulp plugin

8 years agoMerge pull request #724 from pra85/2016
Jakub Pawlowicz [Sun, 17 Jan 2016 05:31:44 +0000 (05:31 +0000)]
Merge pull request #724 from pra85/2016

Update license year to 2016

8 years agoUpdate license year to 2016
Prayag Verma [Sat, 16 Jan 2016 18:40:04 +0000 (00:10 +0530)]
Update license year to 2016

8 years agoMerge pull request #721 from XhmikosR/master
Jakub Pawlowicz [Sat, 9 Jan 2016 10:58:14 +0000 (10:58 +0000)]
Merge pull request #721 from XhmikosR/master

Pulling in changes by @XhmikosR

8 years agoUpdates gulp plugin reference.
Jakub Pawlowicz [Wed, 6 Jan 2016 21:00:12 +0000 (21:00 +0000)]
Updates gulp plugin reference.

Apparently gulp-minify-css is deprecated now so pointing users to gulp-cleancss instead.

8 years agoAdd node.js 5 in AppVeyor.
XhmikosR [Wed, 6 Jan 2016 15:12:21 +0000 (17:12 +0200)]
Add node.js 5 in AppVeyor.

8 years agoUpdate all dependencies.
XhmikosR [Wed, 6 Jan 2016 15:11:26 +0000 (17:11 +0200)]
Update all dependencies.

8 years agoVersion 3.4.9 release notes.
Jakub Pawlowicz [Sun, 3 Jan 2016 15:22:03 +0000 (15:22 +0000)]
Version 3.4.9 release notes.

8 years agoSpeeds up merging by body advanced optimization.
Jakub Pawlowicz [Sun, 3 Jan 2016 15:15:18 +0000 (15:15 +0000)]
Speeds up merging by body advanced optimization.

Testing #715 revealed `mergeNonAdjacentByBody` spends lots of time
optimizing selectors with empty body, which, at the end, will be
removed.

8 years agoFixes #715 - stack too deep in comment scan.
Jakub Pawlowicz [Sun, 3 Jan 2016 14:48:42 +0000 (14:48 +0000)]
Fixes #715 - stack too deep in comment scan.

Using recursion was a short sighted idea.

8 years agoFixes #714 - stringifying property level at rules.
Jakub Pawlowicz [Sun, 3 Jan 2016 13:08:56 +0000 (13:08 +0000)]
Fixes #714 - stringifying property level at rules.

There was an edge case when a property level `@apply` rule was
not stringified properly.

8 years agoFixes #711 - border fuzzy matching.
Jakub Pawlowicz [Sun, 3 Jan 2016 11:44:45 +0000 (11:44 +0000)]
Fixes #711 - border fuzzy matching.

When trying to fuzzy match border values exclude non-matching values
so a best fit can be selected.

8 years agoFixes #693 - restructuring edge case.
Jakub Pawlowicz [Fri, 1 Jan 2016 19:03:52 +0000 (19:03 +0000)]
Fixes #693 - restructuring edge case.

In case of same properties from different selectors being moved,
all selectors should be carried forward as at some point it may not be
possible to move them any further.

8 years agoMerge pull request #718 from tomByrer/patch-1
Jakub Pawlowicz [Tue, 29 Dec 2015 17:16:42 +0000 (17:16 +0000)]
Merge pull request #718 from tomByrer/patch-1

Adds 'online tools' section to Readme file.

8 years agochange header
Tom Byrer [Mon, 28 Dec 2015 17:48:27 +0000 (10:48 -0700)]
change header

8 years ago+ online tools
Tom Byrer [Wed, 23 Dec 2015 19:28:56 +0000 (12:28 -0700)]
+ online tools

closes #330

8 years agoFixes #707 - correct guard clause in `split` helper.
Jakub Pawlowicz [Mon, 23 Nov 2015 20:24:25 +0000 (20:24 +0000)]
Fixes #707 - correct guard clause in `split` helper.

Turns out the case with no separators and a string pattern was never
caught by a guard clause.

Thanks to @alexlamsl for spotting it.

8 years agoVersion 3.4.8 release notes.
Jakub Pawlowicz [Fri, 13 Nov 2015 11:15:38 +0000 (11:15 +0000)]
Version 3.4.8 release notes.

8 years agoFixes #676 - fuzzy matching in unquoted data URIs.
Jakub Pawlowicz [Thu, 12 Nov 2015 22:17:20 +0000 (22:17 +0000)]
Fixes #676 - fuzzy matching in unquoted data URIs.

Instead of matching just whitespace, also curly braces and semicolons
needs to be fuzzy matched as those tokens indicate context beyond
escaped URI.

8 years agoVersion 3.4.7 release notes.
Jakub Pawlowicz [Tue, 10 Nov 2015 08:22:06 +0000 (08:22 +0000)]
Version 3.4.7 release notes.

8 years agoAdds #701 release notes.
Jakub Pawlowicz [Thu, 5 Nov 2015 08:22:37 +0000 (08:22 +0000)]
Adds #701 release notes.

8 years agoFixes #692 - edge case in URL quoting.
Jakub Pawlowicz [Tue, 10 Nov 2015 08:07:05 +0000 (08:07 +0000)]
Fixes #692 - edge case in URL quoting.

When a SVG contains brackets it should always be quoted.

8 years agoFixes transparent color test to use correct `background` declaration.
Jakub Pawlowicz [Sat, 7 Nov 2015 16:16:43 +0000 (16:16 +0000)]
Fixes transparent color test to use correct `background` declaration.

Thanks to @alfaproject for spotting it.

8 years agoFixes #699 - IE9 transparent hack.
Jakub Pawlowicz [Thu, 5 Nov 2015 08:16:14 +0000 (08:16 +0000)]
Fixes #699 - IE9 transparent hack.

There is a Explorer 9 hack requiring `rgba(0,0,0,0)` not a minified
`transparent` value for `background` property.

8 years agoFixes #695 - edge case in shorthand overriding.
Jakub Pawlowicz [Mon, 2 Nov 2015 08:18:38 +0000 (08:18 +0000)]
Fixes #695 - edge case in shorthand overriding.

A longhand value should not be overriden by a shorthand with
a function value, e.g.

```css
div {
  background-color: red;
  background: linear-gradient(red, blue);
}
```

8 years agoAdds Node.js 5 tests on TravisCI.
Jakub Pawlowicz [Thu, 5 Nov 2015 08:23:10 +0000 (08:23 +0000)]
Adds Node.js 5 tests on TravisCI.

8 years agoMerge pull request #702 from island205/master
Jakub Pawlowicz [Wed, 4 Nov 2015 18:02:04 +0000 (18:02 +0000)]
Merge pull request #702 from island205/master

fix #701 properties.urlQuotes doesn't work

8 years agofix #701 properties.urlQuotes doesn't work
island205 [Mon, 2 Nov 2015 14:22:28 +0000 (22:22 +0800)]
fix #701 properties.urlQuotes doesn't work

Prevent SourceReader to remove all quote in url()

add test case

8 years agoAdds pre-release warning to readme file.
Jakub Pawlowicz [Mon, 2 Nov 2015 07:34:38 +0000 (07:34 +0000)]
Adds pre-release warning to readme file.

8 years agoRuns tests on any Node.js 4.x.
Jakub Pawlowicz [Thu, 29 Oct 2015 14:55:34 +0000 (14:55 +0000)]
Runs tests on any Node.js 4.x.

Good point by @XhmikosR.

8 years agoMerge pull request #698 from 4-k/patch-1
Jakub Pawlowicz [Wed, 28 Oct 2015 19:25:10 +0000 (19:25 +0000)]
Merge pull request #698 from 4-k/patch-1

Fixed link

8 years agoFixed link
Nilay Vishwakarma [Tue, 27 Oct 2015 11:58:17 +0000 (17:28 +0530)]
Fixed link

fixed broken link

8 years agoVersion 3.4.6 release notes.
Jakub Pawlowicz [Wed, 14 Oct 2015 13:20:58 +0000 (14:20 +0100)]
Version 3.4.6 release notes.

8 years agoFixes #679 - wrong rebasing of remote URLs.
Jakub Pawlowicz [Mon, 12 Oct 2015 07:28:07 +0000 (08:28 +0100)]
Fixes #679 - wrong rebasing of remote URLs.

There was an edge case when a remote stylesheet pointed to a URL
in a different domain. Introduced in #667.

8 years agoMerge pull request #684 from juaniiie/patch-1
Jakub Pawlowicz [Fri, 2 Oct 2015 07:25:12 +0000 (08:25 +0100)]
Merge pull request #684 from juaniiie/patch-1

Update README.md

8 years agoUpdate README.md
Juana [Fri, 2 Oct 2015 03:45:27 +0000 (20:45 -0700)]
Update README.md

8 years agoMerge pull request #683 from scottgonzalez/readme-callbacks
Jakub Pawlowicz [Wed, 30 Sep 2015 06:38:06 +0000 (07:38 +0100)]
Merge pull request #683 from scottgonzalez/readme-callbacks

Fix callback arguments in readme examples

8 years agoFix callback arguments in readme examples
Scott González [Tue, 29 Sep 2015 20:37:03 +0000 (16:37 -0400)]
Fix callback arguments in readme examples

8 years agoVersion 3.4.5 release notes.
Jakub Pawlowicz [Mon, 28 Sep 2015 08:49:35 +0000 (09:49 +0100)]
Version 3.4.5 release notes.