The propagation of correlation IDs to asynchronous tenant operations is now fixed. The correlation IDs in the log entries of asynchronous tenant operations now correctly match the correlation IDs of the request that triggered the operation.
New major versions of CAP will be released every 12 months, in April 2021, 2022, and so forth. Active CAP-based projects are strongly recommended to adopt new majors as soon as possible, as former releases will receive critical bug fixes only.
You should take notice of the following changes, which may affect your project:
Computed values are preserved during draft activate. That is, the values of properties that are annotated with @Core.Computed do not need to be recalculated when activating a draft, but are copied from the draft persistence to the active persistence. This change can be deactivated during a two-month grace period through compatibility feature flag cds.env.features.preserve_computed = false.
SAP Business Application Studio and VS Code have a new default CDS validation mode, ActiveEditorsOnly.
It further reduces necessary compilations to improve responsiveness. The new mode only keeps track of the active editor in focus. Other files, even open visible ones (split tabs), are first revalidated once they get focus again.
The new mode needs special client support, thus for other IDEs the default remains OpenEditorsOnly.
A new command Visualize CDS file dependencies is available in SAP Business Application Studio and VS Code to get a better understanding of large models, for example, with hundreds of model files. Hovering over a node will show the number of files involved and the combined size of all involved files to get a rough understanding about the complexity and the compilation speed.
Use the command from the context menu on a folder or CDS file.
As of version 1.18.0, the CAP Java SDK uses the cds-dk 4 and the CDS Compiler v2. This applies for newly generated projects but also for existing projects that do not use a fixed version of the cds-dk in their pom.xml.
The CAP Java SDK now defines Spring Boot Log Groups with logical names that you can use to turn on debug logging for certain areas of the CAP runtime. For example, to turn all logs regarding generated SQL statements, configure:
The CAP Java SDK now collects all error messages for automatic input validation using the Messages API and does no longer abort the request processing on the first validation error. Applications can contribute additional errors using the Messages API in the Before phase and are no longer required to explicitly call throwIfError() in that case.