Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update autoprefixer to the latest version 🚀 #2550

Closed
wants to merge 1 commit into from

Conversation

greenkeeper[bot]
Copy link
Contributor

@greenkeeper greenkeeper bot commented May 6, 2017

Version 7.0.0 of autoprefixer just got published.

Dependency autoprefixer
Current Version 6.7.7
Type dependency

The version 7.0.0 is not covered by your current version range.

Without accepting this pull request your project will work just like it did before. There might be a bunch of new features, fixes and perf improvements that the maintainers worked on for you though.

I recommend you look into these changes and try to get onto the latest version of autoprefixer.
Given that you have a decent test suite, a passing build is a strong indicator that you can take advantage of these changes by merging the proposed change into your project. Otherwise this branch is a great starting point for you to work on the update.


Release Notes 7.0 “Coelestem adspicit lucem”

University of Copenhagen coat of arms

Autoprefixer 7.0 uses PostCSS 6.0, Browserslist 2.0 and caniuse-lite.

Browserslist 2.0

Browserslist 2.0 and caniuse-lite by @ben-eb are the main changes in Autoprefixer 7.0. We wrote an article about these changes:

> Autoprefixer 7.0 and Browserslist 2.0

Breaking Changes

Node.js stopped 0.12 support in January 01. So PostCSS dropped Node.js 0.12 from all tests. Please update your Node.js version to 4.0 or 7.0.

IE has very basic support of Grid Layout. So Autoprefixer added -ms- prefixes and change property syntax. Unfortunately, IE supports a really small subset of Grid Layout. So prefixes were not really useful. This is why we disabled Grid Layout prefixes by default. But you still can enable it:

autoprefixer({ grid: true })

Babel

Autoprefixer was one of the biggest CoffeeScript projects. We thought to rewrite it, but reasons were small, and work was big. But @Semigradsky used great decaffeinate tool for automatically CoffeeScript → ES6 converting, and now all Autoprefixer sources are written in JS.

PostCSS 6.0

New PostCSS uses stream parser and uses less memory. Also, it uses less space in node_modules.

Other Changes

  • Use ^ for Browserslist dependencies, instead of ~.
  • Fix -ms-grid-column-align.
  • Move tests to Jest.
Not sure how things should work exactly?

There is a collection of frequently asked questions and of course you may always ask my humans.


Your Greenkeeper Bot 🌴

@hudochenkov
Copy link
Member

@evilebottnawi are you sure? It's uses PostCSS6, so we will ship two PostCSS versions to users. Maybe it will be compensated by smaller autoprefixer size.

@alexander-akait
Copy link
Member

alexander-akait commented May 6, 2017

@hudochenkov hm, sounds reasonable, but yes new autoprefixer use lite caniuse database.

/cc @jeddy3 @davidtheclark what do your thinks about this?

@davidtheclark
Copy link
Contributor

davidtheclark commented May 6, 2017

we will ship two PostCSS versions to users

I don't like the sound of that. I think we should upgrade everything to PostCSS 6 at the same time, or we're asking for trouble.

@alexander-akait alexander-akait added this to the 8.0.0 milestone May 6, 2017
@alexander-akait
Copy link
Member

yep, do it in 8 version

@alexander-akait alexander-akait added the status: blocked is blocked by another issue or pr label May 7, 2017
greenkeeper bot added a commit that referenced this pull request May 7, 2017
@greenkeeper
Copy link
Contributor Author

greenkeeper bot commented May 7, 2017

Version 7.0.1 just got published.

Update to this version instead 🚀

Release Notes 7.0.1
  • Fix Autoprefixer for old JS runtimes.

@ntwb ntwb mentioned this pull request May 8, 2017
@jeddy3 jeddy3 removed this from the 8.0.0 milestone May 14, 2017
greenkeeper bot added a commit that referenced this pull request May 14, 2017
@greenkeeper
Copy link
Contributor Author

greenkeeper bot commented May 15, 2017

Version 7.1.0 just got published.

Update to this version instead 🚀

Release Notes 7.1 “Universitas litterarum”

Humboldt University of Berlin coat of arms

Autoprefixer 7.1 brings unicode-bidi support, -webkit-appearance to Edge and fix intrinsic widths prefixes in Grid Layout.

unicode-bidi

Autoprefixer 7.1 will add prefixes for isolate, plaintext and isolate-override values in unicode-bidi:

.foo {
  unicode-bidi: -webkit-isolate;
  unicode-bidi: isolate;
}

Edge and -webkit-appearance

Prefixes sometime could be very strange. Edge started to support appearance property with a prefix. But because of many only-for-Safari websites it supports -webkit-appearance instead of -ms-appearance.

Autoprefixer 7.1 knows it and will generate -webkit-appearance even if you set only "last 1 Edge version" in browserslist config.

Intrinsic Widths

min-content, stretch and other Intrinsic sizes was fixed in grid-template-columns and other Grid Layout properties.

.foo {
  grid-template-columns: minmax(100px, -webkit-min-content);
  grid-template-columns: minmax(100px, min-content);
}

Browserslist in info()

By accident Browserslist 1 loaded config from current working dir if file path was missed. In Browserslist 2 we fixed it and now you must specify path to file in explicit way.

It is not a problem for Autoprefixer user, because Autoprefixer takes CSS file path from PostCSS.
But autoprefixer.info() stopped to load conifg in 7.0. In 7.1 we added from option to info().

Set the path to your CSS file and info() will show what prefixes and why it will added to this CSS file:

autoprefixer.info({ from: './scr/app.css' })
//=> Browsers:
//     Chrome: 58
//
//   These browsers account for 1.68% of all users globally
//
//   Selectors:
//     :fullscreen: webkit
//

@jeddy3
Copy link
Member

jeddy3 commented May 17, 2017

Happening in #2561

@jeddy3 jeddy3 closed this May 17, 2017
@jeddy3 jeddy3 deleted the greenkeeper/autoprefixer-7.0.0 branch May 17, 2017 16:32
@jeddy3 jeddy3 added resolution: duplicate and removed PR: review needed status: blocked is blocked by another issue or pr labels May 17, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants