Merging master back to unstable

Picking up latest `unstable` changes too.