Version 2.0 (16828)
4 March 2014
Finally, eh? This is a complete re-write of CodeKit. If you're upgrading, MAKE SURE you watch the "Browser Refreshing" screencast; it's totally different now. Don't be the guy that emails me and asks, "Why isn't CodeKit 2 reloading localhost anymore!?"
- Changed: Everything.
- Sped Up: Everything.
- Note: 2.0 is a new app; it will not overwrite 1.x. Do not run both apps at the same time, but you can quit one and switch to the other if needed.
- Note: 2.0 requires Mac OS 10.8 plus. It will not run on 10.7.
- There may be bugs. I have my laptop all day and I'm ready to help. Bear with me; it's a major launch.
- For every bug that shipped, I kill a beta tester.
CodeKit 2.0 includes pre-release versions of Sass and Compass. There are two known issues with this pre-release of Compass:
- If you add any include paths to your config.rb file in a Compass project, CodeKit cannot tell Compass about resources bundled into the app (Bourbon, Susy, etc.) Compass will fix this soon.
- If you have Sass 3.2 and/or Compass 0.12 installed on your system, you may see an error about a "superclass mismatch for class Literal" when performing any Compass actions in CodeKit. To resolve this, run
gem uninstall compass and
gem uninstall sass on the command line to remove earlier versions of these gems from your system.
Version 1.9.3 (8403)
1 January 2014
Jade updated to 0.35.0. (NOTE: if you want to use includes with Jade, you must install the relevant node packages at the command line. For example, to include Less code in your Jade files, you must install Less through NPM.)
- FIXED: The crash reporter screen no longer randomly shows up on launch when running Mavericks.
- FIXED: Imported/ignored files are dimmed again on Mavericks. (Ask me how long it took to track down THAT little issue.)
- Less updated to version 1.5. New CSS compressor for Less files is astronomically faster.
- Good stuff around the corner.
Hang in there.
Version 1.9.2 (8376)
23 October 2013
- FIXED: Resolves an issue where Sass, Haml and Slim report errors about non-ASCII characters on Mavericks. (This one wasn't my fault; Apple forgot to specify UTF-8 as the default encoding for the upgraded version of Ruby in 10.9!)
- FIXED: Resolves an issue on Mavericks where GateKeeper falsely reports that the downloaded app bundle is damaged.
Version 1.9 (8348)
20 October 2013
- MAVERICKS COMPATIBILITY. Three key things in 10.9:
- One --- it's no longer possible to run the app from only the menu bar. (10.9 changed the whole menu bar API to better support multiple screens, but that made it impossible for a single binary to reliably switch between Dock and Menu "modes".) There's a new option in the preferences to toggle the menu bar icon on and off and you no longer need to restart the app to do it. However, CodeKit will always show in the Dock. This also applies to 10.8 and 10.7.
- Two --- CodeKit does not participate in "App Nap". You WANT CodeKit to stay alive in the background to listen for file changes. (I tested it with App Nap and found delays of up to six seconds between the time you pressed 'save' and the time OS X got around to allowing "napped" CodeKit to wake up and do something.) Luckily, CodeKit isn't very power-hungry to begin with.
- Three --- The WebKit team procrastinates even more than me. WebKit nightlies, as of right now, do not run at all on 10.9. For technical reasons, this means that I cannot currently build a CodeKit binary that includes the code to auto-refresh the WebKit Nightly browser. So, for now, auto-refresh will no longer work for that browser on 10.9, 10.8 or 10.7. When the WebKit team gets their act together, I'll release another update that brings back auto-refresh for WebKit Nightlies. Also, WebKit team: Chrome Canary has been running on 10.9 for months. Just saying.
- A certain Compass dependency was crashing on 10.9, so I removed it. Compass still works fine, but processing sprites may be a tad slower.
- Sass updated to 3.2.12
- Stylus updated to 0.38.0
- Node updated to 0.10.21
- JSHint updated to 2.3.0. New options: 'freeze' and 'notypeof'
- Slim updated to 2.0.1
- JSLint updated to the 22 Sept 2013 release
- Jade updated to 0.35.0. (NOTE: if you want to use includes with Jade, you must install the relevant node packages at the command line. For example, to include Less code in your Jade files, you must install Less through NPM.)
- FIXED: The "Run Bless" checkbox was accidentally removed from the Less options in the previous update. The people responsible for the previous update have been shot.
- Looks like I've run out of decimal points. What to do, what to do...
Version 1.8.1 (8326)
11 September 2013
- Resolves an issue where the Susy Compass plugin may not be detected properly in certain projects.
- Note: I've had reports that PNG optimization sometimes fails for folks still on OS 10.7. I'm looking into it. If this affects you, please email me.
- I almost released an update with no issues.
- This is why they don't let me write software for nuclear reactors anymore.
Version 1.8 (8322)
4 September 2013
- NEW: Bourbon Neat is now built-in. All you need to do is add
@import "bourbon"; @import "neat"; to the top of your main stylesheet. CodeKit will do the rest; there is no need to install any files in your project.
- NEW: Susy support for Compass. Compass projects that use Susy will now simply compile correctly right out of the box. You no longer need to switch CodeKit to an external Compass compiler to use Susy. Again, there's nothing to configure. Just add
require "susy" to your Compass configuration file and CodeKit will do the rest.
- FIXED: Compass will now regenerate sprites only when needed, which means compiling in Compass projects that use sprites is much faster.
- Less updated to version 1.4.2
- Sass updated to version 3.2.10
- Stylus updated to version 0.36.1
- JSHint updated to version 2.1.10
- JSLint updated to the 26 August 2013 release
- PNGCrush updated to 1.7.67
- ChunkyPNG and OilyPNG (two Compass dependencies) have been updated to attempt to resolve a crash that's occurring on the 10.9 Mavericks Developer Preview. 10.9 ships with Ruby 2.0 as the default environment and these libraries are currently crashing in Ruby 2.0, which brings down CodeKit itself. Be aware of this issue if you plan to update to 10.9! Compass may not work correctly until the developers of these libraries update them for Ruby 2.0 compatibility.
- Other minor bugfixes
- Captain's Log, Supplemental: I'm not sure who coined the term 'twerking', but if we could find that person and not have them on the planet anymore, that would be great.
Version 1.7.1 (8317)
9 July 2013
- Fixes an issue where Less files in CodeKit Frameworks were not found correctly by Less 1.4.1.
- Does not fix season 4 of Arrested Development.
Version 1.7 (8316)
8 July 2013
- NEW: Less 1.4.1, with a whole slew of new options. Read the documentation over at lesscss.org for details. NOTE: there are some backwards-incompatible syntax changes in Less 1.4, so your code may need revisions after this update!
- Stylus: updated to 0.33.1
- CoffeeScript: updated to 1.6.3
- Uglify.js: updated to 1.3.5
- JSLint: updated to the 2 July 2013 release
- JSHint: updated to version 2.1.4
- Bourbon: updated to version 3.1.8, which brings new awesomeness. See bourbon.io for details. (Seriously, if you write Sass/Scss and haven't tried Bourbon yet, you're doing it wrong.)
- Slim: updated to version 2.0. (NOTE: if you have really old Slim code, you might find that 2.0 throws some errors because it has backwards-incompatible changes. Time to update your code!)
- Node.js: updated to version 0.10.12
- Jade. Ah yes, Jade: the clingy, needy hipster-girlfriend of compilers. Here's the deal: CodeKit is going to continue to support Jade, but for now you should install Jade at the command line and switch CodeKit to use that external Jade compiler (do this in Preferences > Languages > Jade > Advanced Compiler Settings). The bottom line is that Jade has simply become too unwieldy to continue bundling into CodeKit. Jade requires a bunch of third-party libraries, each of which require other third-party libraries, which require yet *other* third-party libraries and so on. It's become a massive web of complexity. Right now, the built-in version of Jade in CodeKit is frozen at 0.30.0 and if you want to use any "filters" in your Jade files, you'll definitely need to install Jade externally. I hope to return to bundling Jade in 2.0, once I have time to sit down and de-clusterf$@# the project.
- On a happier note, I'm going to need some beta testers in a month or so. I'll be making that announcement on Twitter. So if you'd like to see a shiny "2.0" in the About Window before everyone else AND you don't mind if your Mac becomes sentient and destroys your house AND you'll file a bug report instead of a lawsuit when that happens, follow me on Twitter. End shameless plug.
Version 1.6.2 (8300)
23 May 2013
- Component updates:
- Sass --> 3.2.9 (resolves some caching bugs)
- CoffeeScript --> 1.6.2
- Haml --> 4.0.3
- Bourbon --> 3.1.6
- JSLint --> the 16 May 2013 release
- JSHint --> 2.1.2
- An announcement:
- You may have noticed a lack of new features in the last few updates. A few people have even emailed me to ask about CodeKit's future. It's generally a bad idea to pre-announce things, but I really appreciate my users and I want you guys to know that these past few months have been the lull before the storm. In January, I forked CodeKit to begin work on the 2.0 release. In order to incorporate all the features you guys asked for (like source maps, custom build scripts, etc.) and to address many things I discovered only after launching 1.0 (like how teams of developers need to use CodeKit collaboratively), I had to re-design a huge portion of CodeKit's low-level architecture. Along the way, I've used everything I learned in 1.0 to optimize stuff and I've eliminated a bunch of pain points: no more manual project refreshes; CodeKit just keeps up when you add new files. No more locking files on AFP or SAMBA drives (for team environments). And a project that used to take 10-15 seconds to refresh now completes instantaneously --- I had to actually SLOW DOWN the UI so that you could tell something happened. It's ungodly fast. New languages. New workflows. Stuff that people haven't even imagined yet. It's all coming. Rest assured: CodeKit is alive and well. I work on it for hours every day.
- And to answer the questions 8,523 people are about to email me: YES, 2.0 will be a paid update. YES, all 1.0 users will get a big discount. YES, if you buy 1.0 just before I release 2.0, you'll get a free update to 2.0. NO, I don't have a release date yet. All I can say is that I'm over halfway done and can't wait to get 2.0 into your hands. And, most importantly... YES, Panic is going to be jealous.
Version 1.6.1 (8283)
7 March 2013
- There is an issue in JSHint that may cause a crash when JSHint is run on certain files. This update adds some exception-handling to detect and prevent these crashes.
- You can read the details about this issue and track progress here: JSHint GitHub Page
- As soon as the issue is resolved, CodeKit will be updated. Until then, if JSHint fails on one of your files, use JSLint instead.
- Well, aren't you clever?
Version 1.6 (8265)
5 March 2013
- CHANGED: variables in .kit files are now like Apple's stock price: truly variable. You can overwrite their values. Use wisely!
- Sass updated to 3.2.6
- Stylus updated to 0.32.1
- Bourbon updated to 3.1.1
- CoffeeScript updated to 1.6.1
- (Yes, source maps for CoffeeScript are coming, but they did not make this release because there is a lot of work needed to support edge cases like Coffee files in CodeKit Frameworks.)
- Haml updated to 4.0.0
- Jade updated to 0.28.2
- JSHint updated to 1.0.0
- JSLint updated to 18 February 2013 edition
- Node.js updated to 0.8.21
Version 1.5.1 (8248)
11 January 2013
- Markdown syntax is now fully supported in Haml files
- Less.js updated to version 1.3.3. (If you use Less, install this update immediately; tons of fixes.)
- Sass updated to version 3.2.5.
- Jade updated to version 0.28.0.
- Slim updated to version 1.3.6
- Stylus updated to version 0.32.0
- Node updated to version 0.8.17
- I would like to take this opportunity to unveil the very first screenshot of CodeKit 2.0, featuring an all-new UI designed by Guy Meyer:
- See, Guy? This is what happens when you don't send me a Christmas card.
- Patched to 1.5.1 to resolve an issue where Less files would not compile if set to compress with YUI.
Version 1.4.1 (8241)
20 December 2012
- CRITICAL FIX: resolves an issue introduced in the previous update that caused crashes while linking imported Sass and Stylus files.
- The people responsible for the previous update have been knee-capped, Tonya Harding style.
Version 1.4 (8239)
18 December 2012
- NEW: The Kit Language. Kit adds @imports and variables to HTML. Read the documentation and you'll have mastered it in five minutes. It's that easy.
- The algorithms that detect @import statements have been completely rewritten. They are now 13x faster AND they respect comments in every language. If you comment-out an @import statement, CodeKit will not link those files together.
- You can now use the
@import url(someFile.less); syntax if you like; CodeKit will link these files correctly.
- Drastically cut the amount of disk I/O involved in linking imported files. Folks still on regular hard disks (as opposed to SSDs) should notice a nice speed bump
- If you delete an @import statement in a file, CodeKit will now unignore the formerly-imported file automatically.
- Compass projects that use sprites should now compile much, much faster.
- CodeKit is now more efficient at figuring out which files create other files. This makes adding/refreshing very large projects several seconds faster.
- Sass --> updated to 3.2.3
- Stylus --> updated to 0.31.0
- Node --> updated to 0.8.16
- Jade --> updated to 0.27.7
- Bourbon --> updated to 3.0.1
- Slim --> updated to 1.3.4
- JSLint --> updated to 17 December 2012 release
- For those of you keeping track at home, @lorenb and I are currently tied 2-2 in our Letterpress battle.
- Loren won the first game. Convincingly. I then slew him twice in a row before falling to the word "zex" in game number four. The fifth game is currently underway.
- If any of you have a surplus of self-esteem and would like me to relieve you of it, I am "bdkjones" on Game Center and I will take on all comers.
Version 1.3.5 (7978)
19 November 2012
- NEW: Bourbon is completely supported!
- The ONLY thing you need to do to use Bourbon in CodeKit is place
@import "bourbon" at the top of your stylesheet and save. It's not necessary to have Bourbon files in your project; CodeKit will just magically make it all work. (See the help page for more detailed info.)
- FIXED: The cache buster is now much smarter and will handle URLs with query strings and anchor tags correctly. There is also now an option to disable the cache-buster completely.
- If you use Project-level settings and rename a project in the sidebar, that information will be synced across machines.
- The Compass and Bourbon menus now have options to take you straight to the documentation for each tool.
- If you run the app from the Status Bar, you'll find a new option to refresh all projects in the Status Bar menu.
- FIXED: Projects can no longer have empty names in the sidebar.
- NOTE: this update will migrate your serial number to a new format. You will not be able to open older versions of CodeKit. (That was never supported, actually, and will usually result in a crash.)
- Finally, it has come to my attention that one, Loren Brichter, has violated my patent on funny release notes. I submit the following evidence to a candid world:
- You think that just because you worked at Apple and Twitter, invented pull-to-refresh, created the first awesome Twitter client and coded part of iOS that you can just waltz in here and start writing funny release notes? Well, sir, CHALLENGE ACCEPTED. I will beat you like a red-headed step child here and then I will smurf you in your own app. (For those unfamiliar with this term, it's when you beat someone in Letterpress by turning the whole board blue.)
Version 1.3.1 (7839)
8 November 2012
- Explanation: the JSHint folks changed some key stuff in the latest release but didn't tell anyone, so we got caught off guard. The "indentation" value that you set for the syntax checkers is now used only if the "white" value is enabled in JSHint's settings.
- Quicklook support has been added for Slim files.
- Also, apparently we need to have a little public service announcement. Here's the deal: if you find yourself in a zombie apocalypse and you crawl into a freaking tank, DRIVE THE TANK OUT OF THE ZOMBIE APOCALYPSE. Do NOT get OUT of the tank and make a run for it. Zombies cannot bite your spleen in a TANK. This is not a difficult concept.
- (Yes, I just started watching The Walking Dead.)
Version 1.3 (7834)
6 November 2012
- HOTFIX: The original 1.3 release (build 7833) was updated to 7834 to resolve an issue where Uglify.js options in Project Settings were unresponsive.
- NEW: Compass projects can now use CodeKit Frameworks at the same time. It all just magically works. (Thanks to Chris Eppstein for modifying Compass to make that possible!)
- NEW: The project settings area no longer looks like the unholy love child of Gary Busey and Michael Jackson.
- Improved: Refresh times on large projects have been cut by about 45%.
- NEW: For projects that use project-level settings, you can now apply those settings to all existing files in the project with one click.
- NEW: You can now have CodeKit automatically update the "codekit-config.json" file every time you refresh a project that uses project-level settings.
- Related: When you enable project-level settings for a project, you'll now automatically get a "codekit-config.json" file in the project's root folder AND that configuration file will be updated automatically every time the project refreshes by default.
- NEW: You can now export debug information for Less files.
- Fixed: Chrome will no longer reload minimized windows. (And, lo, there was much rejoicing!)
- Fixed: Animated CSS injections in Chrome will no longer affect other animation rules in your CSS. (There was a bug in the injection routine that left a stray animation rule in place after injection completed.)
- NEW: When CodeKit reloads an entire page, it now cache-busts the browser so that your latest changes ALWAYS appear. (You'll see a query string that does this at the end of the URL.)
- NEW: By popular request, you can now disable the animation on CSS injections. (You know, if you're a heathen.)
- Fixed: Imported files with "url" in their name (e.g. "curl.sass") would previously fail to link correctly. That has been resolved.
- For Less files: support for the
@import-once syntax has been added.
- For Haml files: support for the CDATA option has been added.
- Fixed: Attempting to hide obscenely large numbers of files all at once will no longer cause a hang.
- Fixed: An issue where Sass/Scss files in CodeKit Frameworks were not detected correctly if you used the Sass partial syntax.
- Fixed: A crash that could occur in rare circumstances when CodeKit attempted to display certain result messages.
- Awww-snap: Compass icons are now fully retina-fied.
- Shazaam: New icons and artwork by the excellent Guy Meyer.
- You can now specify a fonts directory, choose Sass or Scss syntax and choose no "environment" option when creating a new Compass project.
- Stylus files have a new UI for selecting debug information. Fewer checkboxes.
- Large parts of the app are now Helvetica-ized.
- For projects that use project-level settings, a new icon will appear in the scope bar (above the files list) that provides a quick way to get to the settings drawer.
- CodeKit will no longer cause your Mac to switch from integrated to discrete graphics. Translation: better battery life.
- Less --> updated to 1.3.1
- Sass --> updated to 3.2.2 (Media Mark)
- Slim --> updated to 1.3.3
- Node --> updated to 0.8.14
- JSHint --> updated to Release 12. (Adds the "YUI" environment option.)
- JSLint --> updated to the 18 October 2012 version
- CoffeeScript --> updated to 1.4.0
- Uglify.js --> updated to 1.3.4
- Stylus --> updated to 0.30.1
- Jade --> updated to 0.27.6
- Apple should hire me to write change logs for THEIR updates. $#@!-ing "bug fixes"...
Version 1.2.6 (6708)
23 August 2012
- CRITICAL: Fixes a crash on 10.8 caused by dragging an ineligible file into the "imports" table of the side inspector view. (Example: attempting to import a file into itself.) Strangely, this issue does not manifest on 10.7.
- Fixes an issue where trailing whitespace was left on the comments that indicate the beginning of a new source file in a concatenated output file.
- I don't always update three times in one week, but when I do, I laugh at people who have to put up with the App Store reviewers.
Version 1.2.5 (6696)
20 August 2012
- Fixes an issue where the Slim language was not available in the Output Paths section of the Project Settings area. Thanks to @openfire3 for reporting the problem.
- See, what happened here is that I spent too much time creating Retina graphics and not enough time actually testing the update.
- Adama is a cylon.
Version 1.2.4 (6693)
20 August 2012
- NEW: Slim is now fully supported!
- Jade files with "extends" statements will now link correctly so that when you modify a file that extends another, the correct file recompiles.
- It is now possible to set a custom filename and extension for Jade output files. So, you can do "aFile.jade" --> "awesome.php".
- On OS 10.8, Notification Center is now used in place of Growl. Growl remains for users on 10.7.
- The "show notifications" checkbox in the preferences window now actually does what you think it does.
- There is now a "rename" option available when you right-click a project. Because apparently some people missed the memo that clicking something twice in OS X edits it. I'll make sure you get another copy, mmmkay?
- You can now refresh a single project without refreshing all others. This makes it easier to deal with massive projects. To do it, right-click the project and choose "refresh selected project".
- Several UI glitches that appeared when running on 10.8 are now fixed. Note: The UI is now tweaked for 10.8. If you're still on 10.7, you may notice a few things mis-aligned, etc. That's because I don't have a system running 10.7 to test on at the moment. 10.8 is much better. You should upgrade.
- More retina graphics. We're 90% done with this.
- Sass --> updated to 3.2.1
- Compass --> updated to 0.12.2
- JSLint --> updated to the 11 August 2012 build.
- JSHint --> updated to the 19 August 2012 build. (New "unused" option)
- Node.js --> updated to 0.8.7.
- Stylus --> updated to 0.29.0
- Jade --> updated to 0.27.2
Version 1.2.3 (6554)
1 August 2012
- Resolved several issues with Mountain Lion compatibility.
- FIXED: @import paths that begin with a period to indicate the current directory will now link correctly in the app.
- Killed an edge-case memory leak.
- The file-watching engine (VDKQueue) is now *even* faster. You'd pretty much need an atomic clock to track it, though.
- The status bar icon is now retina-fied. Mainly because some guy requested it on Twitter. His face will soon be introduced to a Retina Macbook Pro traveling at high velocity.
- Node.js --> updated to 0.8.2 (brings full support for UTF-16)
- Less.js --> still at version 1.3.0, but updated to a newer commit that brings support for keyframe animations in WebKit and ratios in media queries.
- Uglify.js --> updated to 1.3.3
- Stylus --> updated to 0.28.2
- JSLint --> updated to the 27 July 2012 build.
- JSHint --> updated to the 30 July 2012 build. (New "camelcase" and "worker" options)
- Sass --> updated to 3.1.20. (Which is like 3.2, if you squint.)
- Jade --> updated to 0.27.0. (Because TJ hates numbers larger than 1.)
Version 1.2.2 (6502)
27 June 2012
- FIXED: some users experiencing crashes should find that this release fixes those problems. Hopefully, anyway. I can't get the app to crash on my machine, so trying to fix this issue is tough.
- FIXED: an issue where a rename operation on a project folder would not be detected until the project had been refreshed at least one time after adding it.
- FIXED: a bug where canceling a project-adding operation would prevent you from adding new projects until restarting the app.
- FIXED: the registration window will no longer show part of a serial number for new users.
- FIXED: the trial banner no longer collides with the search box when the app enters fullscreen.
- ADDED: more retina graphics.
- You should probably get used to seeing this update screen; there's a ton of great stuff coming in the next few months.
Version 1.2.1 (6461)
20 June 2012
- Fixed an issue that prevented folks from switching to an external Compass compiler.
- Fixed an issue with external compilers installed through RVM.
- Added support for OilyPNG, which should speed up Compass compiling for people that use Compass's sprites feature.
Version 1.2 (6449)
18 June 2012
- NEW: By popular demand, full support for standard CSS files!
- NEW: You can now tell CodeKit to use external compilers. (The 87,231 people that emailed me about Sass 3.2 beta support should be happy.) See the Preferences window to do it. Keep in mind that if you switch to an external compiler, you're responsible for making sure it and all its dependencies are installed correctly!
- NEW: Vastly refined look and feel in the main window. Smaller, cleaner icons. Output paths now show only on selected rows. (With animation, of course, because this is not a bloody Windows app.)
- FIXED: The inbred cousin of the crashing bug that was fixed in the last update is now fixed. For real this time. CodeKit should now be *rock* solid.
- CHANGED: The output paths pane in the preferences window has been consolidated into the Languages pane.
- CHANGED: Compass projects will now show local imports in the inspector.
- CHANGED: Compass projects now intelligently set output paths on files based on your settings in the Compass config file within your project.
- ADDED: About 50% of the app's graphics are now Retina-ready. If you email me to ask when the other 50% will be finished, I will literally throw your Macbook Pro With Retina Display at your face.
- FIXED: Actions that require the "drawer view" will no longer fail if you're on the Log tab instead of the Files tab when you invoke them.
- FIXED: Issue where a missing, optimized image file showed a "remove" button over top of the green checkmark.
- CHANGED: Minor tweaks to the UI all over the place.
- Updated components:
- Node.js --> 0.6.19. (Much faster compiling!)
- Sass --> 3.1.19
- Jade --> 0.26.1
- Uglify.js --> 1.3.1
- Stylus --> 0.27.1
- CoffeeScript --> 1.3.3
- Bless.js --> 3.0.0
- JSLint --> 9 May 2012 version
Version 1.1.4 (6204)
17 May 2012
- FIXED: Issue that produced crashes when running on OS 10.7.4
- FIXED: JSHint should no longer return "bad option" messages when using project settings to specify flags.
- FIXED: A bug that could produce random crashes. (Finally got the bastard!)
- Updated Sass to 3.1.18
- Updated Jade to 0.26.0
- Updated Haml to 3.1.6
- Updated Stylus to 0.27.0
- Updated JSHint to the 10 May 2012 release
- Procrastinated: the last two projects separating me from a master's degree.
Version 1.1.3 (6166)
25 April 2012
- FIXED: An issue where, for some users, switching panes in the project settings area caused a hang.
- FIXED: Jade no longer minifies HTML output if you select the "indented" output style.
- FIXED: A bug in BDAlias that could produce a crash.
- New graphics by Matt Bainton
- Other info: For the next four weeks or so I'm concentrating on finishing grad school. After that, I will get back to adding new features to CodeKit. What's in store will rock your world.
Version 1.1.2 (6149)
20 April 2012
- REVERTED: The change in build 6143 that addressed lingering missing files has produced crashes for users of macVim and intelliJ editors. I woke up to 92 emails telling me so this morning. As such, this build removes the change so that these users are up and running again.
- If you're not seeing crashes, you can safely skip this update.
Version 1.1.1 (6145)
19 April 2012
- Fixed: a few people using Espresso reported that CodeKit failed to notice any changes to files after the first save. This build fixes that issue.
- Sparkle updates are awesome, no?
- And just think... if CodeKit had been on the Mac App Store, you wouldn't have gotten this update for a week. Bryan: 1 Apple: 0
Version 1.1 (6143)
19 April 2012
- GOLD — CodeKit is now on sale!
- New: Sparkle updates
- New: Icons for non-common file types (Sass, Less, Jade, CoffeeScript, Haml and Stylus)
- New: The engine that watches for file changes has been replaced with a new, faster, better version that I wrote myself. Speed increases all around.
- New: Keyboard shortcuts. Cmd+R to refresh. Cmd+1, Cmd+2 to switch tabs.
- Fixed: Deleting a file and then creating a new one with the same name will now automatically clear the "missing" file line in the app if it exists.
- Improved: Exception-handling added to the bridge that communicates between CodeKit and browsers. Problems in this bridge should no longer crash the app.
- Updated Stylus to 0.25.0
- Updated CoffeeScript to 1.3.1
- Updated JSHint and JSLint to the latest releases. JSLint now offers the "stupid" flag. Don't ask me what that means; the documentation on the JSLint site literally says: "Tolerate stupidity."
- Updated Jade to 0.25.0
- Updated Uglify.js to 1.2.6
- Updating to this version will clear your project info from the app, but that's the last time!
- Thanks for your support!
28 March 2012
- What? You want more information? The "bugfixes" line isn't doing it for you?
- Some users have seen crashes resulting from a memory exception. The trouble is: the memory exception appears to be in Apple's private frameworks. I have discussed the issue with Apple engineers and this release includes some behind-the-scenes changes that are an attempt to solve this problem.
- I have a "zero-crashes" policy. When I take CodeKit out of beta, I want it to be absolutely rock solid. Sorry in advance if you're one of the users who's seen the app crash, but rest assured: it'll get fixed.
- Updating to this version will NOT clear your project info from the app.
21 March 2012
- Resolves a crash that may occur if you use the "Remove" command in the projects contextual menu.
- Upgrading to this build will NOT clear your projects from the app if you've already installed Beta 10.
21 March 2012
- Browser refreshes are now limited to one every two seconds. Previously, if you compiled many files at once or saved the file you're working on more often, CodeKit would repeatedly instruct browsers to reload many times in one second, which produced hangs in Chrome. This should resolve that.
- External stylesheets are no longer reloaded. If you have a stylesheet in your page's HEAD tag that is NOT local to the project (such as a TypeKit stylesheet hosted on fonts.com), CodeKit will no longer reload that stylesheet. Again, this should solve some hangs.
- NEW: This build includes a crash reporter that you can use to notify me about any crashes.
- NOTE 1: The new browser refreshing time limit means that if you select a bunch of files and compile them all at once (using the compile all button), the browser will refresh after the first file is done compiling. The remaining files may not be done compiling at that point, which means the browser refresh won't capture those changes. I am working on a fix for this now that browser refreshing has a limit. In the meantime, you should avoid compiling multiple files at once AND you should avoid compiling a single file more than once every two seconds.
- NOTE B: If you have scripts that are injecting elements into your page's HEAD element, be aware that this may conflict with the script that CodeKit uses to inject new CSS. If you experience issues, please try commenting-out the script that is injecting things.
- NOTE 87 (for those of you keeping track at home): I'm working hard to resolve the issues folks are seeing with browser refreshes. If you still have problems after this update, please send me an email: bryan at incident 57 dot com. We'll get it working for everyone except duke fans, I promise.
- AWESOME NEWS: Upgrading to this build will NOT clear your projects from the app if you've already installed Beta 10.
Beta 10 (5943)
19 March 2012
- NEW: Project Settings. It's now dead simple to keep projects synced across multiple machines. It's also now possible to set different default settings for individual projects. See the help page for a full walkthrough BEFORE you use this feature. It's magical and awesome, but you need to understand what the magic is doing for you before you rely on it!
- NEW: You can now "turn off" projects by unchecking them in the list. This stops CodeKit from watching everything in a project. (Use it before doing massive Git or Svn actions.)
- NEW: You can now specify custom global variables for JSHint and JSLint and set them as read-only or read-write.
- CHANGED: Browser reloading is now *massively* more efficient. It also now works with
file:// urls and supports Google Chrome Canary. Plus, reloading now happens off the main thread, so CodeKit will never hang or slow down while reloads process. AppleScript has been removed from the equation as well. (You read that right: not only am I injecting changes in browsers WITHOUT AppleScript OR a plugin OR requiring you to add a script to your pages... I'm doing it off the main thread.)
- NEW: You can now set custom filenames and extensions for output file paths. You can even do this on multiple files at once by using a wildcard character. Select the files, right-click and choose "Set Output path".
- NEW: You can now decide what file extensions CodeKit treats as generic webpages. This allows you to have the app watch pages with weird extensions (e.g. CakePHP's *.ctp files) and reload browsers when they change. See the preferences window.
- NEW: You can now set the indentation level for Uglify.js (this only applies if you enable the "beautify" flag on Uglify).
- I've optimized many, many lines of code. The results are a 64.8% decrease in the time it takes to add or refresh a project. This is especially helpful for massive projects.
- Less updated to 1.3.0 --- brings support for "strict" imports
- Compass updated to 0.12.1
- Stylus updated to 0.24.0
- JSLint & JSHint updated
- Eliminated jerkiness in several animations and resolved an issue where the scope selection bar did not draw correctly when the app first starts. Everything should be buttery-smooth now.
- FIXED: crash when attempting to optimize a malformed image file
- CHANGED: the log is now limited to 50 entries in order to keep the app's memory footprint lower. Old entries are removed automatically.
- CHANGED: right-clicking in the projects list is much improved.
- CHANGED: choosing "Use Compass on this project" now gives you the option to install Compass if it's not already added to the project.
- CodeKit is now signed with my Apple Developer ID, making it GateKeeper-compliant on OS 10.8 Mountain Lion.
- This is the final Beta of CodeKit. The app is going gold after a few more tweaks and optimizations.
- IF YOU ENCOUNTER ANY CRASHES, please email the log from ~/Logs/CrashReporter to bryan at incident 57 dot com. Please also include info about how you were using the app when it died.
- Hotfix: Patched to 5943 to resolve an issue where drag-and-dropped import links for JS and COFFEE files were not recreated correctly when adding a project with a configuration file. ONE day I will release an update that doesn't immediately reveal a bug.
Beta 9 (5369)
17 February 2012
- NEW: "live" browser refreshing. Whenever CodeKit changes a CSS file, your browser will now refresh without reloading the entire page. My thanks to live.js for making that possible. There are no browser extensions to install and no scripts to add to your pages. Note: this feature may not work on really complex sites just yet. See the note on the help page and let me know if you have trouble with it. Also, CodeKit can't reload file:// urls, so use MAMP to preview your sites!
- NEW: Jade is fully supported. It all just works, including filters for Less, Stylus, Markdown, etc.
- NEW: Completely overhauled the automatic output path settings. You can now specify default output paths for each applicable language. You can also now set output paths by replacing all instances of one path component (e.g. "less") with another ("css").
- NEW: System-wide Quick Look support is now included for Haml, Less, Sass, Scss, Stylus, CoffeeScript and Jade files. No more useless icons when you use Quick Look!
- NEW: Auto-update checking! I *highly* recommend that you leave it enabled, as CodeKit will see frequent updates.
- NEW: Growl has been updated to 1.3. You will now see notifications even if you don't have Growl installed. These can be turned off in the preferences, but they are pretty cool.
- FIXED: A bug that prevented certain import statements from being recognized correctly in SASS and STYLUS files.
- FIXED: A bug that could, in rare cases, cause a crash during the refresh sequence.
- CHANGED: If you have a file with
@codekit-prepend statements and you add a new one in the middle, it will now show up in the correct spot in CodeKit. (Previously, it would always be added to the end of the imports list, regardless of where the statement was added.)
- CHANGED: For JS and Coffee files, you can no longer drag to reorder import links that you create with statements in the files. You can only drag to reorder links that you created via drag-drop within CodeKit. (This is so that the order in the table always matches the order of the statements in the file itself.)
- Optimized the import-linking algorithm. When you add a project, CodeKit now links imports about 10-15 times faster.
- Updated Bless.js to version 2.2.1
- Updated Sass to version 3.1.15
- Implemented "Firebug" and "Line Numbers" options for Stylus files. Also fixed a bug that showed SASS output styles for Stylus files. Whoops.
- Optimized drawing code to eliminate subtle UI-jerkiness introduced in Beta 7.
- Updated the import linking routines to respect the Stylus convention regarding "index.styl" files.
- Note: If you previously set custom default output paths, those settings will be discarded in this update. You'll want to set them again before adding new projects to the app.
- Prayer: I changed a metric ton of code in this update. Here's hoping I didn't seriously screw anything up.
- Hotfix: Updated to 5380. Resolves an issue where Less framework files did not appear in the imported files tableView. Also modifies live reloading to apply to CSS changes only. Changes to scripts now reload the whole page. Finally, adds error-checking to handle null content types in stylesheet tags.
Beta 8 (5158)
26 January 2012
- If you're thinking, "Wow, checking files is gonna be really slow now," verily I say unto thee: "Nay." It chews through 30,000 lines in about two seconds. It finds 804 errors in jQuery instan-freakin-taneously."
- NEW: When seen in the UI, syntax errors no longer look like they were beaten repeatedly with a DOS 5.1 manual (Translation: less ugly.)
- NEW: the auto-hide and auto-ignore options in the preferences window have been replaced by a "skipped items" option. CodeKit will completely skip all folders, files and extensions (specified like "*.js") when scanning for new items. This means they won't count against the 10,000 file limit for those of you with Facebook-sized projects.
- NEW: You can now specify the default indentation level to use for JSHint and JSLint.
- NEW: Compass file inspector introduced so you can now un-ignore Compass files. Huzzah.
- CHANGED: The result log has been tightened up and visually improved for all messages. Syntax errors now present with a contrasting color scheme so it's easy to scroll past them to find regular log messages.
- Fixed: CodeKit now respects the SASS convention of optional underscores on import declarations. If you write
@import "base", the app will first look for "base.sass" and "base.scss" in the specified location. If it does not find one, it will look for "_base.sass" and "_base.scss". If neither of those files exist, it will then check any Framework folders.
- Fixed: Clicking the X in the search bar will no longer launch the app into full screen mode.
- Fixed: Two possible memory leaks related to Applescript support
- Added: Growl notifications for Compass actions
- Updated Less.js components to version 1.2.1+. Fixes several bugs, including an issue where error messages may display as "cannot call method 'charAt' of undefined".
- Updated Uglify.js to version 1.2.5
- Hotfix: Updated to 5157 to resolve crash on image optimization. Whoops.
- Hotfix: Updated to 5158 to resolve the same image crash on JPEG optimization. The last hotfix only fixed PNG optimization. The people responsible for the last hotfix have been shot.
- Added: More cowbell.
Beta 7 (4742)
12 January 2012
- NEW: Compass is now fully integrated. It just works, and it's awesome. See the help page for full documentation on using Compass with CodeKit.
- Updated LESS to 1.2.0
- Updated Stylus to 0.22.4
- Updated Uglify.js to 1.2.4
- Updated JSHint
- Updated JSLint
- NEW: The colored buttons now have shadows. And if you're thinking, "Huh, that's a weird thing to include in release notes," I offer this retort: I spent 9 freakin' hours trying ALL KINDS of button effects on these things, so it goes in the release notes.
- Fixed: When you unhide files, if they were previously not-ignored, they will be so again.
- Hotfix: Patched to 4742 (from 4739) to resolve a gem issue in a Compass dependency.
Beta 6 (4136)
23 December 2011
- NEW: you can now customize how CodeKit determines which tabs to auto-reload by providing specific strings to search for in each tab's URL. See the preferences window.
- NEW: Output from Less files can now be compressed with YUI for maximum size reduction. Simply change the output style.
- NEW: if you rename a file from X.less to X.sass (or any other combination of formats), CodeKit will now change the file's type appropriately and use your default settings for the new file.
- Less.js components updated to 1.1.6. Brings full support for @media queries & other bug fixes.
- Updated SASS components to 3.1.12
- Updated HAML components to 3.1.4
- Updated CoffeeScript components to 1.2.0
- Updated Uglify.js components to 1.2.2. (Adds support for the new --lift-vars functionality.)
- Fixed: Comments added between sequential CoffeeScript files in an import chain will no longer stop that chain from compiling in certain circumstances.
- Fixed: Text in the log window is no longer cut off for long error messages.
- Changed: New icon for "page" files.
- Fixed: When running the app from the menubar instead of the dock, an "exit fullscreen" button now appears in the top right corner when you enter fullscreen mode. Previously, the only way out was to quit the app!
- Fixed: When the app first started, it was possible to drag the left-hand side to reveal a grey area where the inspector usually sits. This is no longer possible.
- Note: I'm still testing Compass under CodeKit, so I haven't turned on that functionality yet. It'll be in the next build. In the meantime, this build brings a ton of fixes that I didn't want to hold back while testing Compass.
Beta 5 (4073)
20 December 2011
- New interim build to extend beta expiration until 20 January 2012.
- Testing latest changes & additions; should have a new build with those out in a few days.
Beta 4 (4072)
20 November 2011
- Haml is now fully supported.
- New, square icons. Because I had to create a Haml one anyway and I didn't like the rounded corners.
- Streamlined the files table. If a file has an associated output (target) file, it won't show the output path anymore.
- Retooled the Languages tab of the preferences window because, well, there were too many preferences.
- If you select a single image, you'll find the dimensions in the inspector. Who says I don't do feature requests!?
- CoffeeScript components have been updated. Resolves several bugs.
- Fix: CoffeeScript files will no longer attempt to compile as a folder instead of a file.
- Fix: No more visual glitches involving filenames when dragging to create import links.
- WARNING: This build will clear all previous data from older builds. There are some low-level changes that necessitate this. Fortunately, it'll only happen during the beta. Once CodeKit goes final, you'll always be able to upgrade without clearing the app's data.
Beta 3 (4011)
17 November 2011
- Updated the Less.js engine to 1.1.5. This resolves many bugs, including one where CSS Keyframe animations would fail using the % syntax.
- CodeKit will now automatically refresh WebKit Nightlies as well as the production version of Safari.
- Text encoding for @import linking has been changed to UTF-8 from ASCII. All your files should be UTF-8 encoded!
- Pressing command+a while something is selected in the files table will now select all rows. Great for selecting all images!
- Text in the overlay badge (when you drag something onto the window) is now centered.
- Fixed two edge-case scenarios where CodeKit might crash while attempting to log an error.
Beta 2 (3991)
11 November 2011
- You can now choose to auto-reload either the active tab/window in each browser OR all tabs/windows where the URL contains the text "localhost". The latter setting is now the default.
- Added JPEG optimization support using the jpegoptim library.
- Updated JSHint and JSLint to the very latest versions.
- Fix: the inspector view will now immediately reload after you optimize an image to show the results.
- Fix: you can no longer select files in the "choose output folder" dialog.
- Refined how CodeKit looks at file-deleted notifications in an attempt to support Git branch switching gracefully. CodeKit should no longer crash when you switch branches. If it does, please contact me: bryan at incident 57 dot com. Note: if you switch to a branch with new/different files, you will need to click the refresh button in CodeKit in order to add those files to the app.
- Tweaked the about window design.
Beta 1 (3964)
5 November 2011
- This is the first public beta release of CodeKit.
- This version expires on 20 December 2011.
- My thanks to all the people who helped test CodeKit back when it was capable of becoming sentient and eating your grandmother. (An especially big thanks to Paul Young and Martin Koistinen!)