We have released new versions of the
SAP Cloud SDK. In detail, the following components are now available in new versions:
In this blog post, we will walk you through the highlights of these releases. For a complete overview, visit our
release notes for the Java libraries,
for the JavaScript libraries, and
for the continuous delivery toolkit. The release notes also include the change log of all our releases so far.
At the end of the article, you will find a set of instructions on how to update to the new versions.
Java Libraries: Release Highlights 3.8.0
You can update your dependencies of the SAP Cloud SDK for Java to version 3.8.0 and consume the new version from
Maven Central.
Update of OData VDM to SAP S/4HANA Cloud 1911
Recently, SAP released
SAP S/4HANA Cloud 1911.
With version 3.8.0 (and 2.23.0), the SAP Cloud SDK updates the
virtual data model (VDM) for OData services of SAP S/4HANA Cloud to support all newly released or updated OData services of an SAP S/4HANA Cloud 1911 system. As explained in the
blog post about the VDM itself, the VDM greatly simplifies reading and writing data from an SAP S/4HANA system in your Java code.
You can use the SDK to connect to all OData services listed in the
SAP API Business Hub for SAP S/4HANA Cloud. As usual, the Java representations of all OData services are available from the package
com.sap.cloud.sdk.s4hana.datamodel.odata.services
.
In this release of SAP S/4HANA Cloud, there was no change to the
message virtual data model (VDM) that allows to consume messages from SAP S/4HANA Cloud in a type-safe manner.
Further improvements
Several further improvements are listed in the
full release notes.
Java Libraries: Release Highlights 2.23.0
We have also released the SDK for Java in a new maintenance version 2.23.0. Everyone who did not yet
migrate to version 3 of the SDK for Java can consume that version from
Maven Central.
In case you have not yet upgraded your project to version 3 of the SDK for Java, we have updated the OData VDM in version 2.23.0 like we did for version 3.8.0. Still, we encourage everyone to
take the small step of switching to version 3.
For a complete view on what has changed, take a look at the
full release notes.
JavaScript Libraries: Release Highlights 1.13.1
The
JavaScript libraries of the SAP Cloud SDK are now available in version 1.13.1.
Update of OData VDM to SAP S/4HANA Cloud 1911
Like in the SDK for Java, the
OData VDM for easily accessing OData services with the SDK for JavaScript has also been updated to the recently released version
SAP S/4HANA Cloud 1911. You can find the modules representing the latest state of SAP S/4HANA Cloud APIs as modules named
@Sap/cloud-sdk-vdm-*
in the
global list of SDK modules.
Usage analytics
At the SAP Cloud SDK team, we are always highly interested in your feedback, for which we have a number of feedback channels such as
Stack Overflow or
answers.sap.com. In addition to this explicit feedback, actual usage data is another important source of information for improving any product. When deciding which features to develop, where to improve, and where to focus our efforts, it helps knowing how you are using our SDK for JavaScript. That is why we now start analyzing the usage of the JavaScript libraries of the SDK by collecting anonymous, non-sensitive telemetry data
at installation and compile time. The data collection only happens during the npm build process and does not affect your running application in any way. We do not collect any data while the application is running nor do we inspect or transmit your source code.
For more details,
refer to the detailed explanation. This document also explains how to
opt-in and enable the usage analytics, which are disabled by default.
Technically, the data is being collected by a npm module called
@sap/cloud-sdk-analytics
. We would appreciate if you support us in our efforts to improve the SDK and enable the transmission of selected, non-sensitive data by
opting in.
Further improvements
The
OData client generator now consistently uses the entity set name instead of the entity type name for determining the generated entity class name. Also, we have fixed an issue where the number of generated entities with default name pattern was unintentionally limited to 10.
Version 1.13.1 also fixes a bug where the location ID of a destination for on-premise connectivity (via Cloud Connector) was ignored when trying to fetch CSRF tokens, leading to failing requests.
We have fixed a bug that led to a failing lookup of
test destination files on windows systems related to a hard-coded
/
.
As usual, the
full release notes contain a list of all improvements in this release.
We have also released version v26 of our
out-of-the-box continuous delivery offering consisting of a ready-made Jenkins server and a complete delivery toolkit.
New docker images for cx-server
With cx-server, we provide a convenient way to launch and manage a Jenkins server suited for running the pipeline of the SAP Cloud SDK for continuous delivery.
The container images used for cx-server have moved to a
new GitHub repository and to the
organization ppiper
on dockerhub.
cx-server
will automatically offer you to switch to the new images and perform the necessary steps. The switch is highly recommended, because the old images are no longer maintained.
Easier editing of pipeline configuration
We have made it much easier to edit the
configuration of the pipeline in an editor that supports validation of YAML files based on JSON schema. Starting with version v26, we provide a
JSON schema for the pipeline configuration in the central
JSON schema store. This makes editing the
pipeline_config.yml
file a lot easier, as you get code completion and validation.
Further improvements
The pipeline now supports running a
SonarQube scan for code inspection. See the
documentation for information on how to configure this scan.
You can now share pipeline configuration setting between projects that are composed of multiple repositories. For details please refer to
the documentation.
It is now possible to exclude specific URLs (not just destination names) from being checked against the whitelisted APIs of SAP S/4HANA Cloud.
Version v26 introduces the option to configure Jacoco code coverage thresholds more strict than the default. For details please refer to the
documentation.
The pipeline only supports running in multi-branch Jenkins jobs, as described in the
getting started guide. To make corresponding errors more transparent, we now give a warning when the pipeline is running as a non-multibranch job.
Also, v26 fails early if an application name on Cloud Foundry contains an underscore, as this is not supported on Cloud Foundry.
You can find further fixes and improvements in the
complete release notes.
How to Update
Java libraries
To update the version of the SAP Cloud SDK Java libraries used in an existing project, proceed as follows:
- Open the pom.xml file in the root folder of your project.
- Locate the dependency management section and therein the
sdk-bom
dependency.
- Update the version of that dependency to
3.8.0
.
With this, you are already done thanks to the
"bill of material" (BOM) approach. Your dependency should look like this:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.sap.cloud.sdk</groupId>
<artifactId>sdk-bom</artifactId>
<version>3.8.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
<!-- possibly further managed dependencies ... -->
</dependencyManagement>
If you update from a version prior to 3.0.0, have a look at
our migration guide.
If you are using the SAP Cloud SDK in a project of the
SAP Cloud Application Programming Model, replace
sdk-bom
with
sdk-modules-bom
to only update the version of SDK modules, not further dependencies.
You can now recompile your project (be aware of the
compatibility notes, though) and leverage the new features of the SAP Cloud SDK in version 3.8.0.
Of course, you can also generate a new project that uses version 3.8.0 from the start by running the Maven archetypes for
Neo or
Cloud Foundry with
-DarchetypeVersion=3.8.0
(or
RELEASE
).
JavaScript libraries
To update the version of the SAP Cloud SDK JavaScript libraries used in an existing project, use the command
npm update
in the root folder of your module. Note that this will also update other modules, unless you explicitly specify which packages to update. If you want to check beforehand what will change, use
npm outdated
.
Continuous Delivery Toolkit
If you are using the pipeline with a fixed version (as recommended since v7), update the continuous delivery toolkit with the following command, that you run on the server hosting the cx-server:
./cx-server update image