Update 3.0.x release branch for 3.0.5
This PR cherry picks the changes from the following PRs onto the release/3.0.x branch to finalise the 3.0.5 release:
- #1613
- #1608
- #1610
- #1611
- #1622
- #1621
- #1617
- #1619
- #1628
This PR cherry picks the changes from the following PRs onto the release/3.0.x branch to finalise the 3.0.5 release: