Merge branch 1.5.x back into master

There have been so many changes to master after the release of 1.5.0.CR1 that potentially break backwards compatibility, that I decided to release 1.5.0.CR2 with those changes included.

Therefore, 1.6.0 release is cancelled for now. Features that were coming for that will land in 1.5.0.