Foundation & Sass Compatibility Alert
The official Sass compiler has recently received an huge update that introduces some serious compatibility issues for developers relying on Compass builds of Zurb Foundation. This has implications for developers using NOUVEAU.
The short story is that a recent update in the official Ruby-based Sass compiler (v3.4+) has introduced changes that are NOT backwards-compatible with earlier versions of Sass – therefore Foundation – therefore NOUVEAU.
What is Going On?
If you are using compiler kits like CodeKit, which automatically use the latest, bleeding edge compilers (e.g. Ruby Sass 3.4), this introduces some serious problems. At best, your projects will fail to compile… at worst, they will compile successfully, but with broken stylesheets that you might not notice right away.
There are two versions of Foundation available… one built for libsass with no additional dependencies, and one built for Compass, which uses the official Ruby Sass compiler.
libsass builds of Foundation will continue to just work as libsass does not yet include support for Sass versions above 3.2… but Compass builds of Foundation rely on the official Ruby compiler – meaning those who like to stay “up to date” may run into problems while compiling with Ruby Sass 3.4.
How this Affects NOUVEAU
Since NOUVEAU is built on the Compass version of Foundation, this introduces some serious problems. Zurb recommends using Bundler for compiling, since it allows for the use of specific Gem versions when compiling – but this behavior breaks many other popular compilers like Prepros and CodeKit, which ship exclusively with the latest compilers.
If you are a CodeKit user like myself, I unfortunately don’t have any good news for you right now, but Bryan Jones, the developer of CodeKit, is working on it and has an excellent writeup of the situation here:
In the mean time, the only way to ensure your NOUVEAU project compiles correctly is to ensure you are using the Ruby Sass 3.2 or 3.3 compiler, via command line. You can read about Zurb’s official workaround here:
Due this messy compatibility / dependency nightmare, at the moment I am not planning to upgrade NOUVEAU to Foundation 5.4.5. I will, however, be keeping a very close eye on the situation.
Just so all you fine developers stay in the loop, I am currently considering dropping Compass from NOUVEAU and switching to the Ruby-free libsass-compatible version of Foundation in the very near future. Whether that happens or not is entirely dependent on what solutions the community (including the Foundation team) comes up with in the next few days.