Product Information
SAP Cloud SDK for JavaScript version 3 is out now!
SAP Cloud SDK for JavaScript version 3 is released! π
This is a major release which brings new features and improves the APIs considerably.
Get the new version on npmjs.com.
Find out all about the improvements in the new version in this blog post, and find out who makes the most commits to the SAP Cloud SDK for JavaScript repository.
What’s new?
Middlewares
Middlewares are a powerful and flexible concept which allows to add custom logic before HTTP requests are sent – similar to well known web frameworks such as Express or NestJS. For example they allow you to add custom headers to HTTP requests or make changes to the request body.
You can also use it to build the resilience features just the way you need them for your application, in case the defaults don’t work for you.
To find out more about how you can use middlewares, see the middleware documentation.
Resilience
Resilience is the ability of your app to react to failure and still be functional. The goal is not to avoid failure at all cost, but rather to handle it gracefully and still provide a good experience to users.
The SAP Cloud SDK for JavaScript has default configuration for resilience features such as circuit breakers, retries and timeouts built-in, you just need to enable it.
If you need to build more complex features, we have you set with the middlewares: just build your own.
To find out more about resilience and how you can build your own configuration, see the blog post on Resilience and the resilience documentation.
You can also watch this SAP Community Call on resilience to get some hands-on impressions.
Sending E-Mails
Sending E-mails via SAP Business Technology Platform was already possible in version 2, but the API was still “experimental”. In version 3 the feature is fully supported and has the same stability as other features of the SAP Cloud SDK for JavaScript.
To find out more about how to send e-mails, see the documentation on the mail client.
What’s changed?
Improved and streamlined OData and OpenAPI Generators
The SAP Cloud SDK’s generators for typed clients for OData and OpenAPI APIs are improved and streamlined. Over time the options of both generates had diverged. In version 3, the options are better aligned so that the same option in both generators has the same name and behavior.
To do this, some breaking changes were required and usage needs to be adapted when upgrading the SAP Cloud SDK for JavaScript from version 2 to version 3.
Pregenerated clients discontinued
We noticed, that many users preferred to use custom generated clients instead of the pregenerated ones. Therefore, we decided to stop publishing pregenerated clients for SAP services on NPM. From now on, use the improved client generators for OData and OpenAPI to generate your own.
You can find all specifications for SAP services on the SAP API Business Hub. Follow the SAP Cloud SDK tab on the API detail pages for instructions.
Node.js runtime requirements
Since older versions of Node.js will reach end of life in 2023, the SAP Cloud SDK for JavaScript will require Node.js 18 (the current LTS version) as a runtime starting with version 3.
Node.js 18 is available on SAP Business Technology Platform, Cloud Foundry Environment. See the this page in the SAP Help portal for details on how to use it.
How to upgrade?
Apart from the changes and above, we’ve also removed a few deprecated functions and simplified some types in the SAP Cloud SDK. Since the API improvements and simplifications required some breaking changes, upgrading to version 3 might require some changes to your application.
See the full upgrade guide and let us know if you have issues while upgrading or if something is not covered in the guide.
Your feedback matters
Besides all the work on the code and documentation of the SAP Cloud SDK, we’ve also improved how we do user research in the last year.
We want to understand our users better
We had a first round of user interviews with colleagues at SAP, but we’re also planning to expand this to our global community. We don’t have the details figured out just yet, but if you’d like to volunteer for a one hour interview later this year feel free to reach out in the comments, or in the GitHub Discussion.
Version 3 feedback thread
Let us know what you think about version 3 in this GitHub Discussion.
We’re curious about your upgrade experience, your wishes for new versions and hints on how we can help you be more productive while building great apps on SAP Business Technology Platform.
Fun Facts
- Version 2 was released on February 3, 2022 which means we almost managed to develop version 3 within one year.
- The contributor with the most commits to the Cloud SDK is… dependabot. By a wide margin. Thanks for keeping our dependencies up-to-date π
Indeed. Thanks to the dependabot PR automation, most of the PRs have been merged without manual actions, as long as the tests are passed.
Hey guys,
thanks for the great updates on the SAP Cloud SDK. I really appreciate all the energy you do spend on this as it really helps to speed up integrations within.
Thanks and keep on doing the great work π
Regards,
Cedric
Does this mean we can use js frameworks like angular with SAP cloud? Because I can develop something with using e.g Firebase SDK. Sorry for my short understanding. =)