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.
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.
If you need to build more complex features, we have you set with the middlewares: just build your own.
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.
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
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.
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 🙂