Update 3.0.x release branch for 3.0.3
This PR cherry picks the changes from the following PRs onto the release/3.0.x branch to finalise the 3.0.3 release:
- #1578
- #1577
- #1566
- #1586
- #1587
- #1579
- #1575
- #1567
- #1563
- #1599
- #1559
- #1590
- #1542
- #1585
- #1576
- #1602
- #1600