All MTX related services have been moved to @sap/cds-mtxs. Make sure that you update both modules, @sap/cds and @sap/cds-mtxs, together.
The Node.js runtime doesn't interpret the SAP-specific query option sap-language. Fiori Elements always sends a BCP47 compliant accept-language header that is interpreted correctly. If you have used the query option in your tests, please use the header instead.
If you use the new 1.0.0 version of axios, this might raise errors with missing response headers. In this case, stay with axios 0.x for the time being.
14.18 is now the minimum required Node.js version. Previously, this was 14.15. Check your version with node -v.
This is a beta feature. Beta features aren't part of the officially delivered scope that SAP guarantees for future releases.
There's a new Messaging Service based on Redis PubSub, which is suitable for asynchronous communication between tightly-coupled microservices. To configure this messaging service, bind your CAP application to an appropriate platform service, for example of type redis-cache and install the latest version of NPM package redis.
In the package.json, you can configure a Redis messaging service explicitly:
The semantics, behavior and implementation of upsert has been redesigned and aligned with the stakeholders' expectations. Upsert now leverages UPSERT (UPdate or inSERT) operations on the database where possible.
Up to cds-services 1.27, upsert always completely replaced pre-existing data with the given data: it was implemented as cascading delete followed by a deep insert. Since this release the upsert is implemented as a deep update that creates data if not existing.
While generic code is not affected by this change application developers that use upsert in custom code need to be aware of the implications and might have to adapt their code.
If an application can't immediately adjust to the new upsert behavior when upgrading to this version of cds-services, it's possible to switch back to the old upsert behavior: set the configuration parameter cds.sql.upsert.strategy to replace.
The validation is applied deeply to nested input data. Note that annotated parameters in your model are effectively validated when updating to this version. To switch off parameter validation temporarily, set cds.query.validation.parameters.enabled to false.
You can now run and test your application locally with the Streamlined MTX sidecar (@sap/cds-mtxs) and a file-based SQLite database in multitenant mode. In addition to the common MTX configuration you need to set the following configuration in your application.yaml:
You can now use the new SQL dialect postgres of the CDS Compiler to generate DDL, which is specific for PostgreSQL. Before this release you had to manually adapt the DDL generated for the dialect plain.
On PostgreSQL, localized and temporal data can now be used without restrictions.