Favorites prefixed with ‘[DIR]’ show folders within

For example if you have all your projects under ~/Projects then you can do:

    mkdir -p ~/Library/Application\ Support/TextMate/Favorites
    cd ~/Library/Application\ Support/TextMate/Favorites
    ln -s ~/Projects "[DIR] My Projects"

This will then have all the folders inside ~/Projects show when you choose Open Favorites… (⇧⌘O).

Long-term it might be useful to store actual property lists in the favorites folder, akin to smart folders (i.e. describe a query for what to show) and/or allow descending into the folders shown in the ⇧⌘O window.
Download URL now taken from the GitHub response

Previously it was based on a hardcoded URL template. This also adds an extra check on the GitHub response, to see if we actually got a URL back.
Update URL for ninja and CxxTest bundles

These are now stored at the TextMate GitHub account.
Use Objective-C literals

This brings it in line with the rest of the source, which have embraced these.
Go to SCM Status is now a toggle

This is implemented by invoking “go back” if already showing an SCM URL. If there is no history (unlikely) then we instead “go up (parent)” which should take us to the root of the repository.
Add deselectAll: to OakFileBrowser

I feel that the better API would be to make the selectedURLs property r/w (instead of read-only), but that is more involved since there is the case of setting a selection while the file browser is still loading items.
Go to Current Document is now a toggle

This also works as a (quick) way to deselect all in the file browser (i.e. hit ⌃⌘R twice) which is useful when one wants to run commands on the entire project (e.g. Git → Show Uncommitted Changes).
Replace SetItemMark() with Cocoa code

Use of the (undocumented) NSMenuItemBullet was suggested by an Apple engineer and the consequences, if it is unavailable, are harmless.
Cleanup project settings

Just removing stuff that is no longer used.
Introduce test targets that always run

This means having a test file open (in TextMate) and using ⌘B, the test will always run, even if it has previously succeeded and none of the test’s dependencies have been updated.
Show error if failing to unlink old socket

This is in response to issue #183.
Find in Folder: ⌘1-n selects first match

Previously we would select the n’th file in the result list so one would have to then use arrow down to get to the first match of this file. Now we go directly to the first match in the file (unless the matches for the item is collapsed).
fixup! git: show modifications in upstream folders

A new ‘mixed’ state was introduced with no ‘to_s()’ support (used for debug output and the ‘scmls’ test executable).
Prune redundant items from SCM data source

For uncommitted items we no longer show folders if items from these folders are already shown.

For untracked items we only show the top-level (untracked) directory and not the items it contains.
Take bundle signing keys from source index

This makes it easier to allow third parties to add their bundle to our index. They will sign the bundle themselves and we’ll include their info (download URL and description) plus public key in the index.

The index (with the public keys) is itself signed and delivered over a secure connection (https), so there should be no way for a non-trusted person to add a public key to the index.
scmls: Show all but “none” status type
Represent theme colors as 4 doubles (RGBA)

This should be faster (and probably more precise) than the previous std::string based color manipulations.
Represent font size using a CGFloat

This applies to scoped font size settings and should be faster than the previous std::string based approach.
Let the user resize bundle editor columns
Fix trailing whitespace in text reformat

On a ^Q text reformat, trailing whitespaces were not removed. Typically
whitespace is typically considered undesirable.