Changelog 2024
Open Source Changelogs
For repositories and plugins that are open source, please check out the respective changelogs in the cap-js organization and the CAP Community.
May 2024
Fixed
- [cds-dk@7.9.1]
eslint
9 doesn't crash anymore if called in a project created withcds init
April 2024
Added
- [cds-dk@7.9.0] Shell completion in Linux, macOS, Windows for cds commands and parameters (beta)
- [cds-dk@7.9.0]
cds bind
supports shared service instances. Service keys are created in the space where a service instance was shared from. - [cds-dk@7.9.0]
cds add data
now can generate actual data (not only a header line), both ascsv
andjson
structure. - [cds-dk@7.9.0]
cds subscribe
now allows to pass tenant metadata and HDI parameters using parameter--body <json>
. - [cds-dk@7.9.0]
cds add http
has a--dry
flag to write the generated http requests to stdout. - [cds-dk@7.9.0]
cds add hana
andcds build
support undeploy of calculation views by default. - [cds-dk@7.9.0]
cds bind
supports custom credentials to overwrite cloud service credentials. - [cds-dk@7.9.0] Better support for
profiles
in cds schema forpackage.json
and.cdsrc.json
. - [cds-dk@7.9.0]
cds bind
supports custom credentials to overwrite cloud credentials of multiple services. - [cds-dk@7.8.2]
cds compile
toopenapi
now maps@ODM.oidReference.entityName
annotation to generatex-sap-odm-oid-reference-entity-name
. - [cds-dk@7.8.1]
cds add
plugins now support custom flags. - [cds-dk@7.8.1]
cds add kafka
is also enabled for Helm deployments. - [cds-dk@7.8.1]
cds add enterprise-messaging
andcds add enterprise-messaging-shared
now support a--cloudevents
flag which automatically addscds.requires.messaging.format = 'cloudevents'
. - [eslint-plugin-cds@3.0.0] Support ESLint flat configurations (
eslint@v9
) and make them available as recommended, all. - [eslint-plugin-cds@2.7.0] Add
getRootPath()
method tocontext
object to get the project rootPath. - [cds-compiler@4.9.0] compiler: Annotations with expressions are now rewritten when propagated.
- [cds-compiler@4.9.0] for.seal: Added API function that produces a CSN for SEAL.
- [cds-compiler@4.9.0] for.odata/to.edm(x): Support annotation path expressions including path flattening.
- [cds.java@2.9.0] UI content from the
app
folder is now served automatically for local development. - [cds.java@2.9.0] Links to web applications from
app
folder are now added automatically to the index page for local development. - [cds.java@2.9.0] OData V4 index page content now provides a
Fiori Preview
link for each entity, loading a dynamically generated Fiori sample application. - [cds.java@2.9.0] Added support for communicating with MTX sidecar based on a bound instance of identity service (IAS).
- [cds.java@2.9.0] CSRF token retrieval for Remote OData Services can now be disabled by setting
cds.remote.services.<key>.http.csrf.enabled
tofalse
. - [cds.java@2.9.0] The goal
add
of thecds-maven-plugin
supports adding a complex and tiny sample to a CAP Java project. - [cds.java@2.9.0] A set of property defaults recommended for production can now be set at once by setting
cds.environment.production.enabled
totrue
or marking a specific Spring profile as the production profile by settingcds.environment.production.profile
to (for example)cloud
. The properties set include strict disabling of mock users and the index page. - [cds.java@2.9.0] The goal
generate
of thecds-maven-plugin
provides the new switchuniqueEventContexts
to prefix event context interfaces for bound actions / functions with the entity name. This avoids possible naming clashes for operations with the same name for different entities. - [cds.java@2.9.0] Added a new property
cds.sql.inlineCount.mode
to configure how inline counts are calculated. - [cds4j@2.9.0] Configuration option
cds.sql.inlineCount
to specify if inline-count is executed viawindow-function
or an additionalquery
. - [cds@7.9.0] Option
cds.env.sql.transitive_localized_views: false
to skip generating transitive localized views for entities which don't have own localized elements, but only associations to such. Supported for Java and new database services in Node.js (ignored for old ones). - [cds@7.9.0] Option
cds.env.sql.native_hana_associations: false
to skip generating native HANA associations. - [cds@7.9.0] Running
cds compile --to sql
with@cap-js/sqlite
installed now usessession_context('$user.locale')
in generated DDL statements instead of generating static localized views for 'en', 'fr', and 'de' (same forcds.deploy
). - [cds@7.9.0]
api
: export reserved keywords for postgres viacds.compiler.to.sql.keywords.postgres
- [cds@7.9.0] Kind
legacy-hana
and profilebetter-hana
for local testing scenarios. - [cds@7.9.0] Support for PDF files (MIME type
application/pdf
) when thecds.env.features.odata_new_adapter
flag is set totrue
- [cds@7.9.0] Lean draft: Support for filtered compositions (remain in the document)
- [cds@7.9.0] Support for
COUNT_DISTINCT
as OData data aggregation default method - [cds@7.9.0] Better support for
profiles
in cds schema forpackage.json
and.cdsrc.json
- [cds@7.9.0] Performance improvement for generating
@odata.context
url ifcds.features.odata_new_parser
is enabled - [cds@7.9.0] Alpha support for SAP Event Broker-based messaging (kind
event-broker
) - [cds-mtxs@1.18.0]
cds-mtx subscribe <tenant> --body <json>
now allows to pass tenant metadata and HDI parameters.
Changed
- [cds-dk@7.9.0]
cds deploy --to hana
warns about using custom service name, e.g--to hana:myService
and--vcap-file
at the same time. - [cds-dk@7.9.0]
cds compile
toopenapi
now throws an error when@protocol : 'none'
is given. - [cds-dk@7.9.0]
--data:for
ofcds add data
is now deprecated in favor of--filter
. - [cds-dk@7.9.0]
cds add data
sorts columns with own elements first, assuming they are more significant than the inherited/included elements. - [cds-dk@7.9.0]
cds add http --filter
accepts a service/entity/action name or a regex instead of a path. - [cds-dk@7.9.0]
cds deploy
andcds bind
both use Cloud Foundry client for backend communication. - [cds-dk@7.9.0] Changes in the
package-lock.json
file don't restart the server e.g. duringcds watch
- [cds-dk@7.9.0]
cds init --add java
uses the currently installed Java version for thepom.xml
. - [cds-dk@7.9.0]
cds add mta
derives the JDK version from thepom.xml
version. - [cds-dk@7.9.0]
cds add helm
update default gateway tokyma-system/kyma-gateway
- [cds-dk@7.9.0]
cds lint
supports both legacy (@eslint@^8
) and flat (@eslint@^9
) ESLint configurations. - [cds-dk@7.9.0]
cds add lint
adds flat ESLint configurations with@eslint@^9
,@sap/eslint-plugin-cds@^3.0.0
. - [cds-dk@7.9.0]
cds add lint
now requiresESLint
version 8 or above. - [cds-dk@7.8.2] New versions of
@sap/cds
and@sap/eslint-plugin-cds
- [cds-dk@7.8.2]
cds add helm
movedTENANT_HOST_PATTERN
key from configmap tovalues.yaml
. - [cds-dk@7.8.2]
cds add helm
web-application
subchart now supports controlling the health probe timings and updated default gateway tokyma-system/kyma-gateway
- [eslint-plugin-cds@3.0.2] requires
ESLint
version 8 or above - [eslint-plugin-cds@3.0.0] Plugin configurations (recommended, all) for
eslint@<v9
are now available with the-legacy
suffix. - [eslint-plugin-cds@2.7.0] Rule option "show" now allows inferred rules to rerun/recompile instead of just running once (as is the CLI behavior).
- [eslint-plugin-cds@2.7.0] Removed
min-node-version
rule, as it is now covered by the cds CLI. - [vscode-cds@7.8.1] Formatter now puts
actions
keyword after projection or query in a new line - [cds-compiler@4.9.0] parser: A space between
.
and*
/{
(nested projections) is now a warning.
Usebin/cds_remove_invalid_whitespace.js
to automatically fix this warning. - [cds-compiler@4.9.0] compiler:
- Published compositions with filters are changed to associations.
- Expressions as annotation values are rejected for few known annotations that don't expect them.
- [cds-compiler@4.9.0] Update OData vocabularies: 'Aggregation', 'Capabilities', 'Common', 'Hierarchy', 'PersonalData', 'Session', 'UI'.
- [cds-compiler@4.9.0] to.edm(x): Exposed anonymous parameter types are now prefixed with
ap
,bap
andep
for actions, bound actions and entities. - [cds.java@2.9.0] Renamed property
cds.odataV4.apply.inCqn.enabled
tocds.odataV4.apply.transformations.enabled
to align with@odata.apply.transformations
annotation name. - [cds.java@2.9.0] The CSV data importer shows a warning instead of stopping the application, if it finds a CSV file for a not existing entity.
- [cds.java@2.9.0] An empty quoted value in a CSV files (
""
) is no longer interpreted asnull
, but as an empty String value. - [cds4j@2.9.0] SAP HANA HEX mode: fallback to non-hex SQL on "hex enforced but cannot be selected" errors.
- [cds4j@2.9.0] The inline-count of a query is now computed with an SQL window function if the query has a filter.
- [cds4j@2.9.0] Segments of structured types created from a Path no longer contain a filter, as they don't have an identity.
- [cds4j@2.8.2]
DeepUpdateSplitter
locks only entities annotated with@cds.java.version
to calculate FKs. - [cds@7.9.0] Deprecated INSERT.into(...) .as (SELECT...) → use INSERT.into(...) .entries (SELECT...) instead.
- [cds@7.9.0] Default value of
cds.env.log.mask_headers
changed to['/authorization/i', '/cookie/i', '/cert/i', '/ssl/i']
(adding'/cert/i'
and'/ssl/i'
) - [cds@7.9.0] Error messages for entities annotated with '@cds.autoexpose'
- [cds@7.9.0] For Java apps
cds.sql.transitive_localized_views
now defaults tofalse
to create less database views. - [cds@7.9.0] For Java apps
cdsc.betterSqliteSessionVariables
now defaults totrue
to enable session variables on H2 and SQLite by default. - [cds-mtxs@1.18.0] Retries for failed upgrades are more resilient, using an exponential backoff mechanism and more retries.
Fixed
- [cds-dk@7.9.0] Revert json schema for cds schemas to
draft-07
to prevent VS Code warnings about unsupported schema features. - [cds-dk@7.9.0]
cds add
doesn't fail for projects with a minimalpackage.json
w/oname
andversion
fields - [cds-dk@7.9.0]
cds add data
can be executed in projects w/opackage.json
and.cdsrc.json
files. - [cds-dk@7.9.0]
cds add sample
does not fail if thesrv
folder doesn't exist. - [cds-dk@7.9.0]
cds add helm
fixed xsuaa tenant-mode not updating on addingmultitenancy
- [cds-dk@7.9.0]
cds watched
cannot be called from command line anymore. - [cds-dk@7.9.0]
cds login
now correctly handles the case of an expired refresh token and gives more information about token-request errors. - [cds-dk@7.9.0]
cds login
now refreshes the token URL if it had previously reverted to a legacy URL. - [cds-dk@7.9.0] Command retrieval during cds bootstrap is now more robust.
- [cds-dk@7.9.0]
cds watch
now ignores allgen
-folder content to allow tenant subscription in hybrid mode. - [cds-dk@7.9.0]
cds build
doesn't copy.cdsrc-private.json
file into the deployment folder. - [cds-dk@7.8.2]
cds run/serve --resolve-bindings
correctly work with the new runtime authentication middleware. - [cds-dk@7.8.2]
cds add helm-unified-runtime
fixed backend destinations urls for deployments that aren't exposed. - [cds-dk@7.8.1]
cds build
does no longer add the model @sap/cds-mtxs/srv/bootstrap for Java projects by mistake if the--ws
option is set. - [eslint-plugin-cds@3.0.2] Internal parser call now handles
ESLint
version 8 and 9 - [eslint-plugin-cds@3.0.1] Add namespace
@sap/cds
to plugin configuration - [eslint-plugin-cds@3.0.0] In latest-cds-version, get output from
npm outdated
on exit code 1. - [eslint-plugin-cds@2.7.0] In no-db-keywords, use
getRootPath()
instead of dirname, as wrong paths lead to missing db entries, disabling the rule. - [vscode-cds@7.8.1] Revert json schema to
draft-07
due to unsupported features in2020-12
and2019-09
- [vscode-cds@7.8.1]
workspace/symbols
request could have shown interactive popup if LSP plugins are slow - [vscode-cds@7.8.1] Indexing of entities with enum elements that led to wrongly reported unused imports
- [vscode-cds@7.8.1] Indexing of namespaces after internal compiler changes
- [vscode-cds@7.8.1] Indexing of annotations was slow
- [cds-compiler@4.9.0] compiler:
- Deprecated
$parameters
is no longer proposed in code completion. - Duplicate mixin definitions lead to failing name resolution.
- Deprecated
- [cds-compiler@4.9.0] to.cdl: Types were always rendered for associations with filters, even if it would lead to a compilation failure.
- [cds-compiler@4.9.0] to.edm(x):
- Fix a recursion bug in entity parameter handling.
- Fix event exclusion in service preprocessing.
- [cds.java@2.9.0] Fixed a bug, causing a failure when upgrading webhooks in Enterprise Messaging for tenants subscribed using Subscription Management Service (SMS).
- [cds.java@2.9.0] Fixed a bug, causing
@mandatory
ornot null
validations to run on nested data of non-cascading associations. - [cds.java@2.9.0] Fixed a bug, causing
ext_attr
XSUAA claim not to be available inUserInfo.getAdditionalAttributes()
. - [cds4j@2.9.0] Fixed deletes via to-one compositions with backlink association key.
- [cds4j@2.9.0] Fixed setting of structured foreign keys with nesting level greater than two.
- [cds4j@2.9.0] Fixed result of inserts on draft-enabled projections, containing projected data.
- [cds4j@2.8.2] Fixed type of
cds.Vector
elements in generated accessor interfaces. - [cds@7.9.0]
cds.compile.to.yaml
produced invalid YAML for compacted lines - [cds@7.9.0] Handling of If-None-Match header for non-existing entity
- [cds@7.9.0] Revert json schema for cds schemas to
draft-07
to prevent VS Code warnings about unsupported schema features. - [cds@7.9.0] Remote services: JSON representation of error shall include
request
andresponse
- [cds@7.9.0] Aliasing of associated entity column in case of expand by CQN build with joins.
- [cds@7.9.0]
$apply
scenarios when used alongsidecds.env.features.odata_new_adapter = true
and the new database layer - [cds@7.9.0] ETag handling combined with where restrictions
- [cds@7.9.0]
cds compile --to hdbtabledata
now correctly supports CSV files using format.texts_<lang>.csv
. Before theinclude_filter
wasn't set in the generated.hdbtabledata
files. - [cds@7.9.0]
cds
commands no longer crash when executed in the@sap/cds
installation dir. - [cds@7.9.0]
cds.infer
: exposed association of query is inferred ascds.Association
and not as it's target - [cds@7.8.2]
.find
and.filter
inlinked.entities()
now returns values instead of names - [cds@7.8.2]
cds.app.serve.from(pkg,folder)
did not considerpkg
for serving static resources - [cds@7.8.1] In some cases,
<entity>.drafts
erroneously pointed to a CSN entity stub. - [cds@7.8.1] Feature vectors including falsy values like
{ ft1: true, ft2: true, ft3: false }
- [cds-mtxs@1.18.0] Extension linter is now also called if extensions are created via API.
- [cds-mtxs@1.18.0] The Service Manager credentials cache is correctly invalidated following a resubscription.
March 2024
Added
- [cds-dk@7.8.0]
cds add mta
configures readiness health checks via http to/
for Java and/health
for Node.js. - [cds-dk@7.8.0]
cds add
facets can now also be space-separated, e.g.cds add mta mtx pipeline
. - [cds-dk@7.8.0]
cds add http
adds anhttp
folder with.http
files generated for all services. - [cds-dk@7.8.0]
cds add http --filter [path to dir or file]
generates.http
files only for the specified file or directory. The shortcut is-f
. - [cds-dk@7.8.0]
cds add http --for-app [app name]
uses the hostname and the auth of the specified deployed app. - [cds-dk@7.8.0]
cds add http --out
allows to specify the output folder for the http files. The shortcut is-o
. - [cds-dk@7.8.0]
cds build
reclassifies compilation warnings as info messages for extension projects in case they are caused by the SaaS application base model.cds build --log-level info
logs all messages. Reclassification of message IDs can be customized. - [cds-dk@7.8.0]
cds version
now also prints the version of the CAP Java SDK as well as the Java and Maven versions - [cds-dk@7.8.0]
cds build
now uses argument--ws-pack
instead of--ws
to enable tarball based packaging of npm workspace dependencies for Node.js apps (beta). - [cds-dk@7.8.0]
cds import
can now import the Action/Function with binding parameter type of different schema in the scope of a document. - [cds-dk@7.7.2]
cds import
now hasbeta
flag which can be used to import beta functionality in the CSN/CDS. - [vscode-cds@7.8.0] Add preview commands to editor title
- [cds-compiler@4.8.0] compiler: Type
cds.Vector
was added. It is mapped toREAL_VECTOR
on SAP HANA. - [cds-compiler@4.8.0] Support associations to/from entities with parameters for SAP HANA SQL (hdi/direct).
- [cds-compiler@4.8.0] to.sql/to.hdi:
- SAP HANA keywords
ABSOLUTE
,REAL_VECTOR
, andST_ASESRIJSON
are now included for smart quoting. +PostgreSQL keywordSYSTEM_USER
is now included for smart quoting.
- SAP HANA keywords
- [cds-compiler@4.8.0] API: Added
to.sql.postgres.keywords
andto.sql.h2.keywords
. They contain keywords for the respective SQL dialect. - [cds.java@2.8.1] Added a new property
cds.multiTenancy.dependencies.destination.enabled
to automatically declare Destination service as a dependency during subscription. - [cds.java@2.8.1] Remote Services can now be configured with a service binding, from which a destination is derived automatically, by configuring the new properties section
cds.remote.services.<key>.binding
. - [cds.java@2.8.1] Remote OData services now support the
ETagPredicate
for update and delete queries. TheETagPredicate
is translated into a correspondingIf-Match
header. - [cds.java@2.8.1] Remote OData services now store values from
ETag
response headers in theCdsData
metadata (data.getMetadata("etag")
). When executing an update statement ETags are automatically set inIf-Match
if present in the metadata of the data provided for the update. - [cds.java@2.8.1] The switch
sharedInterfaces
in thecds-maven-plugin
allows to replace the inner interfaces for global types with inlined arrayed types in the event contexts for an actions and functions with global ones. - [cds.java@2.8.1] The goal
watch
of thecds-maven-plugin
can be executed from the project root folder. - [cds.java@2.8.1] Introduced a new API
OutboxService.outboxed(Service, Class)
to wrap a service with an asynchronous suited API while outboxing it. - [cds.java@2.8.1] Introduced the interface
AsyncCqnService
and the APIAsyncCqnService.of(CqnService, OutboxService)
, providing an asynchronous suited API for CqnServices wrapped by an outbox. - [cds.java@2.8.1] Added a new property
cds.outbox.services.<key>.ordered
(default:true
) to disable strict ordering of outbox messages, allowing for parallelized message processing. - [cds.java@2.8.1] Improved parallelization of tenant processing across outbox processors in multiple application instances.
- [cds.java@2.8.1] The new
EventContext.proceed()
method allows to explicitly proceed with executing the next On event handler. - [cds.java@2.8.1] The goal
add
of thecds-maven-plugin
supports adding Kafka support to a CAP Java project. - [cds.java@2.8.1] The mock user security configuration now allows loading iFrames, to support H2 console out-of-the-box for local development.
- [cds.java@2.8.1] The mock user security configuration now triggers authentication also for XMLHttpRequests, to fix authentication issues with local UIs running under a parallel path to the API endpoints in some browsers.
- [cds.java@2.7.1] CQN transformations for
$apply
can now be selectively enabled per service using annotationodata.apply.transformations
- [cds4j@2.8.1] Added new switch
uniqueEventContexts
to the code generator configuration to enable the generation of unique event context interfaces. This is an incompatible change, because the event context interfaces are generated with the prefix of bound entities. - [cds4j@2.8.1] SAP HANA: added support for CDS type
cds.Vector
:- the data type
com.sap.cds.Vector
- similarity functions
CQL.cosineSimilarity
andCQL.l2Distance
- the data type
- [cds4j@2.8.1] Support spaces in ref paths for structure preserving element selections.
- [cds@7.8.0] Health check endpoint
/health
in default server - [cds@7.8.0] Class
cds.service
now provides getters forentities
,types
,events
andoperations
. These return iterable objects, which can be used infor...of
loops. - [cds@7.8.0] Class
cds.entity
getters forkeys
,associations
,operations
also returnIterable
objects now - [cds@7.8.0] Method
compile.to.serviceinfo()
now lists all Node.js service endpoints in cases where multiple protocols are configured. For Java, the list is still limited to the first endpoint. This will be fixed in a future release. - [cds@7.8.0] More warnings for deprecated features, functions and annotations.
- [cds-mtxs@1.17.0] Ignore non-existing container if running upgrade
*
by settingcds.requires['cds.xt.SaasProvisioning'].upgrade.ignoreNonExistingContainers: true
. - [cds-mtxs@1.17.0]
cds-mtx-migrate '*'|<tenant>[,<tenant>] --init-tenant-list [--force] [--dry]
now allows to fill the internal tenant list (e. g. for migration of Dynamic Deployer base applications). - [cds-mtxs@1.17.0]
cds-mtx-migrate '*'|<tenant>[,<tenant>] --sync-tenant-list [--force] [--dry]
now allows to sync the internal tenant list with existing containers. Entries without a corresponding HDI container will be removed.
Changed
- [cds-dk@7.8.0]
cds add helm
uses/health
for liveness and readiness checks for Node.js. - [cds-dk@7.7.1]
cds init
uses latest Maven Java archetype version 2.7.0 for creating Java projects. - [eslint-plugin-cds@2.6.6] Removed
require-2many-oncond
rule, as it is now covered by the compiler. - [vscode-cds@7.8.0] Move menu item
Preview as yaml
to the top of the menu items list indicating its default character - [vscode-cds@7.8.0] Formatting logging now includes whitespace even if it may be reduced to empty string, relative alignment positions, and details on inserting delayed items
- [vscode-cds@7.8.0] Minimum supported VSCode version is now 1.86.0
- [cds-compiler@4.8.0] compiler: Overriding an included element must not change the type to an association if it wasn't an association before and vice versa.
- [cds-compiler@4.8.0] Update OData vocabularies: 'Authorization', 'Common', 'UI'.
- [cds.java@2.8.1] Moved property
cds.remote.services.<key>.destination.type
tocds.remote.services.<key>.type
. Also moved propertiessuffix
,service
,queries
andheaders
from sectioncds.remote.services.<key>.destination
to sectioncds.remote.services.<key>.http
. Backwards compatibility for the old properties remains. - [cds.java@2.8.1] CQN statements are not added to Open Telemetry spans anymore by default for performance reasons, but only if logger
com.sap.cds.otel.spans.CQN
is set toDEBUG
. - [cds4j@2.8.1] SQL: only use localized helper views if necessary
- [cds4j@2.7.1] Code generator: Constant classes for an enums are not generated anymore if the enum is defined as inline type for the element.
- [cds-mtxs@1.17.0]
/-/cds/saas-provisioning/upgrade
sent as an async request with payload"tenants": ["*"]
will now return job information even if no tenants are found.
Fixed
- [cds-dk@7.8.0]
cds deploy
always included models from existingfts/*
folders. Now, it only does so ifcds.requires.toggles
is switched on. - [cds-dk@7.8.0]
cds build
now adds the correct HANA tenant database artifacts for a multitenant application in case a second shared database exists. - [cds-dk@7.8.0]
cds bind --to-app-services
will throw a better error message if no app name is supplied. - [cds-dk@7.7.2]
cds deploy --to hana
environment entries from--vcap-file
option now overwrite environment entries. - [cds-dk@7.7.2]
cds add helm
web-application
subchart now allows annotations to be added to the K8s services andcontent-deployment
subchart now allows to setimagePullPolicy
. - [cds-dk@7.7.1]
cds build
now allows the SaaS application base model to be located in a subfolder of the mtx extension project using npm workspace setup. Before, such a scenario caused duplicate model definitions. - [cds-dk@7.7.1]
cds init
shows better error message if project name contains unsupported characters. - [eslint-plugin-cds@2.6.7] Removed loading of previously removed rule.
- [vscode-cds@7.8.0] Code completion for annotations with ![] identifiers
- [cds-compiler@4.8.0] compiler:
cast()
s to structured types and associations are now rejected. They could lead to crashes before. - [cds-compiler@4.8.0] to.edm(x):
- Reject action/function return types that are declared
many of many
. - Render user defined annotation type
cds.Integer
asEdm.Int
.
- Reject action/function return types that are declared
- [cds-compiler@4.8.0] to.sql|hdi|hdbcds:
- Correctly handle
.list
during flattening. - Improve handling of
.items
.
- Correctly handle
- [cds-compiler@4.8.0] to.sql|hdi.migration:
- Turn types and aspects into dummies to reduce CSN size.
- Correctly detect a removed
.default
and forcefully set the default tonull
.
- [cds.java@2.8.1] Fixed a bug that prevents deactivating the draft gc as a side-effect of a draft activation.
- [cds.java@2.7.1] Fixed a bug, causing event-mesh tenant upgrades not to be executed.
- [cds4j@2.8.1] Fixed a bug in code generator causing the event context interfaces being generated for the operations that are renamed with
@cds.java.name
. - [cds4j@2.8.1] Structured compound foreign keys have priority over flat foreign keys, even if only partially defined.
- [cds4j@2.8.1] Fixed write operations on elements of a projections that are referenced via an alias prefix in the CDS model.
- [cds4j@2.7.1] Fixed a bug causing
ClassCastException
forBetweenPredicate
in the CQL Statement Builder - [cds4j@2.7.1] Fixed a bug causing key values to be set to
null
when setting an association tonull
containing the source key in the ON condition - [cds@7.8.0] Reverted
cds.Association
being derived fromcds.struct
; it's now derived fromcds.type
again. - [cds@7.8.0] Entity definitions using joins were erroneously marked as
_unresolved
- [cds@7.8.0] Consistent error messages for query options validation with new parser
- [cds@7.8.0] Validation for mandatory associations which target entities with defaulted keys
- [cds@7.8.0] Transaction handling for aborted streaming requests
- [cds@7.8.0] Create/Update over filtered managed compositions
- [cds@7.8.0] Templates are cached at the model (instead of the service)
- [cds@7.8.0] Deprecation warnings use
cds.log()
in production - [cds@7.8.0] Single quote in a string in
.where
for remote service - [cds@7.8.0] Escaped characters in double quoted search term when using
odata_new_parser
- [cds@7.7.3]
cds.log
: preserve message property of details through stringification (it's non-enumerable if the detail entry is an error) - [cds@7.7.3] Auto-exposed child entities with multiple restrictions
- [cds@7.7.3] Calculation of read-only values in custom code during creation of new drafts
- [cds@7.7.2] Requests to actions/functions on entities in draft state via navigation.
- [cds@7.7.2] PUT/PATCH with if-none-match: * forces insert
- [cds@7.7.1] JWT authentication for Event Mesh endpoints
- [cds@7.7.1]
cds.log
's json formatter: ensuretype
is set (required on kubernetes until CLS defaults this) - [cds@7.7.1] Erroneously generated foreign keys in
req.data
for UPDATE using path expressions - [cds@7.7.1]
INSERT.columns.rows
for multiple nested composition of aspects - [cds@7.7.1] Paths passed to
tar
on Windows are now normalized to use forward slashes. - [cds-mtxs@1.17.0] The
dataEncryption
provisioning parameter is disabled fort0
when using HANA native tenants. - [cds-mtxs@1.17.0] Ignore non-existing container if running upgrade
*
by settingcds.requires['cds.xt.SaasProvisioning'].upgrade.ignoreNonExistingContainers: true
. - [cds-mtxs@1.17.0] The built-in Service Manager client filters bindings by
ready = true
.
February 2024
Added
[cds-dk@7.7.0] Schema support for declaring schema contributions in cds plugins.
[cds-dk@7.7.0]
cds import
now supportsref
in schema properties for AsyncAPI files.[cds-dk@7.7.0]
cds add html5-repo
is now supported for Cloud Foundry (Beta).[vscode-cds@7.6.1] Add preview commands to editor title
[vscode-cds@7.6.0] Hover over import path of
using
statement showsREADME.md
orpackage.json#description
if absolute (i.e. module) import[cds-compiler@4.7.0] compiler: Virtual elements can now be referenced in expressions in annotation
[cds.java@2.7.0] Introduced a new API
OutboxService.outboxed(Service)
to wrap services with outbox handling. Events triggered on the wrapper are stored in the outbox first, and executed asynchronously. Relevant information from theRequestContext
is stored with the event data, however the user context is downgraded to a system user context.[cds.java@2.7.0] If the outbox is enabled for Messaging and AuditLog services the new outbox wrapper API is used. The outbox wrapper can be programmatically removed by using
OutboxService.unboxed(Service)
, returning a synchronously operating instance.[cds.java@2.7.0] Added properties section
cds.outbox.services
to configure additional outbox services. The previous propertiescds.outbox.persistent
still configure the default outbox services namedDefaultOutboxOrdered
andDefaultOutboxUnordered
, if they are not configured explicitly within the new section.[cds.java@2.7.0] The default outbox used by a Messaging or AuditLog service can now be configured through properties
cds.messaging.services.<key>.outbox.name
andcds.auditlog.outbox.name
.[cds.java@2.7.0] Added support for case insensitive contains CQN queries with the
cds-feature-remote-odata
to remote OData V2/V4 services.[cds.java@2.7.0] Added support for
CqnBetweenPredicate
in remote OData requests.[cds.java@2.7.0] Added OpenTelemetry spans for outbox and draft GC background activity.
[cds.java@2.7.0] Improved Draft GC to request tenant-specific CDS models only if there is at least one stale draft in the tenant database.
[cds.java@2.7.0] The goal
add
of thecds-maven-plugin
supports adding Spring-Boot Security support to a CAP Java project with-Dfeature=SECURITY
.[cds.java@2.7.0] Added beta version of change tracking feature
cds-feature-change-tracking
to capture changes in the database.[cds4j@2.7.0] Between predicate (
CqnBetweenPredicate
) usingCQL.between()
[cds4j@2.7.0] Code generator: For an enums defined in the CDS model, the constant classes are generated with the constants reflecting the values of the enum members
[cds4j@2.7.0] Added support for parsing Base64 encoded binary data in a JSON document
[cds4j@2.7.0] Support
cds.Vector
type on SAP HANA beta[cds@7.7.0] Improved trace output for bootstrap phase. For example try that:
jsDEBUG=trace cds w bookshop | grep trace
[cds@7.7.0] Support for
@odata.draft.bypass
to allow direct modifications of active instances.[cds@7.7.0]
req.user.tokenInfo
for@sap/xssec
-based authentication (ias
,jwt
,xsuaa
)[cds@7.7.0]
cds.fiori.draft_lock_timeout
as successor ofcds.drafts.cancellationTimeout
.- Possible values are /^([0-9]+)(h|hrs|min)$/ or a number in milliseconds.
[cds@7.7.0] There is a new
sap.common.Timezones
entity with a basic time zone definition. There will be accompanying data in package@sap/cds-common-content
.[cds@7.7.0] Deprecation warnings for configuration options
cds.drafts.cancellationTimeout
,cds.features.serve_on_root
,cds.features.stream_compat
,cds.fiori.lean_draft
andcds.requires.middlewares
, as well as for the propertiesreq.user.locale
andreq.user.tenant
. The deprecation warnings can be turned off by settingcds.features.deprecated
tooff
.[cds-mtxs@1.16.0]
cds-mtx upgrade
now allows to pass*
to upgrade all tenants.
Changed
- [cds-dk@7.7.0]
cds add mta
will addnpm ci
to itsbefore-all
build scripts to makembt build
more self-contained. - [cds-dk@7.6.1]
cds login
now automatically discards invalid refresh tokens and retries instead of exiting with an error. - [cds-dk@7.6.1]
cds login
now saves the passcode URL received from a failing token request and prints it along with the error and any subsequent passcode prompt. - [cds-dk@7.6.1]
cds login
now hints at missing user role as the cause of an error, if applicable. - [vscode-cds@7.6.0] Formatting option
alignAfterKey
option now applies to views and projections as well - [cds-compiler@4.7.0] Update OData vocabularies: 'Authorization', 'Common', 'Hierarchy', 'UI'.
- [cds-compiler@4.7.0] to.edm(x):
@cds.odata.valuelist
renders all non-key elements of the value help list asValueListProperty
. - [cds.java@2.7.0] Properties section
cds.outbox.persistent
has been deprecated in favor ofcds.outbox.services
. - [cds.java@2.7.0] Properties
cds.auditlog.outbox.persistent.enabled
andcds.messaging.services.<key>.outbox.persistent.enabled
have been deprecated in favor of the existing...outbox.enabled
and new...outbox.name
property. - [cds.java@2.7.0] System users now generally run with all feature toggles enabled by default. This aligns with the behaviour of the recently introduced
RequestContextRunner.systemUser(String)
methods. - [cds4j@2.7.0]
CdsAssociationType::getTargetAspect
now returnsOptional<CdsStructuredType>
as aspects are always structured - [cds@7.7.0] The index page now lists all service endpoints, which is important for services that are exposed through multiple protocols.
- [cds@7.7.0]
cds.deploy
improves error diagnostics with deeperQuery
object inspection. - [cds@7.7.0] Slightly changed the default export for ESM compatibility. This fixed failing ESM imports in Vitest tests.
- [cds-mtxs@1.16.0] The Service Manager polling timeout is increased from 60 to 180 seconds.
- [cds-mtxs@1.16.0] On failing UAA token request, MTXS now responds to client with JSON to enable parsing the passcode URL.
Fixed
- [cds-dk@7.7.0]
cds build
for MTX extensions no longer fails in case of duplicate model definitions. - [cds-dk@7.7.0]
cds version -i
now prints the same versions in MD form ascds version
- [cds-dk@7.6.1]
cds import
now fixed theAnnotationPath
attribute value import for Annotation in OData V4 EDMX correctly in the CSN. - [cds-dk@7.6.1]
cds import
will now move the imported EDMX file tosrv/external
only if the import is successful. - [cds-dk@7.6.1]
cds import
now captures the annotations present within EntityContainer for OData V4 EDMX in the CSN. - [cds-dk@7.6.1]
cds deploy
allows usage ofSERVICE_REPLACEMENTS
without specifyingVCAP_SERVICES
. - [cds-dk@7.6.1]
cds deploy
gives an error if its service key corresponds to a Service Manager instance. - [vscode-cds@7.6.1] Elements snippet now works when annotating artifacts in namespaces and/or contexts or if the brace after the elements is still missing
- [vscode-cds@7.6.0] Removed padding after unary plus, minus or parameter colon
- [vscode-cds@7.6.0] Artifact-elements snippet in
annotate
statement now appears regardless of cursor position between braces (or logs reason for not appearing) - [vscode-cds@7.6.0] Highlighting after semicolon in certain contexts
- [vscode-cds@7.6.0] On Windows editor potentially no longer updated diagnostics for sources with annotations
- [vscode-cds@7.6.0] Wrong diagnostics about unused imports
- [vscode-cds@7.6.0] First code completion could have been slow as workspace was scanned unnessarily
- [vscode-cds@7.6.0] Code completion for annotations was not shown in certain cases
- [vscode-cds@7.6.0]
untitled
i.e. new not yet saved files no longer worked in VSCode - [cds-compiler@4.7.6] OData: Restored compatibility with the Java runtime. Drafts generation was applied twice.
- [cds-compiler@4.7.4] OData: Fixed infinite recursion in draft handling for nested recursive compositions.
- [cds-compiler@4.7.2] Restored compatibility with
@sap/cds-dk
for Java runtime - [cds-compiler@4.7.0] CDL parser: a
select
after two or more(
s in an expression or condition could cause some constructs in that query, such asvirtual
, to be not properly parsed. - [cds-compiler@4.7.0] compiler: published associations with filters sometimes had the filter applied twice if used in inline aspect compositions
- [cds-compiler@4.7.0] to.sql|hdi|hdbcds[.migration]:
- With
withHanaAssociations
:false
, remove the association elements from the final CSN in order to correctly detect them during migration scenarios and with generatedhdbcds
. - Skip expensive processing (for calculated elements and nested projections) if the model doesn't use it.
- Don't greedily set alias on subqueries if not required.
- Remove bound actions and turn all non-database relevant artifacts into dummies to simplify and shrink CSN.
- With
- [cds-compiler@4.6.2] compiler: Fix incorrect error about type properties if deprecated flag
ignoreSpecifiedQueryElements
is set. - [cds-compiler@4.6.2] Update OData vocabularies: 'Authorization', 'Common'.
- [cds.java@2.7.0] Fixed a bug, causing an
Internal Server Error
if an OData V2 request without/$value
is sent to a stream entity with a field annotated with@Core.MediaType
. - [cds.java@2.7.0] Fixed a bug, causing
FeatureToggleInfoProvider
to be skipped, when usingRequestContextRunner.systemUser(String)
to set a system user context. - [cds4j@2.7.0] Fixed a bug causing syntax errors in the consumption interfaces that used the global types with an inlined arrayed types
- [cds4j@2.7.0] Fixed a bug, causing wrong signatures being generated for the methods representing an actions and functions with the arrayed arguments or return types
- [cds4j@2.7.0] Fixed a bug, causing virtual structured elements not being ignored outside of filters and where conditions
- [cds4j@2.7.0] Fixed a bug in the Boolean comparison of row values with IS/IS NOT on H2 and SAP HANA
- [cds4j@2.6.1] SAP HANA: Fix "hex enforced but cannot be selected" for subqueries using
LIMIT/OFFSET
in optimizationModehex
- [cds4j@2.6.1] Fixed a bug, causing unexpected manipulations of shared
Expand
objects - [cds@7.7.0] Persistent outbox must not be used for
t0
tenant. - [cds@7.7.0] Second
await cds.connect.to('X')
, where initialization ofX
results in an error, did not return. - [cds@7.7.0] Support additional draft requests.
- [cds@7.7.0]
cds.log
withnull
as argument. - [cds@7.6.4] Emitting multiple message with an in-memory outbox
- [cds@7.6.4] Occasional crash for invalid draft requests
- [cds@7.6.4] On the index page, aditional links now show up again for non-OData services.
- [cds@7.6.4] Handling of thenables for queries
- [cds@7.6.3] Event Mesh webhooks now add standard
before
middlewares in case of custom authorization - [cds@7.6.3]
compile.to.serviceinfo
no longer fails for services marked with@protocol:'none'
. Such internal services are not shown in the output. - [cds@7.6.2] Introduce i18n
BATCH_TOO_MANY_REQ
key for error message: "Batch request contains too many requests" - [cds@7.6.2] Properly handle
$orderby
in lean draft - [cds@7.6.2] View resolving in combination with
@cap-js/cds-db
- [cds@7.6.2] Allow
cds.requires.someService.outbox
to be a string - [cds@7.6.2]
cds.log
: errors, when not the first argument, were considered objects carrying custom fields - [cds@7.6.2]
accept
header parsing for OData requests if quality factorq
is included - [cds@7.6.2] Broken links on index page if multiple protocols are configured
- [cds-mtx@2.6.7]
provisioning_parameters
set viacds.mtx.provisioning.container
orCDS_MTX_PROVISIONING_CONTAINER
are correctly merged into request options. - [cds-mtxs@1.16.0]
upgrade
action is now also provided bycds.xt.SmsProvisioningService
. - [cds-mtxs@1.16.0] Cleanup option of MTXS Migration deletes old
__META__
tenant only if cleanup is triggered for*
(all tenants). - [cds-mtxs@1.16.0] Improved formatting of errors when fetching auth tokens.
January 2024
Added
- [cds-dk@7.6.0]
cds add application-logging
is now supported for Java. - [cds-dk@7.6.0]
cds add
andcds init
help shows a more complete list of available commands. - [cds-dk@7.6.0]
cds bind -2 <service-name>
automatically creates service key named<service-name>-key
on Cloud Foundry. - [cds-dk@7.6.0]
cds bind --to-app-services <app-name>
binds to all services of a deployed app. - [cds-dk@7.6.0]
cds build
requires feature toggles to be switched-on in order to get the corresponding features generated. - [cds-dk@7.6.0]
cds build
supports npm workspace setups beta. - [cds-compiler@4.6.0] compiler: Events can now be projections on other structured events and types.
- [cds-compiler@4.6.0] to.cdl:
parseCdl
andgensrc
style CSN (a.k.a.inferred
andxtended
) is now supported as input. - [cds.java@2.6.0] Optionally handle
$apply
in custom code. Requires settingcds.odataV4.apply.inCqn.enabled
totrue
. - [cds.java@2.6.0] Support for calling actions and functions via HCQL has been added to
cds-adapter-hcql
andcds-feature-remote-hcql
. - [cds.java@2.6.0] Added Open Telemetry spans for individual requests of an OData $batch request.
- [cds.java@2.6.0] Added Open Telemetry spans for executed CQN statements.
- [cds.java@2.6.0] Support for Cloud SDK 5 (>= 5.2.0) in addition to Cloud SDK 4.
- [cds.java@2.6.0] Entities associated through composition and explicitly annotated with
@odata.draft.enabled: false
are now excluded from the draft tree (incl..texts
entities in case of missing@fiori.draft.enabled
annotation). - [cds4j@2.6.0] ETag predicate (
CqnEtagPredicate
) for optimistic verification withCQL.eTag()
andStructuredType.eTag()
factory methods. - [cds4j@2.6.0] Add typed query builder API for Update::set
- [cds@7.6.0]
cds.upsert
as shortcut forcds.db.upsert
- [cds@7.6.0] Automatic deletion of stale drafts. Feature is enabled if
cds.env.fiori.deletionTimeout
is set to a value oftrue
;true
uses the default timeout of30d
(30 days). - [cds@7.6.0] Support for default exports (ESM/TS) in custom authentication
- [cds@7.6.0] Support for executing SAP HANA procedures from SYS schema
- [cds@7.6.0] Support for more complex on-conditions in case of READ requests
- [cds@7.6.0] Best effort mechanism for supporting lambda expressions targeting remote odata-v2 services
- [cds@7.6.0] Support for actions and functions which are bound to singletons
- [cds-mtxs@1.15.0] MTXS now supports subscription via Subscription Manager Service also for Node.js applications.
- [ux-cds-odata-language-server-extension@1.12.2] Enhanced code completion to restrict the suggestions for annotation terms, complex types and properties to more meaningful based on
Validation.ApplicableTerms
set in OData vocabulary definitions . - [ux-cds-odata-language-server-extension@1.12.2] Enhanced validation to display warning if the usage of annotation terms, complex types and properties is restricted in OData vocabulary definitions with
Validation.ApplicableTerms
.
Changed
- [cds-dk@7.6.0] Json schemas for
build
anddeploy
moved here from@sap/cds
. - [cds-dk@7.6.0] cds build plugins can provide additional json schemas, including root nodes beta.
- [cds-dk@7.6.0]
cds add helm
doesn't expose srv workload in single tenant mode if approuter is present. - [cds-dk@7.6.0]
cds add hana
also adds draft tables to theundeploy.json
. - [cds-dk@7.6.0]
cds build
uses existing.npmrc
file from project root for the MTX sidecar build, precedence has.npmrc
in sidecar folder. - [cds-dk@7.6.0]
cds logout --clear-invalid
also deletes expired tokens. - [cds-dk@7.5.1] Bump of dependencies
- [cds-dk@7.5.1] MTXS commands will now use a request timeout to avoid hanging on invalid URLs.
- [cds-dk@7.5.1] Error messages for invalid URLs have been improved.
- [cds-dk@7.5.1] Reverting the fix from
7.5.0
:cds compile
toopenapi
now adds correct schema$ref
for patch operation. - [cds-compiler@4.6.0] Update OData vocabularies: 'Aggregation', 'Validation'
- [cds-compiler@4.6.0] to.sql/hdi/hdbcds: Removed warnings for number and type of keys in draft-enabled entities.
- [cds.java@2.6.0] Outbox messages are no longer stored with a
partition
number, but with atarget
, which identifies the outbox service and collector processing the message. TheOutboxService.PERSISTENT_NAME
instance (formerly managing two partitions) was replaced by two distinct outbox services (OutboxService.PERSISTENT_UNORDERED_NAME
andOutboxService.PERSISTENT_ORDERED_NAME
) each handling messages with a dedicatedtarget
. Compatibility with auditlog or messaging events stored in the old format is ensured. - [cds.java@2.6.0] The OutboxService API has been changed from
enroll(String, String)
tosubmit(String, Map<String, Object>)
. TheOutboxMessageEventContext.getMessage()
method now respectively returnsMap<String, Object>
as well. - [cds.java@2.6.0]
cds.multiTenancy.serviceManager.timeout
has been removed. - [cds4j@2.6.0] SQLite:
CQL.matchesPattern
now also throws an exception on unsupported patterns to align with H2 - [cds4j@2.6.0] To check for equality of
CdsElement
s obtained from theCdsModel
they now need to be compared withequals
- [cds4j@2.6.0] Optimizations for SAP HANA HEX engine
- a subselect to search in active entities is avoided
- search can now search from a subquery
- search can now search computed elements
- search does not search the fallback text of localized elements
- enforce searching the fallback text with the annotation `@cds.sql.search.mode: 'localized-association'
- [cds4j@2.6.0] Rename config option
cds.sql.search.use-localized-view: true
tocds.sql.search.mode: 'localized-view'
- [cds@7.6.0] Draft: Standard Sorting Behavior for SAP Fiori List Report Floorplan
- [cds@7.6.0] Use new CDS schema for validation and code completion in
package.json
and.cdsrc.json
files - [cds@7.6.0] Media Data Streaming
- OData: Large binaries without
@Core.MediaType
annotation were previously returned as base64-encoded buffer. Starting from this@sap/cds
version also not-annotated large binaries are ignored by OData. It is strongly recommended to annotate all large binary properties with@Core.MediaType
and use it according to streaming scenarios. - Custom Handlers:
SELECT
with explicitly listedSELECT.columns
of typecds.LargeBinary
returns them as Readable streams. Large binary columns requested implicitly bySELECT
(for example, with.columns('*')
) are ignored. - Streaming API:
cds.stream()
andsrv.stream()
are deprecated and will be removed with the next major release. UseSELECT
with a singlecds.LargeBinary
column instead. The resulting object will contain the name of the column and a stream value. For example,SELECT.one.from(E).columns(['image']).where(...)
returns{ image: <media stream> }
. - Backward Compatibility: To restore previous behavior use
stream_compat
.
- OData: Large binaries without
- [cds-mtxs@1.14.3] The temporary workaround for
cds.env.requires.['cds.xt.ModelProvideService'].loadSync = true
is removed. This setting won't have an effect for future versions.
Fixed
[cds-dk@7.6.0]
cds build
no longer throwsmaximum call stack size exceeded
error when building SaaS extensions.[cds-dk@7.6.0]
cds add approuter
no longer addsSUBSCRIPTION_URL
configuration to Java projects in some scenarios.[cds-dk@7.6.0]
cds add html5-repo
in combination withcds add helm
orcds add helm-unified-runtime
correctly adds HTML5 repo runtime configuration.[eslint-plugin-cds@2.6.5] Performance got improved significantly for projects with many non
.cds
files (like.js
files)[vscode-cds@7.5.1] Retrieval of
@sap/cds-dk
global installation path is now more robust in SAP Business Application Studio[vscode-cds@7.5.1] Activate extension also for
jsonc
files[cds-compiler@4.6.0] compiler:
- ON-conditions of associations with filters in calculated elements were incorrectly rewritten when included in other entities, and the filter was applied twice in some scenarios.
- redirecting an association with filter did not rewrite paths relative to the redirection target.
- Unknown type references with an explicit named type argument such as
Unknown(length: 10)
crashed.
[cds-compiler@4.6.0] to.edm(x):
@Core.IsURL
is not rendered in combination with@Core.MediaType
(V4 only).- No 'odata-navigation' warning for association targets annotated with
@cds.autoexpose: false
. - No empty annotation in API, when a non-existent base annotation is annotated (eg.
@Common.Label.@Core.Description
without@Common.Label
). - Don't crash if value for
$Type
is not a string. - Generated foreign keys of type
cds.UUID
that are also primary key are not annotated with@Core.ComputedDefaultValue
. This is a follow up correction to 4.5.0
[cds.java@2.6.0] Fixed a bug, causing the
UnsupportedOperationException
being thrown during creation or an update of an entity with to-one compositions to other entities that are subject to the audit logging.[cds.java@2.6.0] The event contexts generated in the fluent style now autocomplete the event context when the method
result(...)
is called. An explicit call tosetCompleted()
is no longer necessary.[cds.java@2.6.0] Readded Cloud SDKs resilience implementation as a dependency to
cds-integration-cloudsdk
.[cds.java@2.6.0] Fixed a bug, preventing
;
to be used in OData V2 search words.[cds.java@2.6.0] Fixed a bug, causing
Number
types (e.g.Integer
) toBigDecimal
ClassCastException
in OData v4 Serializer.[cds.java@2.6.0] Fixed a bug, causing
ClassCastException
when using typed service interfaces to call remote OData actions or functions.[cds.java@2.6.0] Fixed a bug, which prevents setting the correct tenant for the draft GC after draft activation.
[cds4j@2.6.0] Fix UnsupportedOperationException on expand by parent-keys with orderBy on result sets > 100
[cds4j@2.6.0] Fix upserts via projections using element ref paths
[cds4j@2.6.0] Fix exception that occurs if the name of an element equals the qualified name of its entity
[cds4j@2.6.0] Queries with inline count and the filters that are always false have inline count set to zero instead of a default value
[cds@7.6.1] Garbage collection of draft is configured with
cds.fiori.draft_deletion_timeout
[cds@7.6.0]
cds.minify
returned a shallow clone. When callers like 2sqlcds.linked
that subsequently, this left the passed-in csn in a broken, partially linked state. Now,cds.minify
doesn't clone anymore, but modifies the passed in csn.[cds@7.6.0] Handling of read-only fields in drafts
[cds@7.6.0] Event Mesh: Better error message for incoming messages without a topic
[cds@7.6.0]
cds build
now logs a better error message if an incompatible@sap/cds
version is used.[cds@7.6.0] Better error message for runtime requests to non-existing tenants in extensibility scenario.
[cds@7.6.0] Do not generate UUIDs for association key during
CREATE
operation.[cds@7.6.0] OData aggregation with lean draft
[cds@7.6.0] Sorting in new odata parser with nested select statements. The default sort order is now added to the outer select statement.
[cds@7.6.0] Server crash in case of misformatted
groupby
transformation in$apply
[cds@7.6.0] Switched EM webhook endpoints to also use new authentication implementation
[cds@7.6.0]
odata_new_parser
: better error message and code for expand on non-existing elements[cds@7.5.3]
cds.localize
andcds build
producei18n.json
again with keys from all base languages[cds@7.5.3]
cds.compile.to.serviceinfo
now correctly parses SpringBoot config with nested objects, e.g. forcds.odata-v4.endpoint.path
[cds@7.5.3] Recommend to use
chai
4 for the time being, aschai
5 doesn't properly work yet (requires ESM,chai-as-promised
not working)[cds@7.5.3] View resolving for entities using property names that are identical to entity names
[cds@7.5.3] Direct modifications with
cds.fiori.bypass_draft
ifcds.fiori.draft_compat
is not enabled[cds@7.5.3] Draft: Field validation error message does not display the name of the field
[cds@7.5.2] Service-level ETag handling in legacy OData server
[cds@7.5.2] Only provide model to ModelProvider if extensibility or feature toggles are active
[cds@7.5.2] OData server driven paging when using feature flags
cds.env.features.odata_new_parser
andcds.env.features.okra_skip_query_options
[cds-mtxs@1.15.0] Additional services needed when using
SERVICE_REPLACEMENTS
for HDI deployment can now also be consumed in Kyma after adding them to thecds
configuration like"requires": { "myuserprovided": { "vcap": { "label": "user-provided", "name": "myuserprovided" } },
[cds-mtxs@1.15.0] Temporary files for build and deployment are created in the OS temp directory if file system permissions do not allow the creation in the cds root directory.
[cds-mtxs@1.14.4] Fixed a
TypeError
in the credentials cache invalidation for HANA deployments.[cds-mtxs@1.14.3] i18n translations missing in some Java setups are now correctly resolved.
[cds-mtxs@1.14.3] CSNs loaded in a worker thread are correctly linked. In earlier versions, this could lead to a stack overflow in projects having
cds.requires.db.schema_evolution: false
and cyclic actions such as this:cdsentity C_Books as projection on Books { * } actions { action returnSelf() returns C_Books; }
[cds-mtxs@1.14.3] Sync upgrades for
tenants = *
withclusterSize > 1
are working correctly.[cds-mtxs@1.14.2]
POST /-/model-provider/getEdmx
correctly ad-hoc compiles EDMX files for extended or toggled models.[cds-mtxs@1.14.2]
POST /-/model-provider/getEdmx
re-compiles the EDMX if amodel
is passed.[cds-mtxs@1.14.2] More resilient retry handling for 'authentication failed' errors in SAP HANA deployments.
Removed
- [cds@7.6.0] Experimental
STREAM
CQN is removed and cannot be used anymore