Version 2.2:
New Feature: Browser Sync • When previewing your website on multiple devices, whatever you do on one device is mirrored to all others.
• It's pretty much magic.
• You configure it in Preferences > Browsers.
• It's ON by default, but if your network is not slow or congested, you should turn it off.
• For full details, see this help page.
• No, CodeKit does not use the Node.js BrowserSync project; this is totally custom.
• Yes, I had to write some JavaScript to implement this and no, I'm not happy about it.
General Changes: • Files in CodeKit Frameworks can now import files in other CodeKit Frameworks. This is a terrible idea that's sure to end both your sanity and the human race, but some Guy wanted it.
• The "default preview browser" preference has been moved from the General tab to the new Browsers tab.
• You can choose the output format for Slim files: HTML, XHTML or XML.
• CodeKit's browser injection script no longer pollutes the global scope with so many variables.
Fixes: • Sometimes, file output paths would magically change to root-relative paths (/Volumes/Macintosh HD/...) that were totally not correct. This was a terrible feature; it has been removed.
• (It took a while because understanding the relationship between HFS+ filesystem paths and POSIX file system paths requires hallucinogens and a spirit guide.)
• On some networks (especially VPNs), CodeKit would beachball while waiting for the network to return an address. F*** beachballs.
• The Server Status was not displayed correctly when the server automatically restarts after your network connection changes. That no longer happens.
• The "replace components" output path option would occasionally produce incorrect output paths. That no longer happens.
• Hooks that run utilities installed in /usr/local/bin (like Grunt) will now work correctly.
• The bundled version of Git is updated to 2.2.1 to close a zero-day exploit discovered in Git a couple weeks ago.
• The entry for Modernizr in the Assets list is updated to reflect that project's new location.
TypeScript: • TypeScript's reference path='...' / syntax is now fully supported.
• The old way of combining TypeScript files (@codekit-prepend/append) has been removed.
• After updating, you'll need to manually change your TypeScript files to use the official syntax; all existing links based on the old append/prepend statements will be destroyed.
[b]Component Updates:[/b]
• Libsass --> 3.1.0 (TONS of fixes)
• Sass --> 3.4.10
• Less --> 2.2.0
• Compass --> 1.0.3
• Autoprefixer --> 5.0
• Uglify.js --> 2.4.16 (adds drop_console, pure_getters, keep_fargs and negate_iife options)
• CoffeeLint --> 1.8.1 (adds spacing_after_commas, ensure_comprehensions and could_you_make_your_option_names_any_longer options)
• JSHint --> 2.6
• TypeScript --> 1.4.1
• Jade --> 1.9.1
• Bourbon --> 4.1.1 (for Ruby Sass) and 3.2.4 (for Libsass)
• Bourbon Neat --> 1.7.1
• Susy --> 2.2.1
• Node --> 0.10.35
Version 2.1.9 (18270)
10 NOVEMBER 2014
This is a huge release with lots of changes. Let's break them down by section.
Compass Projects:
• NEW: Autoprefixer and Bless are now (finally!) available in Compass projects.
• NEW: Source Maps are now available in Compass projects.
• CHANGED: the Output Style, Debug Style, Decimal Precision and Source Map options for Sass files in a Compass project are now configured in CodeKit's UI. The values for these options in the config.rb file will be ignored.
• Output paths for Sass files in a Compass project must still be set in the config.rb file because Compass does not have an API that lets me override those.
• Other items in the config.rb file such as required libraries, extra Ruby code to run, etc. are still honored. Only the "compiling options" have moved to CodeKit's UI.
• For the reasoning behind these changes, see the help page.
• NOTE: when you open existing Compass projects in this version of CodeKit for the first time, you must verify that the compiling settings in the UI are what you want them to be. They will not automatically match the settings in the project's config.rb file.
Libsass:
• Libsass has been updated to version 3.0.2
• This is a MASSIVE change that brings Libsass much closer to full Sass compatibility.
• NOTE: if you use Zurb Foundation, you MUST update Foundation to the latest release (5.4.7). Older versions of Foundation do not support the current Sass syntax and will fail to compile. Use the 'Assets' tab in CodeKit to update Foundation.
General Changes:
• OS X's Notification Center done got stupider in Yosemite. If more than about 8 notifications are posted in quick succession, it just shows nothing. (In Mavericks, they were combined into one notification.) This can lead you to believe that CodeKit is not working when, in fact, it is. This update addresses the problem by posting a single notification per group of files compiled rather than one notification for each file.
• More safety checks: if the Ruby environment on your Mac encounters a problem that makes it unstable, this can no longer crash CodeKit.
• Firefox Developer Edition is now available as a Preview Browser. And yes, that browser just came out today.
Fixes:
• The Bonjour Preview Address is now more reliable on Yosemite.
• Some text was blurry on Yosemite. That is no longer the case.
• The oldest bug in CodeKit's history — intermittent overlapping text in the log view — has been fixed.
• Clicking the preview button when CodeKit's internal server is not running will no longer cause a crash.
• CodeKit's refresh script no longer uses function/variable names that could potentially conflict with names in your own JavaScript files.
• Clicking "Open Website" on a Bower asset that has no website URL defined now shows an intelligent alert message.
• The Server popover no longer erroneously reports the Internal Server as "stopped" when it's actually starting up for the first time after the app is launched.
Component Updates:
• Sass --> 3.4.7
• Stylus --> 0.49.3
• JSHint --> 2.5.10
• CoffeeLint --> 1.6.1
• Bourbon Neat --> 1.7.0
iMac Giveaway
• Everyone who installs this update between now and December will be automatically entered to win Drew Wilson's new Retina 5K iMac.
• It would be best if we did not tell Drew about this.