Merge to master.

There's conflicts so I've resolved them separately and when I push them, this PR will close.