PostCSS 2.0 was rewritten from CoffeeScript to ES6, contains Safe Mode and is more friendly to new developers.
ES6
PostCSS was written on CoffeeScript to have clean and readable code. But many developers afraid CoffeeScript, because of very different syntax.
I think, that it is very important to be able to read your framework sources. To be more friendly to developers PostCSS was rewritten to ES6.
If you use npm you will not see any changes. PostCSS releases contain only compiled pure JS from Traceur. But now you can read PostCSS sources without the knowledge of CoffeeScript syntax.
Testing
PostCSS should not fall on some legacy CSS with hacks. So we have not only unit tests, but also test all releases with real world CSS from Twitter, GitHub, Bootstrap and Habrahabr.
But this sites have good written code. PostCSS 2 are also tested with Browserhacks examples and contains few parser fixes to pass all CSS hacks from there.
Safe Mode
PostCSS 2.0 had special Safe Mode, which try to fix broken CSS. For example, it will parse a {
as a {}
. It will be useful for live input tool (like Autoprefixer interactive demo) or to parse old legacy code.
postcss.parse('a {'); // will throw "Unclosed block"
postcss.parse('a {', { safe: true }); // will return CSS root for a {}
Raw Properties
PostCSS used getter and setter for selector
, value
, etc properties. They confused new users, because getters was not showed, when you inspect node in console.
PostCSS 2 is more friendly to new developers and use only regular properties without any magic.