Start with supported runtime versions, migration notes and removed behavior. Search the release notes for the APIs your application uses before planning an upgrade.
Keep the upgrade in a focused branch and record the original version. Run meaningful tests and check deployment configuration, not only whether the build succeeds.