How SAPUI5 and OpenUI5 versions are related
Sometimes questions arise how the code contained in SAPUI5 is related to the OpenUI5 code. High-level answers have been given elsewhere and are repeated right below, but there are details that have never really been explained. I’ll try to cover them in this blog post.
The following has been written before – one can generally say:
- the code in OpenUI5 is identical to SAPUI5 (this includes the entire core framework functionality and all the general and important control libraries – the OpenUI5 code developed at GitHub is used as central piece of SAPUI5)
- but SAPUI5 contains some additional control libraries (typically ones that are specific to SAP products or use-cases, in some cases due to organization reasons)
- and OpenUI5 is Open Source, while SAPUI5 is not (SAPUI5 is not something you can “buy”, though: it’s part of other SAP software/platforms, and a relatively small part of those, so you wouldn’t buy such a platform just to use the additional UI5 libraries)
If this already answered your questions: great, have a nice day!
But there are more technical details to this, particularly regarding version numbers and publishing dates, and whoever is interested in these details: please read on!
Which one is published earlier? SAPUI5 or OpenUI5?
OpenUI5 patches and releases are published on http://openui5.org and https://openui5.hana.ondemand.com by the UI5 development team, with no dependencies to other teams or software components, so this usually happens within hours (or rarely a few days) after the release build has been created. SAPUI5 on the other hand is currently not available as a separate download, but part of the mentioned SAP platforms like the SAP HANA Cloud Platform and the NetWeaver ABAP UI Addon. Those have their own release schedules, which introduce some delay. As an example, the HCP version at https://sapui5.hana.ondemand.com is usually updated every two weeks, so 1-2 weeks is a typical delay for a patch release there.
In addition, SAP has established a testing/validation process to ensure only high-quality software is released to customers, which adds some delay after a new feature release is built. This means that even when a new release like 1.36 is created internally, it takes several weeks until it is available to customers. In OpenUI5 we also want to ship good quality, so we also wait for this official “go!” and publish a new stable release in sync with (usually at the same day as) the first SAPUI5 shipment for this release. This is why we e.g. published 1.36.5 as first “stable” 1.36 version. In contrast to SAPUI5, however, there are additional preview releases published before this date: those are not guaranteed to be stable but can be used for regression/compatibility testing and for trying new features before they are available in a stable release. The complete list of OpenUI5 versions also offers all preview versions as soon as they are built.
So as a summary, new stable releases of UI5 are published as OpenUI5 the same day where also SAPUI5 is delivered in one or another SAP product, but other products may get it later, due to their release schedule, and patch releases of OpenUI5 can be published right away, while the various delivery channels of SAPUI5 may add some delay.
Are the same versions of SAPUI5 and OpenUI5 really the same?
Yes and no. 😛
Slightly longer but still pretty short answer:
Yes, patch builds for both are done at the same time from the same codeline, so the common code is identical.
But no: these patch builds with identical content don’t always get the same version numbers.
There is something seemingly quirky about version numbers: SAPUI5 does have two version numbers, as can be seen e.g. in the Ctrl-Alt-Shift-P support popup:
These two version numbers (“SAPUI5 Version” and “Core Version”) are always roughly the same, but sometimes out of sync by one or two patch revisions. In case of SAPUI5 1.28.31, the core version is behind by one.
This is caused by libraries created by either the core development teams (“Core Version”) or by other contributing teams (“SAPUI5 Version”) requiring additional patches, when other libraries don’t need to be updated. Those libraries with no change get no version increase. This can be seen in more variety in the Ctrl-Alt-Shift-S popup when you scroll down to the “Libraries” section. You see a range of different sub-versions of 1.28:
The “SAPUI5 Version” is the one applicable for the entire package, the ”Core version” only for the main libraries developed by the core teams of UI5, like sap.ui.core, sap.m, sap.ui.commons etc. – these are more or less the libraries contained in OpenUI5. The version number used for OpenUI5 always equals the “Core Version”, as you can verify by looking at https://openui5.hana.ondemand.com/1.28.30 in comparison to https://sapui5.hana.ondemand.com/1.28.31, which was depicted above:
(Yes, this says “SAPUI5”, but it’s a screenshot from the OpenUI5 Ctrl-Alt-Shift-P popup.)
You see: the OpenUI5 version 1.28.30 was built at the same day – 7th of March 2016 – as SAPUI5 1.28.31 and of course from the same codeline. But the latter has core version 1.28.30 and this is (apart from the build date) what lets you relate them to each other.
This means SAPUI5 1.28.31 is (in all its core parts) identical to OpenUI5 1.28.30.
This also means that SAPUI5 1.28.30 and OpenUI5 1.28.30 do not have an identical core, as they refer to different patches, even though they happen to have the same version number. But this is purely a numbering thing and should not be confused with diverging codelines or changes being applied in either one first.
Alright… this blog post was about a relatively tiny technical detail, but one that has led to confusion in the past, so I thought it’s not a bad idea to write it down and share…