We have released new versions of the
SAP S/4HANA Cloud SDK, including the
first generally available release of the SDK for JavaScript. 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 2.13.3
You can update your dependencies of the SAP S/4HANA Cloud SDK for Java to version 2.13.3 and consume the new version from
Maven Central.
This is a maintenance release with the improvements and fixes listed in the
full release notes.
Additionally, we have published a
blog post on how to access any REST service with the help of the SAP S/4HANA Cloud SDK (and OpenAPI). An
accompanying step-by-step tutorial helps you put this into practice to easily consume REST services described using OpenAPI with the type-safety and convenience of the SAP S/4HANA Cloud SDK.
JavaScript Libraries: Release Highlights 1.0.0
The JavaScript libraries of the SAP S/4HANA Cloud SDK are now generally available, as we have published version 1.0.0. Please check out
the separate blog post about the initial release to learn more about the SDK for JavaScript, and study
our tutorial series to get started.
The
release notes contain a list of the major features in this first release.
We have also released version v17 of our
out-of-the-box continuous delivery offering consisting of a ready-made Jenkins server and a complete delivery toolkit.
Pipeline for JavaScript projects
Version v17 introduces the first version of the pipeline for Javascript projects, in line with the first release of the SDK for JavaScript. As
known from the pipeline for Java projects, this gives you out-of-the-box a complete continuous delivery pipeline. The pipeline builds, tests, and deploys code changes of a JavaScript application in continuous delivery mode. You do not have to write a single line of pipeline code to achieve true continuous delivery and benefit from all the best practices and quality checks that are codified in the pipeline. By adopting the pipeline, you transform your project towards DevOps best practices.
To get started, simply begin with one our our
project scaffolds (for
TypeScript or
JavaScript). They out-of-the-box include everything needed to run the continuous delivery pipeline on a Jenkins server. The only thing left to do is configuring the pipeline for your project (credentials for test systems, deployment targets) and connecting your source code repository to Jenkins.
As before, you can set up and manage the Jenkins build server using the tools provided by the continuous delivery toolkit, as explained in the
general tutorial. The approach to configuring the pipeline to your project remains the same as well.
We plan to explain the pipeline for JavaScript and related topics in more detail in an upcoming series of tutorials.
The first release of the pipeline for JavaScript does not yet include all features known from the pipeline for Java projects. For more information, please consult the
feature matrix (column NPM). You can start using the pipeline today, as the basic stages of the pipeline are available. Thanks to the auto-updating capabilities of the toolkit, you will automatically get further capabilities as we add them in the future.
Sidecar containers for integration tests
Integration tests have the goal to test the working-together of different components of a system. Depending on the nature of your application, this can include a database or other backend systems. For making integration tests reliable, it is good practice to start from a clean slate and do as much as reasonable locally. This can be done by starting backing systems required for integration tests as a container.
With version v17, we enable integration tests which in this manner rely on other systems that can be started as a local container. For this,you can now specify a sidecar image. The pipeline will start a container for this image before executing the integration test. For more details, consult the
documentation on how to configure this feature.
Further improvements
We have set the Chromium browser used during end-to-end tests to the older version 70 to mitigate issues with end-to-end tests.
You can find further fixes and improvements in the
complete release notes.
How to Update
Java libraries
To update the version of the SAP S/4HANA 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
2.13.3
.
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.s4hana</groupId>
<artifactId>sdk-bom</artifactId>
<version>2.13.3</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
<!-- possibly further managed dependencies ... -->
</dependencyManagement>
If you are using the SAP S/4HANA 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 S/4HANA Cloud SDK in version 2.13.3.
Of course, you can also generate a new project that uses version 2.13.3 from the start by running the Maven archetypes for
Neo or
Cloud Foundry with
-DarchetypeVersion=2.13.3
(or
RELEASE
).
JavaScript libraries
To update the version of the SAP S/4HANA 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