Exclude backups from document::find by default
Avoid compiler security warning about format strings

The warning is about using ‘%n’ in format strings [-Wformat-security]
Delete constructor instead of making it private
Improve stability during quit

When we quit, objects with static storage are destroyed. Since the order is undefined, we basically cannot reference other objects in destructors, unless we own them or they are reference counted.

One case that seems to be an actual problem is the oak::process_t type — based on crash logs this often seems to be destroyed last, and it unregisters itself in its destructor, but using an object that it previously did not own (but obtained via a sort of factory function).
Use libdispatch for SCM status

Additionally the throttling has been improved. Previously we would delay a status fetch if it had been less than 3 seconds since the last request, but during this “penalty wait” more requests could still be submitted (in case of disk activity) and would be queued for later execution — now such requests are dropped.
Only fingerprint file system for hg

The problem with hg is that running ‘hg status’ may trigger fsevents, which would normally have us call ‘hg status’ again. To avoid this, we check if there actually are changes compared to the last time we ran the SCM driver. This has some overhead, as we need to scan the disk to produce the fingerprint.
Remove instance data from interface
Replace OakStatusBar with OFBHeaderView

Presently this is non-functional but removing the OakStatusBar.h dependency makes it easier to convert to ARC, so that’ll be the next step, before actually making OFBHeaderView functional.
ARC: Update OakFileBrowser framework
Switch to generated properties

Also remove implementation details from public header.
Proper delegate/datasource removal
Merge OFBView into main controller

Using an NSView subclass wasn’t justified.
Refactor OFBHeaderView
Omit recent items from file browser menu

This is a feature I have never used myself and it was somewhat limited by having the recent locations unique for each window.

If the feature should be revived it should be via a globally shared list of recent locations (and should persist across relaunch).
Do not track recent locations
Merge history controller into OakFileBrowser
Rename property (location → path)
Rename pushURL: → goToURL:

Also change showURL: calls into using goToURL: (when we know the URL is not a non-directory file URL that should be selected).
Refactor “reveal file” methods

Both methods are now based on selectURL:withParentURL: which contain the necessary checks (file already visible? parent actually valid?).
Improve file browser API

We now expose the root URL and allows mutating it.

We also provide the selectURL:withParentURL: method instead of the two showURL: and revealURL:.