Development branch is the current development and what the next version will be and master is always the latest stable release, pretty simple.
Yes version 4 brings some major changes, but that should not be an issue, if backwards compatibility is maintained. Backwards compatibility is my biggest concern, but otherwise I don't worry about the development branch stuff. If the new version is compatible with older projects, people can test it out or a while until the old stuff is finally removed.
In short, just use the latest stable release and if you are a developer you should be able to figure out by yourself what the development branch is.