Big commit. Look at the changelog.