The ALP runs with the Node.js and the Java version of CAP SFlight. Both runtimes support the relevant queries out of the box. That means, you just have to set the required annotations without the need of custom handler implementations.
Within the SFlight repository, to enable all features for the ALP in the Node.js runtime, we've switched on the new OData parser (odata_new_parser: true), which is still experimental. If you use the ALP with the standard OData parser, some features like grouping in the analytical table are not available.
Now, it is possible to extend a view or a projection with an aspect that only contains annotations. Use this to write lengthy annotations like for instance-based authorization only once and reuse them for several entities:
Starting with this release, property cds.install-cdsdk.version of goal install-cdsdk in the cds-maven-plugin is mandatory and needs to be explicitly maintained by the application. This property specifies the @sap/cds-dk version used for CDS build. Previously it was optional and had the default value ^4. Note that the build stops if this property is missing. If your configuration is not prepared yet, find a detailed description how to set this property in Using a specific cds-dk Version.
Recently, there has been a focus on eliminating performance hotspots in the CAP Java runtime. According to measurements of basic OData requests such as fetching a full entity set (GET /Travel) in SFlight application, CPU usage has been significantly reduced. The following table shows some examples (CPU consumption compared to version 1.26.0):
CAP Java 1.29.0
down to 31%
down to 39%
down to 21%
down to 46%
1 No authorization and in-memory DB H2
Performance optimizations are still ongoing, so stay tuned for more improvements.
CAP Java now supports H2 version 2.x. In Spring, H2 is automatically initialized as in-memory database when the H2 JDBC driver is present on the classpath.
For H2, you need to configure the CDS Compiler to use the new SQL dialect h2, which is specific for H2 2.x.
The cds-services-archetype now generates a new CAP Java project with H2 2.x as in-memory database.
Support for Download Repositories with Authentication
The goal install-node of the cds-maven-plugin triggers the download of a Node.js contribution from a remote repository. To support repositories that require authentication (for example, internet facing location), the goal has been enhanced with a new optional property cds.install-node.serverId, which refers to a server configuration in maven's settings.xml file. When setting up a connection to the remote repository to download Node.js, install-node now uses provided credentials from this server configuration.
Entity References can now also be obtained from the result rows of insert and update operations. The references address the entity via the key values from the result row and can be used in CDS QL statements: