Why This Upgrade Deserves a Checklist
Moving from SAPUI5 1.120 to 1.144 spans two years of releases. That's a lot of deprecations, a new default theme horizon, and several APIs that quietly changed behavior. A checklist beats a "just bump the version and see what breaks" approach every time.
This is a practical upgrade path, not a feature tour. Work through it in order and you'll catch the breaking changes before your users do.
Step 1: Inventory and Baseline
- Record the exact current version (check
sap.ui.versionin the console, not just what's in your bootstrap). - Run the app with the support assistant (Ctrl+Shift+Alt+S) on 1.120 and export the findings as your baseline.
- List every deprecated API you use — the support assistant's "deprecated API" rules flag most of them.
- Note custom CSS overrides and any
jQuery.sapmodule usage; both are upgrade friction points.
Fix nothing yet. The baseline run tells you which problems are pre-existing and which the upgrade introduces.
Step 2: Clear the Deprecated APIs First
Still on 1.120, replace deprecated calls with their supported successors. The big ones in this range: sap.ui.core.IconPool usages that moved, old jQuery.sap.* helpers (use sap/base/ modules), and sap.m controls whose aggregation signatures changed.
Each replacement is a small, testable commit on the old version. If something regresses, you know it's your change, not the upgrade.
Step 3: Bump in Stages, Not One Leap
Jump straight from 1.120 to 1.144 and a broken screen gives you two years of release notes to search. Instead, bump to a midpoint (1.130 or so), test, then go to 1.144.
<!-- index.html bootstrap -->
<script id="sap-ui-bootstrap"
src="https://sdk.openui5.org/1.130.0/resources/sap-ui-core.js"
data-sap-ui-theme="sap_horizon"
data-sap-ui-async="true"
data-sap-ui-compatVersion="edge">
</script>
Keep data-sap-ui-compatVersion="edge" during testing — it surfaces behavior that will change, rather than silently applying legacy fallbacks. Remove it only after everything passes.
Two smaller jumps with a test pass between them debug faster than one big jump. The midpoint version is your bisect point.
Step 4: Test the Usual Suspects
- Theming: horizon variants replaced belize-era defaults. Custom CSS referencing old theme parameters will look wrong — audit your stylesheets.
- Smart controls: annotation interpretation tightened across these versions; Smart Tables may render columns differently. Verify each one.
- OData V4: binding and batch behavior refinements can change request timing. Watch network traces on save flows.
- Accessibility: newer versions enforce stricter ARIA output. Run an axe scan on key screens.
- Performance: compare startup time before/after with the UI5 diagnostics. Newer versions are usually faster, but async loading misconfigurations show up here.
Step 5: Lock It In
- Pin the exact new version in your bootstrap and deployment descriptor — no floating
latest. - Re-run the support assistant on 1.144 and diff against the baseline. Every new finding gets a ticket or a fix.
- Update your
manifest.jsonminUI5Versionto the version you actually tested. - Document the staged versions you tested so the next upgrade starts from a known map.
Final Take
Baseline, deprecate, stage the bump, test the suspects, lock the version. Five steps, and the 1.120→1.144 jump becomes routine instead of a fire drill. The midpoint bisect alone saves most of the debugging pain.
What's the biggest version jump you've done in one go — and did it survive? Tell me in the comments.