See the differential revision for details about each change. Differential Revision: https://developer.blender.org/D15608