Merge upstream
Integrates and tests everything back together