Merging latest into 2.5dev

Since 2.5dev is the staging point for potential breaking changes, syncing them now to keep changes easy to merge