first batch of backports from master, using diff approach
second batch of changes from diff merging
batch of diff-based changes applying editorial modifications from master to CR