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.6.0
You can update your dependencies of the SAP Cloud SDK for Java to version 3.6.0 and consume the new version from
Maven Central.
Retries for resilience
Several patterns can contribute to making an application more resilient. Some, like circuit breakers and bulkheads have always been supported by the resilience capabilities of the SDK, which since version 3 are provided via the
ResilienceDecorator
.
Version 3.6.0 now additionally offers the option to configure retries as part of
ResilienceConfiguration
via a
RetryConfiguration
. Retries allow for re-attempting a request in case it fails a limited number of times. The configuration offers to specify the maximum amount of attempts, a wait duration between attempts and a predicate that determines, whether or not a failure should be retried.
Further improvements
The
OData VDM generator Maven plugin (
odata-generator-maven-plugin
) can now mark generated sources for compilation. For this feature just add the property
<compileScope>...</compileScope>
with the compilation phase as value to your configuration. Valid values are
COMPILE
,
TEST_COMPILE
, and
NONE
, representing the different compile phases or no automatic compilation at all. The default value (for backwards compatibility reasons) is
NONE
.
Version 3.6.0 fixes an issue where the response of function imports was not correctly handled by the OData VDM before. The response is now parsed according to the OData specification. The deviating behavior of OData services in some SAP solutions is still supported as in previous versions.
We have fixed an issue regarding timeouts in the execution of resilient requests. The issue prevented threads from being terminated when a timeout occurs.
We have also updated several dependencies. This and several further improvements are listed in the
full release notes.
Java Libraries: Release Highlights 2.22.1
We have also released the SDK for Java in a new maintenance version 2.22.1. Everyone who did not yet
migrate to version 3 of the SDK for Java can consume that version from
Maven Central.
For a complete view on what has changed, take a look at the
full release notes.
JavaScript Libraries: Release Highlights 1.11.3
The
JavaScript libraries of the SAP Cloud SDK are now available in version 1.11.3.
The new version mainly updates the
OData client generator and therein introduces the features for batch requests and CSN files that have been available for the pre-generated OData client libraries for SAP S/4HANA Cloud since
version 1.11.2.
That means, when you use the generator in version 1.11.3, the created client will support batch requests (provided the service supports it).
Furthermore, the generator will create
Core Data Services Schema Notation (CSN) files based on the metadata of each OData service if you pass the command line parameter
--generateCSN=true
. The default value is false.
CSN files are used in
SAP Cloud Application Programming Model (CAP) when modeling a business domain using CDS. Having them generated by the generator of the SAP Cloud SDK allows immediately leveraging the entity types of the OData service in CDS models.
As usual, the
full release notes contain a list of all improvements in this release.
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.6.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.6.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.6.0.
Of course, you can also generate a new project that uses version 3.6.0 from the start by running the Maven archetypes for
Neo or
Cloud Foundry with
-DarchetypeVersion=3.6.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
.