Looks very sensible. We tend to not have a long running dev branch, and just cut features branches off master, similar to the 'how github uses github to build github' presentation [1].
Is anyone making squashing part of their workflow? We seem to prefer just plain merges with rebase.
[1] http://zachholman.com/talk/how-github-uses-github-to-build-g...