@sap/cds 8.9.4 → 9.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +121 -680
- package/LICENSE +15 -21
- package/README.md +1 -1
- package/_i18n/i18n_sl.properties +3 -3
- package/_i18n/messages.properties +1 -1
- package/app/index.js +1 -1
- package/bin/serve.js +17 -19
- package/eslint.config.mjs +7 -1
- package/lib/compile/etc/_localized.js +3 -24
- package/lib/compile/etc/yaml.js +6 -15
- package/lib/compile/for/odata.js +2 -2
- package/lib/compile/load.js +15 -4
- package/lib/compile/minify.js +1 -0
- package/lib/compile/to/edm-files.js +4 -33
- package/lib/compile/to/hdbtabledata.js +16 -3
- package/lib/compile/to/sql.js +1 -2
- package/lib/core/linked-csn.js +7 -8
- package/lib/dbs/cds-deploy.js +4 -3
- package/lib/env/cds-env.js +9 -9
- package/lib/env/cds-requires.js +23 -50
- package/lib/env/defaults.js +15 -44
- package/lib/env/schemas/cds-package.js +1 -1
- package/lib/i18n/index.js +1 -0
- package/lib/i18n/locale.js +41 -0
- package/lib/index.js +25 -15
- package/lib/log/cds-error.js +13 -3
- package/lib/log/cds-log.js +43 -18
- package/lib/log/format/aspects/als.js +2 -15
- package/lib/plugins.js +11 -11
- package/lib/ql/CREATE.js +1 -1
- package/lib/ql/DELETE.js +1 -1
- package/lib/ql/DROP.js +1 -1
- package/lib/ql/INSERT.js +9 -18
- package/lib/ql/SELECT.js +12 -19
- package/lib/ql/UPDATE.js +1 -1
- package/lib/ql/UPSERT.js +1 -0
- package/lib/ql/Whereable.js +7 -6
- package/lib/ql/cds-ql.js +0 -12
- package/lib/ql/cds.ql-Query.js +28 -68
- package/lib/ql/cds.ql-infer.js +97 -108
- package/lib/ql/resolve.js +1 -3
- package/lib/req/context.js +5 -4
- package/lib/req/request.js +46 -42
- package/lib/req/response.js +5 -9
- package/lib/req/spawn.js +38 -0
- package/lib/req/validate.js +9 -8
- package/lib/srv/bindings.js +2 -1
- package/lib/srv/cds-connect.js +5 -2
- package/lib/srv/cds-serve.js +0 -2
- package/lib/srv/cds.Service.js +146 -86
- package/lib/srv/middlewares/auth/ias-auth.js +99 -88
- package/lib/srv/middlewares/auth/jwt-auth.js +44 -57
- package/lib/srv/middlewares/cds-context.js +1 -1
- package/lib/srv/middlewares/ctx-model.js +1 -1
- package/lib/srv/middlewares/errors.js +34 -42
- package/lib/srv/protocols/hcql.js +35 -25
- package/lib/srv/protocols/index.js +0 -9
- package/lib/srv/protocols/odata-v4.js +1 -6
- package/lib/srv/srv-dispatch.js +29 -31
- package/lib/srv/srv-handlers.js +14 -46
- package/lib/srv/srv-methods.js +15 -37
- package/lib/srv/srv-tx.js +19 -25
- package/lib/test/cds-test.js +4 -263
- package/lib/utils/cds-utils.js +18 -2
- package/lib/utils/tar.js +6 -8
- package/lib/utils/unit.js +19 -0
- package/libx/_runtime/.eslintrc +1 -1
- package/libx/_runtime/cds-services/util/assert.js +2 -72
- package/libx/_runtime/cds.js +13 -6
- package/libx/_runtime/common/Service.js +33 -75
- package/libx/_runtime/common/aspects/any.js +0 -38
- package/libx/_runtime/common/constants/events.js +5 -13
- package/libx/_runtime/common/generic/auth/autoexpose.js +10 -24
- package/libx/_runtime/common/generic/auth/capabilities.js +23 -20
- package/libx/_runtime/common/generic/auth/expand.js +3 -3
- package/libx/_runtime/common/generic/auth/index.js +3 -3
- package/libx/_runtime/common/generic/auth/insertOnly.js +3 -3
- package/libx/_runtime/common/generic/auth/readOnly.js +4 -4
- package/libx/_runtime/common/generic/auth/requires.js +4 -4
- package/libx/_runtime/common/generic/auth/restrict.js +12 -29
- package/libx/_runtime/common/generic/auth/service.js +3 -3
- package/libx/_runtime/common/generic/auth/utils.js +2 -12
- package/libx/_runtime/common/generic/crud.js +22 -53
- package/libx/_runtime/common/generic/etag.js +18 -31
- package/libx/_runtime/common/generic/input.js +51 -123
- package/libx/_runtime/common/generic/paging.js +4 -4
- package/libx/_runtime/common/generic/sorting.js +8 -19
- package/libx/_runtime/common/generic/stream-only.js +26 -0
- package/libx/_runtime/common/generic/stream.js +16 -48
- package/libx/_runtime/common/generic/temporal.js +15 -7
- package/libx/_runtime/common/utils/binary.js +1 -26
- package/libx/_runtime/common/utils/compareJson.js +1 -2
- package/libx/_runtime/common/utils/cqn.js +15 -14
- package/libx/_runtime/common/utils/differ.js +121 -44
- package/libx/_runtime/common/utils/keys.js +4 -5
- package/libx/_runtime/common/utils/normalizeTimestamp.js +10 -1
- package/libx/_runtime/common/utils/postProcess.js +2 -2
- package/libx/_runtime/common/utils/propagateForeignKeys.js +21 -36
- package/libx/_runtime/common/utils/resolveView.js +105 -141
- package/libx/_runtime/common/utils/rewriteAsterisks.js +45 -12
- package/libx/_runtime/common/utils/streamProp.js +3 -9
- package/libx/_runtime/common/utils/waitingTime.js +13 -1
- package/libx/_runtime/fiori/lean-draft.js +174 -196
- package/libx/_runtime/messaging/common-utils/connections.js +1 -1
- package/libx/_runtime/messaging/enterprise-messaging-utils/EMManagement.js +1 -0
- package/libx/_runtime/messaging/enterprise-messaging-utils/registerEndpoints.js +3 -3
- package/libx/_runtime/messaging/enterprise-messaging.js +2 -2
- package/libx/_runtime/messaging/file-based.js +2 -4
- package/libx/_runtime/messaging/redis-messaging.js +1 -1
- package/libx/_runtime/messaging/service.js +5 -19
- package/libx/_runtime/remote/Service.js +20 -33
- package/libx/_runtime/remote/utils/client.js +7 -25
- package/libx/_runtime/remote/utils/cloudSdkProvider.js +8 -13
- package/libx/_runtime/remote/utils/data.js +3 -34
- package/libx/_runtime/types/api.js +0 -8
- package/libx/_runtime/ucl/Service.js +1 -9
- package/libx/common/utils/path.js +2 -3
- package/libx/common/utils/streaming.js +2 -1
- package/libx/http/HttpRequest.js +13 -0
- package/libx/{odata/middleware → http}/body-parser.js +7 -5
- package/libx/http/location.js +41 -0
- package/libx/http/put.js +36 -0
- package/libx/odata/ODataAdapter.js +25 -59
- package/libx/odata/index.js +10 -23
- package/libx/odata/middleware/batch.js +29 -20
- package/libx/odata/middleware/create.js +6 -13
- package/libx/odata/middleware/delete.js +0 -4
- package/libx/odata/middleware/error.js +83 -27
- package/libx/odata/middleware/metadata.js +14 -25
- package/libx/odata/middleware/operation.js +10 -26
- package/libx/odata/middleware/read.js +10 -18
- package/libx/odata/middleware/stream.js +14 -34
- package/libx/odata/middleware/update.js +17 -26
- package/libx/odata/parse/afterburner.js +20 -16
- package/libx/odata/parse/cqn2odata.js +3 -1
- package/libx/odata/parse/grammar.peggy +221 -114
- package/libx/odata/parse/parser.js +1 -1
- package/libx/odata/utils/index.js +10 -38
- package/libx/odata/utils/metadata.js +10 -8
- package/libx/odata/utils/normalizeTimeData.js +5 -8
- package/libx/odata/utils/readAfterWrite.js +1 -1
- package/libx/{outbox/OutboxRunner.js → queue/TaskRunner.js} +17 -22
- package/libx/queue/index.js +531 -0
- package/libx/rest/RestAdapter.js +43 -82
- package/libx/rest/middleware/create.js +35 -33
- package/libx/rest/middleware/delete.js +9 -7
- package/libx/rest/middleware/error.js +11 -18
- package/libx/rest/middleware/operation.js +44 -137
- package/libx/rest/middleware/parse.js +114 -130
- package/libx/rest/middleware/read.js +23 -21
- package/libx/rest/middleware/update.js +20 -32
- package/libx/rest/middleware/upsert.js +31 -0
- package/libx/rest/pre-processing.js +8 -18
- package/package.json +6 -7
- package/srv/outbox.cds +1 -0
- package/bin/test.js +0 -125
- package/lib/env/plugins.js +0 -18
- package/lib/req/cds-context.js +0 -52
- package/lib/req/locale.js +0 -35
- package/lib/srv/cds.ServiceClient.js +0 -96
- package/lib/srv/cds.ServiceProvider.js +0 -20
- package/lib/srv/protocols/okra.js +0 -22
- package/lib/test/axios.js +0 -63
- package/lib/test/data.js +0 -52
- package/lib/test/expect.js +0 -343
- package/lib/test/reporter.js +0 -176
- package/libx/_runtime/cds-services/adapter/odata-v4/OData.js +0 -275
- package/libx/_runtime/cds-services/adapter/odata-v4/ODataRequest.js +0 -217
- package/libx/_runtime/cds-services/adapter/odata-v4/handlers/action.js +0 -101
- package/libx/_runtime/cds-services/adapter/odata-v4/handlers/create.js +0 -79
- package/libx/_runtime/cds-services/adapter/odata-v4/handlers/debug.js +0 -6
- package/libx/_runtime/cds-services/adapter/odata-v4/handlers/delete.js +0 -60
- package/libx/_runtime/cds-services/adapter/odata-v4/handlers/error.js +0 -161
- package/libx/_runtime/cds-services/adapter/odata-v4/handlers/language.js +0 -7
- package/libx/_runtime/cds-services/adapter/odata-v4/handlers/metadata.js +0 -59
- package/libx/_runtime/cds-services/adapter/odata-v4/handlers/read.js +0 -602
- package/libx/_runtime/cds-services/adapter/odata-v4/handlers/request.js +0 -64
- package/libx/_runtime/cds-services/adapter/odata-v4/handlers/update.js +0 -238
- package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/ExpressionToCQN.js +0 -327
- package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/applyToCQN.js +0 -243
- package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/boundToCQN.js +0 -43
- package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/createToCQN.js +0 -37
- package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/deleteToCQN.js +0 -36
- package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/expandToCQN.js +0 -250
- package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/index.js +0 -81
- package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/orderByToCQN.js +0 -51
- package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/readToCQN.js +0 -389
- package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/searchToCQN.js +0 -43
- package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/selectToCQN.js +0 -35
- package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/updateToCQN.js +0 -38
- package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/utils.js +0 -217
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/FeatureSupport.js +0 -70
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/FullQualifiedName.js +0 -94
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlAction.js +0 -139
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlActionImport.js +0 -82
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlAliasInfo.js +0 -44
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlAnnotation.js +0 -104
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlAnnotations.js +0 -71
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlComplexType.js +0 -133
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlEntityContainer.js +0 -142
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlEntityContainerInfo.js +0 -37
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlEntitySet.js +0 -107
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlEntityType.js +0 -177
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlEnumMember.js +0 -61
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlEnumType.js +0 -105
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlFunction.js +0 -149
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlFunctionImport.js +0 -105
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlInclude.js +0 -68
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlIncludeAnnotation.js +0 -71
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlJsonProvider.js +0 -1365
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlNavigationProperty.js +0 -190
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlNavigationPropertyBinding.js +0 -37
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlOnDelete.js +0 -70
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlParameter.js +0 -227
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlProperty.js +0 -250
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlPropertyRef.js +0 -49
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlProvider.js +0 -190
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlReference.js +0 -97
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlReferentialConstraint.js +0 -60
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlReturnType.js +0 -216
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlSchema.js +0 -328
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlSingleton.js +0 -84
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlTerm.js +0 -320
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlTypeDefinition.js +0 -193
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlAnnotationExpression.js +0 -73
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlAnnotationPathExpression.js +0 -33
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlApplyExpression.js +0 -105
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlArithmeticExpression.js +0 -72
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlBinaryExpression.js +0 -110
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlCastExpression.js +0 -188
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlCollectionExpression.js +0 -48
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlConstantExpression.js +0 -116
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlIfExpression.js +0 -62
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlIsOfExpression.js +0 -200
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlLabeledElementExpression.js +0 -42
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlLabeledElementReferenceExpression.js +0 -31
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlModelElementPathExpression.js +0 -29
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlNavigationPropertyPathExpression.js +0 -31
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlNegationExpression.js +0 -27
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlNotExpression.js +0 -31
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlNullExpression.js +0 -18
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlPathExpression.js +0 -32
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlPropertyPathExpression.js +0 -32
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlPropertyValueExpression.js +0 -55
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlRecordExpression.js +0 -54
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlUnknownExpression.js +0 -44
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlUrlRefExpression.js +0 -31
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/AbstractEdmBindingTarget.js +0 -163
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/AbstractEdmFaceted.js +0 -136
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/AbstractEdmOperation.js +0 -205
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/AbstractEdmOperationImport.js +0 -126
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/AbstractEdmStructuredType.js +0 -275
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/Edm.js +0 -775
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmAction.js +0 -15
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmActionImport.js +0 -39
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmAnnotation.js +0 -106
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmAnnotations.js +0 -57
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmComplexType.js +0 -48
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmEntityContainer.js +0 -455
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmEntitySet.js +0 -43
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmEntityType.js +0 -119
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmEnumMember.js +0 -69
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmEnumType.js +0 -117
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmFunction.js +0 -39
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmFunctionImport.js +0 -59
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmInclude.js +0 -65
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmIncludeAnnotation.js +0 -48
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmKeyPropertyRef.js +0 -79
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmNavigationProperty.js +0 -182
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmNavigationPropertyBinding.js +0 -46
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmOnDelete.js +0 -44
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmParameter.js +0 -22
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmPrimitiveType.js +0 -31
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmPrimitiveTypeKind.js +0 -70
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmProperty.js +0 -39
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmProvider.js +0 -399
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmReference.js +0 -88
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmReferentialConstraint.js +0 -71
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmReturnType.js +0 -14
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmSchema.js +0 -355
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmSingleton.js +0 -15
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmTerm.js +0 -75
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmType.js +0 -95
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmTypeDefinition.js +0 -121
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmTypeFactory.js +0 -28
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmVocabularyTermType.js +0 -41
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/KeyFactory.js +0 -67
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/Target.js +0 -56
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/TransientStructuredType.js +0 -244
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/AnnotationExpressionFactory.js +0 -130
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmAnnotationExpression.js +0 -28
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmAnnotationPathExpression.js +0 -42
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmApplyExpression.js +0 -85
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmArithmeticExpression.js +0 -92
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmBinaryExpression.js +0 -96
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmCastExpression.js +0 -129
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmCollectionExpression.js +0 -52
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmConstantExpression.js +0 -83
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmIfExpression.js +0 -103
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmIsOfExpression.js +0 -125
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmLabeledElementExpression.js +0 -83
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmLabeledElementReferenceExpression.js +0 -41
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmModelElementPathExpression.js +0 -35
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmNavigationPropertyPathExpression.js +0 -37
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmNegationExpression.js +0 -70
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmNotExpression.js +0 -75
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmNullExpression.js +0 -50
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmPathExpression.js +0 -38
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmPropertyPathExpression.js +0 -37
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmPropertyValueExpression.js +0 -72
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmRecordExpression.js +0 -100
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmUnknownExpression.js +0 -72
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmUrlRefExpression.js +0 -73
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/errors/AbstractError.js +0 -82
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/errors/IllegalArgumentError.js +0 -58
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/errors/IllegalCallError.js +0 -21
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/errors/NotImplementedError.js +0 -19
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/errors/UriQueryOptionSemanticError.js +0 -49
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/errors/UriSemanticError.js +0 -48
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/errors/UriSyntaxError.js +0 -65
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/format/ContentTypeInfo.js +0 -105
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/format/JsonContentTypeInfo.js +0 -83
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/format/JsonFormat.js +0 -141
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/format/RepresentationKind.js +0 -251
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/http/HttpHeader.js +0 -42
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/http/HttpHeaderReader.js +0 -318
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/http/HttpMethod.js +0 -25
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/http/HttpStatusCode.js +0 -52
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/http/Preferences.js +0 -32
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/index.js +0 -69
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/logging/LoggerFacade.js +0 -183
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/AliasExpression.js +0 -47
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/ApplyParser.js +0 -946
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/BinaryExpression.js +0 -124
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/ExpandItem.js +0 -76
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/ExpandParser.js +0 -384
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/Expression.js +0 -46
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/ExpressionParser.js +0 -1988
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/FilterParser.js +0 -34
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/FunctionParameterParser.js +0 -106
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/KeyPredicateParser.js +0 -155
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/KeyValueParser.js +0 -213
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/LiteralExpression.js +0 -43
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/MemberExpression.js +0 -44
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/MethodExpression.js +0 -146
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/OrderByItem.js +0 -53
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/OrderByParser.js +0 -69
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/ResourcePathParser.js +0 -848
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/SearchParser.js +0 -127
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/SelectItem.js +0 -80
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/SelectParser.js +0 -294
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/TypeLiteralExpression.js +0 -28
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/UnaryExpression.js +0 -64
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/UriHelper.js +0 -65
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/UriInfo.js +0 -165
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/UriParameter.js +0 -107
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/UriParser.js +0 -350
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/UriResource.js +0 -602
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/UriTokenizer.js +0 -1156
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/apply/AggregateExpression.js +0 -164
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/apply/AggregateTransformation.js +0 -38
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/apply/BottomTopTransformation.js +0 -93
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/apply/ComputeExpression.js +0 -52
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/apply/ComputeTransformation.js +0 -38
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/apply/ConcatTransformation.js +0 -38
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/apply/CustomFunctionTransformation.js +0 -59
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/apply/ExpandTransformation.js +0 -37
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/apply/FilterTransformation.js +0 -37
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/apply/GroupByItem.js +0 -71
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/apply/GroupByTransformation.js +0 -58
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/apply/IdentityTransformation.js +0 -17
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/apply/OrderByTransformation.js +0 -37
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/apply/SearchTransformation.js +0 -37
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/apply/SkipTransformation.js +0 -37
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/apply/TopTransformation.js +0 -37
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/apply/Transformation.js +0 -53
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/info.md +0 -116
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/utils/PrimitiveValueDecoder.js +0 -667
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/utils/PrimitiveValueEncoder.js +0 -349
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/utils/ValueConverter.js +0 -545
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/validator/ParameterValidator.js +0 -124
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/validator/ValueValidator.js +0 -743
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/ServiceFactory.js +0 -234
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/batch/BatchContext.js +0 -351
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/batch/BatchErrorInfo.js +0 -61
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/batch/BatchExitHandler.js +0 -239
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/batch/BatchProcessor.js +0 -281
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/batch/BatchValidator.js +0 -133
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/batch/BatchedRequestExecutor.js +0 -92
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/core/ComponentManager.js +0 -63
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/core/Context.js +0 -96
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/core/Dispatcher.js +0 -147
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/core/OdataRequest.js +0 -458
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/core/OdataRequestInBatch.js +0 -147
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/core/OdataResponse.js +0 -314
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/core/OdataResponseInBatch.js +0 -83
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/core/PlainHttpRequest.js +0 -175
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/core/PlainHttpResponse.js +0 -106
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/core/RequestContract.js +0 -111
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/core/ResponseContract.js +0 -111
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/core/ResponseHeaderSetter.js +0 -240
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/core/Service.js +0 -417
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/core/ServiceResolutions.js +0 -24
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/deserializer/ApplicationHttpReader.js +0 -157
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/deserializer/BatchJsonDeserializer.js +0 -171
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/deserializer/BatchRequestListBuilder.js +0 -196
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/deserializer/Cache.js +0 -154
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/deserializer/ContentDeserializer.js +0 -222
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/deserializer/DataReader.js +0 -220
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/deserializer/DeserializerFactory.js +0 -240
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/deserializer/HeaderReader.js +0 -133
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/deserializer/LineReader.js +0 -61
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/deserializer/MultipartReader.js +0 -419
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/deserializer/PartReader.js +0 -99
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/deserializer/Reader.js +0 -52
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/deserializer/ResourceJsonDeserializer.js +0 -673
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/errors/ApplicationError.js +0 -108
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/errors/BadRequestError.js +0 -21
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/errors/ConflictError.js +0 -11
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/errors/DeserializationError.js +0 -19
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/errors/InternalServerError.js +0 -20
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/errors/MethodNotAllowedError.js +0 -17
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/errors/NotAcceptableError.js +0 -21
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/errors/NotFoundError.js +0 -33
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/errors/PreconditionFailedError.js +0 -11
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/errors/PreconditionRequiredError.js +0 -11
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/errors/SerializationError.js +0 -19
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/errors/UnauthorizedError.js +0 -17
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/format/AcceptTypeInfo.js +0 -86
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/format/CharsetInfo.js +0 -76
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/format/FormatDescription.js +0 -43
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/format/FormatManager.js +0 -91
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/format/RequestContentNegotiator.js +0 -62
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/format/ResponseContentNegotiator.js +0 -321
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/handler/BatchHandler.js +0 -36
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/handler/MetadataHandler.js +0 -21
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/handler/ServiceHandler.js +0 -25
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/http/CustomPreference.js +0 -31
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/http/HeaderInfo.js +0 -79
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/http/HttpHeader.js +0 -59
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/http/HttpHeaderReader.js +0 -452
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/http/HttpStatusCode.js +0 -117
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/http/Preferences.js +0 -222
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/http/PreferencesApplied.js +0 -199
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/index.js +0 -37
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/Command.js +0 -31
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/CommandExecutor.js +0 -94
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/CommandFactory.js +0 -203
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/ConditionalRequestControlCommand.js +0 -52
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/ConditionalRequestPreValidationCommand.js +0 -59
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/ContentNegotiatorCommand.js +0 -70
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/DebugContentNegotiatorCommand.js +0 -59
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/DebugDeserializingCommand.js +0 -44
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/DebugSerializingCommand.js +0 -51
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/DeserializingCommand.js +0 -69
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/DispatcherCommand.js +0 -95
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/ErrorContentNegotiatorCommand.js +0 -44
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/ErrorSerializingCommand.js +0 -51
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/EventListenerCommand.js +0 -59
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/LocaleNegotiatorCommand.js +0 -56
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/OdataVersionValidationCommand.js +0 -41
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/OperationValidationCommand.js +0 -34
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/ParsePreferHeaderCommand.js +0 -47
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/PresetResponseHeadersCommand.js +0 -47
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/QueryOptionsParserCommand.js +0 -43
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/QueryOptionsValidationCommand.js +0 -62
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/RequestContentValidationCommand.js +0 -51
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/SendResponseCommand.js +0 -37
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/SerializingCommand.js +0 -159
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/SetResponseHeadersCommand.js +0 -90
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/SetStatuscodeCommand.js +0 -51
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/UriParserCommand.js +0 -47
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/logging/DebugLogger.js +0 -97
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/ApplicationHttpWriter.js +0 -65
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/BatchJsonSerializer.js +0 -46
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/BatchMultipartSerializer.js +0 -113
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/ContextURLFactory.js +0 -405
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/DebugHtmlSerializer.js +0 -302
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/DebugJsonSerializer.js +0 -515
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/ErrorJsonSerializer.js +0 -47
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/ErrorSerializer.js +0 -39
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/ErrorXmlSerializer.js +0 -98
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/ExpressionTreeImage.js +0 -404
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/MetadataXmlSerializer.js +0 -1416
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/MultipartWriter.js +0 -202
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/NextLinkSerializer.js +0 -330
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/ResourceJsonSerializer.js +0 -1220
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/SerializerFactory.js +0 -484
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/ServiceJsonSerializer.js +0 -89
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/TrustedResourceJsonSerializer.js +0 -612
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/debugview.html +0 -157
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/utils/BufferedWriter.js +0 -59
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/utils/ExpandHelper.js +0 -96
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/utils/MetadataCache.js +0 -136
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/utils/PerformanceMonitor.js +0 -221
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/utils/UriHelper.js +0 -157
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/validator/ConditionalRequestValidator.js +0 -79
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/validator/OperationValidator.js +0 -199
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/validator/RequestValidator.js +0 -392
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/validator/VersionValidator.js +0 -62
- package/libx/_runtime/cds-services/adapter/odata-v4/to.js +0 -51
- package/libx/_runtime/cds-services/adapter/odata-v4/utils/data.js +0 -331
- package/libx/_runtime/cds-services/adapter/odata-v4/utils/handlerUtils.js +0 -159
- package/libx/_runtime/cds-services/adapter/odata-v4/utils/metaInfo.js +0 -404
- package/libx/_runtime/cds-services/adapter/odata-v4/utils/oDataConfiguration.js +0 -55
- package/libx/_runtime/cds-services/adapter/odata-v4/utils/omitValues.js +0 -86
- package/libx/_runtime/cds-services/adapter/odata-v4/utils/readAfterWrite.js +0 -107
- package/libx/_runtime/cds-services/adapter/odata-v4/utils/request.js +0 -64
- package/libx/_runtime/cds-services/adapter/odata-v4/utils/result.js +0 -385
- package/libx/_runtime/cds-services/adapter/odata-v4/utils/stream.js +0 -12
- package/libx/_runtime/cds-services/util/errors.js +0 -15
- package/libx/_runtime/common/aspects/relation.js +0 -40
- package/libx/_runtime/common/composition/data.js +0 -370
- package/libx/_runtime/common/composition/delete.js +0 -313
- package/libx/_runtime/common/composition/index.js +0 -22
- package/libx/_runtime/common/composition/insert.js +0 -108
- package/libx/_runtime/common/composition/tree.js +0 -275
- package/libx/_runtime/common/composition/update.js +0 -354
- package/libx/_runtime/common/composition/utils.js +0 -95
- package/libx/_runtime/common/error/constants.js +0 -20
- package/libx/_runtime/common/error/entry.js +0 -36
- package/libx/_runtime/common/error/frontend.js +0 -199
- package/libx/_runtime/common/error/index.js +0 -12
- package/libx/_runtime/common/error/log.js +0 -35
- package/libx/_runtime/common/error/standardError.js +0 -11
- package/libx/_runtime/common/error/utils.js +0 -18
- package/libx/_runtime/common/generic/auth/constants.js +0 -17
- package/libx/_runtime/common/generic/put.js +0 -85
- package/libx/_runtime/common/utils/columns.js +0 -177
- package/libx/_runtime/common/utils/compareJsonOLD.js +0 -280
- package/libx/_runtime/common/utils/cqn2cqn4sql.js +0 -1039
- package/libx/_runtime/common/utils/data.js +0 -16
- package/libx/_runtime/common/utils/dollar.js +0 -27
- package/libx/_runtime/common/utils/generateOnCond.js +0 -127
- package/libx/_runtime/common/utils/onlyKeysRemain.js +0 -10
- package/libx/_runtime/common/utils/path.js +0 -20
- package/libx/_runtime/common/utils/quotingStyles.js +0 -29
- package/libx/_runtime/common/utils/restrictions.js +0 -67
- package/libx/_runtime/common/utils/search2cqn4sql.js +0 -37
- package/libx/_runtime/common/utils/searchToLike.js +0 -56
- package/libx/_runtime/common/utils/stream.js +0 -103
- package/libx/_runtime/common/utils/ucsn.js +0 -119
- package/libx/_runtime/common/utils/union.js +0 -31
- package/libx/_runtime/common/utils/unionCqnTemplate.js +0 -174
- package/libx/_runtime/db/Service.js +0 -93
- package/libx/_runtime/db/data-conversion/post-processing.js +0 -175
- package/libx/_runtime/db/expand/expand-v2.js +0 -147
- package/libx/_runtime/db/expand/expandCQNToJoin.js +0 -1775
- package/libx/_runtime/db/expand/index.js +0 -13
- package/libx/_runtime/db/expand/rawToExpanded.js +0 -250
- package/libx/_runtime/db/generic/create.js +0 -30
- package/libx/_runtime/db/generic/delete.js +0 -18
- package/libx/_runtime/db/generic/index.js +0 -25
- package/libx/_runtime/db/generic/input.js +0 -227
- package/libx/_runtime/db/generic/read.js +0 -16
- package/libx/_runtime/db/generic/rewrite.js +0 -68
- package/libx/_runtime/db/generic/structured.js +0 -92
- package/libx/_runtime/db/generic/update.js +0 -97
- package/libx/_runtime/db/generic/virtual.js +0 -83
- package/libx/_runtime/db/query/delete.js +0 -39
- package/libx/_runtime/db/query/index.js +0 -13
- package/libx/_runtime/db/query/insert.js +0 -21
- package/libx/_runtime/db/query/read.js +0 -97
- package/libx/_runtime/db/query/run.js +0 -30
- package/libx/_runtime/db/query/update.js +0 -94
- package/libx/_runtime/db/result/InsertResult.js +0 -87
- package/libx/_runtime/db/sql-builder/BaseBuilder.js +0 -65
- package/libx/_runtime/db/sql-builder/CreateBuilder.js +0 -212
- package/libx/_runtime/db/sql-builder/DeleteBuilder.js +0 -87
- package/libx/_runtime/db/sql-builder/DropBuilder.js +0 -63
- package/libx/_runtime/db/sql-builder/ExpressionBuilder.js +0 -345
- package/libx/_runtime/db/sql-builder/FunctionBuilder.js +0 -232
- package/libx/_runtime/db/sql-builder/InsertBuilder.js +0 -494
- package/libx/_runtime/db/sql-builder/ReferenceBuilder.js +0 -135
- package/libx/_runtime/db/sql-builder/SelectBuilder.js +0 -482
- package/libx/_runtime/db/sql-builder/UpdateBuilder.js +0 -207
- package/libx/_runtime/db/sql-builder/UpsertBuilder.js +0 -25
- package/libx/_runtime/db/sql-builder/annotations.js +0 -50
- package/libx/_runtime/db/sql-builder/arrayed.js +0 -4
- package/libx/_runtime/db/sql-builder/dataTypes.js +0 -59
- package/libx/_runtime/db/sql-builder/dollar.js +0 -37
- package/libx/_runtime/db/sql-builder/index.js +0 -28
- package/libx/_runtime/db/sql-builder/sqlFactory.js +0 -104
- package/libx/_runtime/db/utils/coloredTxCommands.js +0 -7
- package/libx/_runtime/db/utils/columns.js +0 -41
- package/libx/_runtime/db/utils/deep.js +0 -71
- package/libx/_runtime/db/utils/generateAliases.js +0 -160
- package/libx/_runtime/db/utils/localized.js +0 -77
- package/libx/_runtime/db/utils/normalizeTimeData.js +0 -98
- package/libx/_runtime/db/utils/stream.js +0 -41
- package/libx/_runtime/hana/Service.js +0 -173
- package/libx/_runtime/hana/conversion.js +0 -73
- package/libx/_runtime/hana/customBuilder/CustomCreateBuilder.js +0 -11
- package/libx/_runtime/hana/customBuilder/CustomDeleteBuilder.js +0 -17
- package/libx/_runtime/hana/customBuilder/CustomDropBuilder.js +0 -12
- package/libx/_runtime/hana/customBuilder/CustomExpressionBuilder.js +0 -23
- package/libx/_runtime/hana/customBuilder/CustomFunctionBuilder.js +0 -34
- package/libx/_runtime/hana/customBuilder/CustomReferenceBuilder.js +0 -38
- package/libx/_runtime/hana/customBuilder/CustomSelectBuilder.js +0 -90
- package/libx/_runtime/hana/customBuilder/index.js +0 -11
- package/libx/_runtime/hana/driver.js +0 -205
- package/libx/_runtime/hana/dynatrace.js +0 -130
- package/libx/_runtime/hana/execute.js +0 -429
- package/libx/_runtime/hana/localized.js +0 -39
- package/libx/_runtime/hana/pool.js +0 -186
- package/libx/_runtime/hana/search.js +0 -20
- package/libx/_runtime/hana/search2Contains.js +0 -106
- package/libx/_runtime/hana/search2cqn4sql.js +0 -98
- package/libx/_runtime/hana/streaming.js +0 -248
- package/libx/_runtime/messaging/Outbox.js +0 -15
- package/libx/_runtime/sqlite/Service.js +0 -153
- package/libx/_runtime/sqlite/conversion.js +0 -47
- package/libx/_runtime/sqlite/convertAssocToOneManaged.js +0 -60
- package/libx/_runtime/sqlite/convertDraftAdminPathExpression.js +0 -74
- package/libx/_runtime/sqlite/customBuilder/CustomExpressionBuilder.js +0 -24
- package/libx/_runtime/sqlite/customBuilder/CustomFunctionBuilder.js +0 -102
- package/libx/_runtime/sqlite/customBuilder/CustomSelectBuilder.js +0 -16
- package/libx/_runtime/sqlite/customBuilder/CustomUpsertBuilder.js +0 -47
- package/libx/_runtime/sqlite/customBuilder/index.js +0 -49
- package/libx/_runtime/sqlite/execute.js +0 -345
- package/libx/_runtime/sqlite/localized.js +0 -49
- package/libx/outbox/index.js +0 -307
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,126 @@
|
|
|
4
4
|
- The format is based on [Keep a Changelog](https://keepachangelog.com/).
|
|
5
5
|
- This project adheres to [Semantic Versioning](https://semver.org/).
|
|
6
6
|
|
|
7
|
+
## Version 9.0.3 - 2025-06-04
|
|
8
|
+
|
|
9
|
+
### Fixed
|
|
10
|
+
|
|
11
|
+
- Handling of bad timestamps in URL ($filter and temporals)
|
|
12
|
+
- View metadata for requests with $apply
|
|
13
|
+
- Server crash for some URLs
|
|
14
|
+
|
|
15
|
+
## Version 9.0.2 - 2025-05-28
|
|
16
|
+
|
|
17
|
+
### Changed
|
|
18
|
+
|
|
19
|
+
- REVERT: For drafts, read-only fields must be set in `CREATE` handlers (calculated values set in `NEW` handlers are cleansed). If children are added in draft `CREATE` handlers, the field `DraftAdministrativeData_DraftUUID` must be set.
|
|
20
|
+
|
|
21
|
+
### Fixed
|
|
22
|
+
|
|
23
|
+
- `cds.load()` ignores the outbox model if it's the only model source, helping `watch` to suppress it as well.
|
|
24
|
+
|
|
25
|
+
## Version 9.0.1 - 2025-05-26
|
|
26
|
+
|
|
27
|
+
### Changed
|
|
28
|
+
|
|
29
|
+
- Lean draft handler is registered in a service only if a draft-enabled service entity exists
|
|
30
|
+
|
|
31
|
+
### Fixed
|
|
32
|
+
|
|
33
|
+
- `cqn2odata`: value formatting in OData v4 lambda expressions
|
|
34
|
+
- Processing in `filed-based-messaging` must be async
|
|
35
|
+
- `Location` response header for REST protocol
|
|
36
|
+
- `cds.log` is unwired from `cds.env` now, which allows to use `cds.log` in plugins, without risk of loading `cds.env` too early.
|
|
37
|
+
- Elements from `mixin` are now being considered by `minify`
|
|
38
|
+
- Lean draft: Insert.entries on draft enabled entity
|
|
39
|
+
- Remote call of action/function always forwards passed headers
|
|
40
|
+
- `cds serve` no longer fails with an duplicate install error if the shell's working directory differs in case (like `C:` vs `c:` on Windows).
|
|
41
|
+
- Erroneously skipped input validation for local service calls
|
|
42
|
+
|
|
43
|
+
## Version 9.0.0 - 2025-05-07
|
|
44
|
+
|
|
45
|
+
### Added
|
|
46
|
+
|
|
47
|
+
- CAP-native task queues (beta; replacing generic outbox -- see section Changed for additional details)
|
|
48
|
+
+ Events and requests to a "queued service" are written to the database in the current transaction (with default kind `persistent-queue`) and processed as asynchronous tasks
|
|
49
|
+
+ Programmatically queue or unqueue any service via `cds.queued(srv)`/ `cds.unqueued(srv)`
|
|
50
|
+
+ Statically queue instances of `cds.MessagingService` or `AuditLogService` via config `cds.requires.<srv>.queued = true`
|
|
51
|
+
+ Disable the persistent task queue via `cds.requires.queue = false`
|
|
52
|
+
+ Tasks are processed in dedicated transactions (except on SQLite, where there are no concurrent transactions)
|
|
53
|
+
+ Tasks are retried until processed succesfully or the max. retry count is reached, i.e., adding resiliency to the respective service
|
|
54
|
+
+ Tasks that cause unrecoverable or programming errors will remain in the database table but will not be retried
|
|
55
|
+
+ Experimental task scheduling API `<srv>.schedule()` as variant of `<srv>.send()` with fluent API options `.after(<ms>)` and `.every(<ms>)`
|
|
56
|
+
+ Experimental task callback API `<srv>.after('<event>/#succeeded', (results, req))`/ `<srv>.after('<event>/#failed', (error, req))`
|
|
57
|
+
+ Experimental task trigger API `<srv>.flush()`
|
|
58
|
+
+ Experimental application-level task status management to avoid long-lasting database locks
|
|
59
|
+
+ Enable via `cds.requires.queue.legacyLocking = false`
|
|
60
|
+
+ Caution: Application-level task status management only works if all active app deployments are on cds^9!
|
|
61
|
+
- Inbox: Inbound messages can be accepted as asynchronous tasks via config `cds.requires.messaging.inboxed = true`
|
|
62
|
+
- Not null validiations for actions and functions
|
|
63
|
+
- `cds.auth`: Provide custom configuration to `@sap/xssec`-based authentication via `cds.requires.auth.config`
|
|
64
|
+
- IAS: Token validation for requests to the app's "cert url" (with `.cert` segment in the domain)
|
|
65
|
+
- Support refs with longer path expressions like `ref: ['root', 'child', 'subchild', 'ID']` when resolving queries to the target entity
|
|
66
|
+
- `PATCH` as synonym for `UPDATE` during event handler registration
|
|
67
|
+
- `UPSERT` semantics for `PUT` requests can be deactivated via flag `cds.runtime.put_as_upsert=false`
|
|
68
|
+
|
|
69
|
+
### Changed
|
|
70
|
+
|
|
71
|
+
- Evolution of the generic outbox to CAP-native task queues:
|
|
72
|
+
+ `cds.queued()`/ `cds.unqueued()` replace `cds.outboxed()`/ `cds.unboxed()` (temporary compat in place)
|
|
73
|
+
+ Global configuration `cds.requires.queue` replaces `cds.requires.outbox` (temporary compat in place)
|
|
74
|
+
+ New default `cds.requires.queue = true`. This change requires a database deployment (for table `cds.outbox.Messages`) if `cds.requires.outbox` was not manually set to `true` before.
|
|
75
|
+
+ Default `chunkSize` reduced from `100` to `10`. If parallel processing is disabled (`parallel = false`), the `chunkSize` config is ignored and the effective `chunkSize` is `1`.
|
|
76
|
+
- Support for `@sap/cds-mtxs` version 1 is dropped
|
|
77
|
+
- Service level restrictions for application service calls are enforced by default
|
|
78
|
+
+ Opt out with `cds.features.service_level_restrictions=false` until next major version
|
|
79
|
+
- `req.diff` uses a deep expand to fetch data for deep update comparison. Previously, it read each composition layer sequentially.
|
|
80
|
+
- `cds.test` now requires module `@cap-js/cds-test` to be installed. Test dependencies like `axios`, `chai`, `chai-as-promised`, and `chai-subset` can be usually removed in favor of `@cap-js/cds-test`.
|
|
81
|
+
- `cds.context.locale` is only set if initiated from an HTTP client specifying a locale
|
|
82
|
+
- Only new major version 4 of SAP Cloud SDK is supported from now on . Please make sure to upgrade. Detailed changes are documented in the [migration guide](https://github.com/SAP/cloud-sdk-js/blob/main/V4-Upgrade-Guide.md).
|
|
83
|
+
- `cds-serve` now fails if `@sap/cds` would be loaded from different installation paths to prevent inconsistent server state. Such situations are always a setup issue, often caused by plugins that require diverging versions. Disable with `cds.server.exit_on_multi_install: false`.
|
|
84
|
+
- For drafts, read-only fields must be set in `CREATE` handlers (calculated values set in `NEW` handlers are cleansed). If children are added in draft `CREATE` handlers, the field `DraftAdministrativeData_DraftUUID` must be set.
|
|
85
|
+
- `hdbtabledata` files created by `cds compile/build` now instruct SAP HANA to decode base64 values in CSV files for `LargeBinary` elements. This aligns the behavior with SQLite and H2, avoiding manual base64 decoding. It can be disabled with `cds.hana.table_data.column_mapping.LargeBinary=false`.
|
|
86
|
+
- `PATCH` requests no longer create the target resource if it doesn't exist (`UPSERT` semantics)
|
|
87
|
+
+ Re-enable via flag `cds.runtime.patch_as_upsert=true`
|
|
88
|
+
- `PUT` requests no longer set unprovided properties to their default values (`REPLACE` semantics)
|
|
89
|
+
+ Re-enable via flag `cds.runtime.put_as_replace=true`
|
|
90
|
+
+ If enabled, the defaulting is now done in the protocol adapter
|
|
91
|
+
- `req.params` is an array of objects (instead of plain values for single-keyed entities with key `ID`)
|
|
92
|
+
+ Opt out with `cds.features.consistent_params=false` until next major version
|
|
93
|
+
|
|
94
|
+
### Fixed
|
|
95
|
+
|
|
96
|
+
- Webhook creation in `enterprise-messaging` is more resilient in case of multiple instances
|
|
97
|
+
- `cdsjsonschema` protocol in lower case for cds json schema
|
|
98
|
+
- In `CREATE` handlers for drafts, the original path is preserved
|
|
99
|
+
- `@sap/cds-mtxs` is now loaded before other plugins so that they can register handlers for mtx services.
|
|
100
|
+
- The default index page respects now `cds.odata.containment`
|
|
101
|
+
- Remove incorrect `Type` suffix from `@odata.context` for views with parameters
|
|
102
|
+
- Support where clauses in refs
|
|
103
|
+
|
|
104
|
+
### Removed
|
|
105
|
+
|
|
106
|
+
- Legacy OData adapter which was enabled with compat `cds.features.odata_new_adapter=false`
|
|
107
|
+
- Legacy Database services which were enabled with `@sap/cds-hana` or `sqlite3`
|
|
108
|
+
- `@cds.default.order` and `@odata.default.order` for implicit sorting
|
|
109
|
+
- `cds.auth`: Support for `@sap/xssec^3` (incl. compatibility mode of `@sap/xssec^4`)
|
|
110
|
+
- Undocumented compat flag `cds.features.odata_v2_result_conversion`
|
|
111
|
+
- Undocumented util `cds.utils.pool`
|
|
112
|
+
- Undocumented method `INSERT.as`. Use `INSERT.from` instead to insert sub `SELECT` queries.
|
|
113
|
+
- Undocumented method `req._queryOptions` of `cds.Request` belonging to the new OData adapter
|
|
114
|
+
- Undocumented method `_reset` of the `cds.ql` API
|
|
115
|
+
- Undocumented property `cmd` of the `cds.ql` `Query` class. Please use method `kind` instead.
|
|
116
|
+
- Undocumented method `protocol4` of the `Protocol` class. Please use property `def.protocols` instead.
|
|
117
|
+
- Undocumented methods `impl` and `with` of the `ApplicationService` class. Please use `prepend` instead.
|
|
118
|
+
- Undocumented compat flag `cds.features.rest_error_handler`
|
|
119
|
+
- Deprecated compat flags `cds.features.compat_restrict_bound` and `cds.env.features.compat_restrict_where`
|
|
120
|
+
- Deprecated compat flag `cds.features.stream_compat`
|
|
121
|
+
- Deprecated feature flag `cds.log.kibana_custom_fields`. Please use `cds.log.als_custom_fields` instead`.
|
|
122
|
+
- Deprecated compat flag `cds.features.keys_in_data_compat`
|
|
123
|
+
- Deprecated element-level annotation `@Search.defaultSearchElement`. Please use annotation `@cds.search` instead.
|
|
124
|
+
- Deprecated stripping of unnecessary topic prefix `topic:` in messaging
|
|
125
|
+
- Deprecated messaging `Outbox` class. Please use config or `cds.outboxed(srv)` to outbox your service.
|
|
126
|
+
|
|
7
127
|
## Version 8.9.4 - 2025-05-16
|
|
8
128
|
|
|
9
129
|
### Fixed
|
|
@@ -37,6 +157,7 @@
|
|
|
37
157
|
- `cds.env` merging for `null` values
|
|
38
158
|
- Best-effort mechanisms for lambda support on OData V2 remote services (usage of functions in lambda expressions)
|
|
39
159
|
- Use extended model in `enterprise-messaging` inbound handlers
|
|
160
|
+
- Compat flag `cds.features.draft_compat` for handler registration in draft scenarios
|
|
40
161
|
|
|
41
162
|
## Version 8.9.0 - 2025-03-31
|
|
42
163
|
|
|
@@ -613,683 +734,3 @@
|
|
|
613
734
|
- Deprecated csn entity proxy `<entity>_texts`. Use `<entity>.texts` instead.
|
|
614
735
|
- Deprecated built-in `cds.compile.to.gql` and `cds.compile.to.graphql` compile targets. These are provided by `@cap-js/graphql` plugin versions >= 0.9.0.
|
|
615
736
|
- Deprecated API `srv.stream`. Use `SELECT` with a single `cds.LargeBinary` column instead.
|
|
616
|
-
|
|
617
|
-
## Version 7.9.4 - 2024-07-18
|
|
618
|
-
|
|
619
|
-
### Fixed
|
|
620
|
-
|
|
621
|
-
- View resolving for `cds.features.lean_draft`
|
|
622
|
-
- Error in `enterprise-messaging` deploy script
|
|
623
|
-
- Properly forward path expression infront of lamda functions for `odata-v2` remote services
|
|
624
|
-
- OData queries selecting the same column with `$count=true`
|
|
625
|
-
- Closed higher end of version range for dependency on `cds-types`
|
|
626
|
-
|
|
627
|
-
## Version 7.9.3 - 2024-06-27
|
|
628
|
-
|
|
629
|
-
### Fixed
|
|
630
|
-
|
|
631
|
-
- `cds compile --to serviceinfo` returns the correct URL path for Java applications.
|
|
632
|
-
- Prevent HANA deadlocks when processing outbox table
|
|
633
|
-
- Invalid cache for `SiblingEntity` requests
|
|
634
|
-
- `cds.test` recommends version 7 of `chai-as-promised`. Version 8 is ESM-only and does not work with `cds.test` at the moment.
|
|
635
|
-
- Loading of `cds.plugins` now respects the (internal!) property `cds.env.plugins` again.
|
|
636
|
-
- `req.data` and `req.INSERT.entries` were not pointing to same object if it contains more than one entry.
|
|
637
|
-
|
|
638
|
-
## Version 7.9.2 - 2024-05-22
|
|
639
|
-
|
|
640
|
-
### Fixed
|
|
641
|
-
|
|
642
|
-
- Server crash in case of certain errors in Cloud SDK
|
|
643
|
-
- Bug in restriction of entities modeled as composition of aspects
|
|
644
|
-
- `$search`: resolve an exception accessing `req.query.elements`
|
|
645
|
-
- Ignore flattened associations in projection on remote entities
|
|
646
|
-
- Falsy keys in `cds.ql` were ignored in usage like `SELECT.from(Books, 0)`
|
|
647
|
-
|
|
648
|
-
## Version 7.9.1 - 2024-05-13
|
|
649
|
-
|
|
650
|
-
### Fixed
|
|
651
|
-
|
|
652
|
-
- `cds.compile.to.sql` doesn't fail for older compiler versions if `postgres` keywords aren't defined
|
|
653
|
-
- `cds compile --to serviceinfo` no longer detects a Java project if there is a pom.xml file in a subfolder of `app/`
|
|
654
|
-
- `acquireTimeoutMillis` is ensured if custom pool config is provided
|
|
655
|
-
|
|
656
|
-
## Version 7.9.0 - 2024-04-30
|
|
657
|
-
|
|
658
|
-
### Added
|
|
659
|
-
|
|
660
|
-
- 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).
|
|
661
|
-
- Option `cds.env.sql.native_hana_associations: false` to skip generating native HANA associations.
|
|
662
|
-
- Running `cds compile --to sql` with `@cap-js/sqlite` installed now uses `session_context('$user.locale')` in generated DDL statements instead of generating static localized views for 'en', 'fr', and 'de' (same for `cds.deploy`).
|
|
663
|
-
- `api`: export reserved keywords for postgres via `cds.compiler.to.sql.keywords.postgres`
|
|
664
|
-
- Kind `legacy-hana` and profile `better-hana` for local testing scenarios.
|
|
665
|
-
- Support for PDF files (MIME type `application/pdf`) when the `cds.env.features.odata_new_adapter` flag is set to `true`
|
|
666
|
-
- Lean draft: Support for filtered compositions (remain in the document)
|
|
667
|
-
- Support for `COUNT_DISTINCT` as OData data aggregation default method
|
|
668
|
-
- Better support for `profiles` in cds schema for `package.json` and `.cdsrc.json`
|
|
669
|
-
- Performance improvement for generating `@odata.context` url if `cds.features.odata_new_parser` is enabled
|
|
670
|
-
- Alpha support for SAP Event Broker-based messaging (kind `event-broker`)
|
|
671
|
-
|
|
672
|
-
### Changed
|
|
673
|
-
|
|
674
|
-
- Deprecated *INSERT.into(...) **.as** (SELECT...)* → use *INSERT.into(...) **.entries** (SELECT...)* instead.
|
|
675
|
-
- Default value of `cds.env.log.mask_headers` changed to `['/authorization/i', '/cookie/i', '/cert/i', '/ssl/i']` (adding `'/cert/i'` and `'/ssl/i'`)
|
|
676
|
-
- Error messages for entities annotated with '@cds.autoexpose'
|
|
677
|
-
- For Java apps `cds.sql.transitive_localized_views` now defaults to `false` to create less database views.
|
|
678
|
-
- For Java apps `cdsc.betterSqliteSessionVariables` now defaults to `true` to enable session variables on H2 and SQLite by default.
|
|
679
|
-
|
|
680
|
-
### Fixed
|
|
681
|
-
|
|
682
|
-
- `cds.compile.to.yaml` produced invalid YAML for compacted lines
|
|
683
|
-
- Handling of If-None-Match header for non-existing entity
|
|
684
|
-
- Revert json schema for cds schemas to `draft-07` to prevent VS Code warnings about unsupported schema features.
|
|
685
|
-
- Remote services: JSON representation of error shall include `request` and `response`
|
|
686
|
-
- Aliasing of associated entity column in case of expand by CQN build with joins.
|
|
687
|
-
- `$apply` scenarios when used alongside `cds.env.features.odata_new_adapter = true` and the new database layer
|
|
688
|
-
- ETag handling combined with where restrictions
|
|
689
|
-
- `cds compile --to hdbtabledata` now correctly supports CSV files using format `.texts_<lang>.csv`. Before the `include_filter` wasn't set in the generated `.hdbtabledata` files.
|
|
690
|
-
- `cds` commands no longer crash when executed in the `@sap/cds` installation dir.
|
|
691
|
-
- `cds.infer`: exposed association of query is inferred as `cds.Association` and not as it's target
|
|
692
|
-
|
|
693
|
-
## Version 7.8.2 - 2024-04-22
|
|
694
|
-
|
|
695
|
-
### Fixed
|
|
696
|
-
|
|
697
|
-
- `.find` and `.filter` in `linked.entities()` now returns values instead of names
|
|
698
|
-
- `cds.app.serve.from(pkg,folder)` did not consider `pkg` for serving static resources
|
|
699
|
-
|
|
700
|
-
## Version 7.8.1 - 2024-04-11
|
|
701
|
-
|
|
702
|
-
### Fixed
|
|
703
|
-
|
|
704
|
-
- In some cases, `<entity>.drafts` erroneously pointed to a CSN entity stub.
|
|
705
|
-
- Feature vectors including falsy values like `{ ft1: true, ft2: true, ft3: false }`
|
|
706
|
-
|
|
707
|
-
## Version 7.8.0 - 2024-03-25
|
|
708
|
-
|
|
709
|
-
### Added
|
|
710
|
-
|
|
711
|
-
- Health check endpoint `/health` in default server
|
|
712
|
-
- Class `cds.service` now provides getters for `entities`, `types`, `events` and `operations`. These return iterable objects, which can be used in `for...of` loops.
|
|
713
|
-
- Class `cds.entity` getters for `keys`, `associations`, `operations` also return `Iterable` objects now
|
|
714
|
-
- 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.
|
|
715
|
-
- More warnings for deprecated features, functions and annotations.
|
|
716
|
-
|
|
717
|
-
### Fixed
|
|
718
|
-
|
|
719
|
-
- Reverted `cds.Association` being derived from `cds.struct`; it's now derived from `cds.type` again.
|
|
720
|
-
- Entity definitions using joins were erroneously marked as `_unresolved`
|
|
721
|
-
- Consistent error messages for query options validation with new parser
|
|
722
|
-
- Validation for mandatory associations which target entities with defaulted keys
|
|
723
|
-
- Transaction handling for aborted streaming requests
|
|
724
|
-
- Create/Update over filtered managed compositions
|
|
725
|
-
- Templates are cached at the model (instead of the service)
|
|
726
|
-
- Deprecation warnings use `cds.log()` in production
|
|
727
|
-
- Single quote in a string in `.where` for remote service
|
|
728
|
-
- Escaped characters in double quoted search term when using `odata_new_parser`
|
|
729
|
-
|
|
730
|
-
## Version 7.7.3 - 2024-03-18
|
|
731
|
-
|
|
732
|
-
### Fixed
|
|
733
|
-
|
|
734
|
-
- `cds.log`: preserve message property of details through stringification (it's non-enumerable if the detail entry is an error)
|
|
735
|
-
- Auto-exposed child entities with multiple restrictions
|
|
736
|
-
- Calculation of read-only values in custom code during creation of new drafts
|
|
737
|
-
|
|
738
|
-
## Version 7.7.2 - 2024-03-11
|
|
739
|
-
|
|
740
|
-
### Fixed
|
|
741
|
-
|
|
742
|
-
- Requests to actions/functions on entities in draft state via navigation.
|
|
743
|
-
- PUT/PATCH with if-none-match: * forces insert
|
|
744
|
-
|
|
745
|
-
## Version 7.7.1 - 2024-03-06
|
|
746
|
-
|
|
747
|
-
### Fixed
|
|
748
|
-
|
|
749
|
-
- JWT authentication for Event Mesh endpoints
|
|
750
|
-
- `cds.log`'s json formatter: ensure `type` is set (required on kubernetes until CLS defaults this)
|
|
751
|
-
- Erroneously generated foreign keys in `req.data` for UPDATE using path expressions
|
|
752
|
-
- `INSERT.columns.rows` for multiple nested composition of aspects
|
|
753
|
-
- Paths passed to `tar` on Windows are now normalized to use forward slashes.
|
|
754
|
-
|
|
755
|
-
## Version 7.7.0 - 2024-02-26
|
|
756
|
-
|
|
757
|
-
### Added
|
|
758
|
-
|
|
759
|
-
- Improved trace output for bootstrap phase. For example try that:
|
|
760
|
-
```js
|
|
761
|
-
DEBUG=trace cds w bookshop | grep trace
|
|
762
|
-
```
|
|
763
|
-
- Support for `@odata.draft.bypass` to allow direct modifications of active instances.
|
|
764
|
-
- `req.user.tokenInfo` for `@sap/xssec`-based authentication (`ias`, `jwt`, `xsuaa`)
|
|
765
|
-
- `cds.fiori.draft_lock_timeout` as successor of `cds.drafts.cancellationTimeout`.
|
|
766
|
-
+ Possible values are `/^([0-9]+)(h|hrs|min)$/` or a number in milliseconds.
|
|
767
|
-
- 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`.
|
|
768
|
-
- Deprecation warnings for configuration options `cds.drafts.cancellationTimeout`, `cds.features.serve_on_root`, `cds.features.stream_compat`, `cds.fiori.lean_draft` and `cds.requires.middlewares`, as well as for the properties `req.user.locale` and `req.user.tenant`. The deprecation warnings can be turned off by setting `cds.features.deprecated` to `off`.
|
|
769
|
-
|
|
770
|
-
### Changed
|
|
771
|
-
|
|
772
|
-
- The index page now lists all service endpoints, which is important for services that are exposed through multiple protocols.
|
|
773
|
-
- `cds.deploy` improves error diagnostics with deeper `Query` object inspection.
|
|
774
|
-
- Slightly changed the default export for ESM compatibility. This fixed failing ESM imports in Vitest tests.
|
|
775
|
-
|
|
776
|
-
### Fixed
|
|
777
|
-
|
|
778
|
-
- Persistent outbox must not be used for `t0` tenant.
|
|
779
|
-
- Second `await cds.connect.to('X')`, where initialization of `X` results in an error, did not return.
|
|
780
|
-
- Support additional draft requests.
|
|
781
|
-
- `cds.log` with `null` as argument.
|
|
782
|
-
|
|
783
|
-
## Version 7.6.4 - 2024-02-21
|
|
784
|
-
|
|
785
|
-
### Fixed
|
|
786
|
-
|
|
787
|
-
- Emitting multiple message with an in-memory outbox
|
|
788
|
-
- Occasional crash for invalid draft requests
|
|
789
|
-
- On the index page, aditional links now show up again for non-OData services.
|
|
790
|
-
- Handling of thenables for queries
|
|
791
|
-
|
|
792
|
-
## Version 7.6.3 - 2024-02-13
|
|
793
|
-
|
|
794
|
-
### Fixed
|
|
795
|
-
|
|
796
|
-
- Event Mesh webhooks now add standard `before` middlewares in case of custom authorization
|
|
797
|
-
- `compile.to.serviceinfo` no longer fails for services marked with `@protocol:'none'`. Such internal services are not shown in the output.
|
|
798
|
-
|
|
799
|
-
## Version 7.6.2 - 2024-02-09
|
|
800
|
-
|
|
801
|
-
### Fixed
|
|
802
|
-
|
|
803
|
-
- Introduce i18n `BATCH_TOO_MANY_REQ` key for error message: "Batch request contains too many requests"
|
|
804
|
-
- Properly handle `$orderby` in lean draft
|
|
805
|
-
- View resolving in combination with `@cap-js/cds-db`
|
|
806
|
-
- Allow `cds.requires.someService.outbox` to be a string
|
|
807
|
-
- `cds.log`: errors, when not the first argument, were considered objects carrying custom fields
|
|
808
|
-
- `accept` header parsing for OData requests if quality factor `q` is included
|
|
809
|
-
- Broken links on index page if multiple protocols are configured
|
|
810
|
-
|
|
811
|
-
## Version 7.6.1 - 2024-01-30
|
|
812
|
-
|
|
813
|
-
### Fixed
|
|
814
|
-
|
|
815
|
-
- Garbage collection of draft is configured with `cds.fiori.draft_deletion_timeout`
|
|
816
|
-
|
|
817
|
-
## Version 7.6.0 - 2024-01-29
|
|
818
|
-
|
|
819
|
-
### Added
|
|
820
|
-
|
|
821
|
-
- `cds.upsert` as shortcut for `cds.db.upsert`
|
|
822
|
-
- Automatic deletion of stale drafts. Feature is enabled if `cds.env.fiori.deletionTimeout` is set to a value of `true`; `true` uses the default timeout of `30d` (30 days).
|
|
823
|
-
- Support for default exports (ESM/TS) in custom authentication
|
|
824
|
-
- Support for executing SAP HANA procedures from SYS schema
|
|
825
|
-
- Support for more complex on-conditions in case of READ requests
|
|
826
|
-
- Best effort mechanism for supporting lambda expressions targeting remote odata-v2 services
|
|
827
|
-
- Support for actions and functions which are bound to singletons
|
|
828
|
-
|
|
829
|
-
### Changed
|
|
830
|
-
|
|
831
|
-
- Draft: Standard Sorting Behavior for SAP Fiori List Report Floorplan
|
|
832
|
-
- Use new CDS schema for validation and code completion in `package.json` and `.cdsrc.json` files
|
|
833
|
-
- Media Data Streaming
|
|
834
|
-
+ 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.
|
|
835
|
-
+ Custom Handlers: `SELECT` with explicitly listed `SELECT.columns` of type `cds.LargeBinary` returns them as Readable streams. Large binary columns requested implicitly by `SELECT` (for example, with `.columns('*')`) are ignored.
|
|
836
|
-
+ Streaming API: `cds.stream()` and `srv.stream()` are deprecated and will be removed with the next major release. Use `SELECT` with a single `cds.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> }`.
|
|
837
|
-
+ Backward Compatibility: To restore previous behavior use `stream_compat`.
|
|
838
|
-
|
|
839
|
-
### Fixed
|
|
840
|
-
|
|
841
|
-
- `cds.minify` returned a shallow clone. When callers like 2sql `cds.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.
|
|
842
|
-
- Handling of read-only fields in drafts
|
|
843
|
-
- Event Mesh: Better error message for incoming messages without a topic
|
|
844
|
-
- `cds build` now logs a better error message if an incompatible `@sap/cds` version is used.
|
|
845
|
-
- Better error message for runtime requests to non-existing tenants in extensibility scenario.
|
|
846
|
-
- Do not generate UUIDs for association key during `CREATE` operation.
|
|
847
|
-
- OData aggregation with lean draft
|
|
848
|
-
- Sorting in new odata parser with nested select statements. The default sort order is now added to the outer select statement.
|
|
849
|
-
- Server crash in case of misformatted `groupby` transformation in `$apply`
|
|
850
|
-
- Switched EM webhook endpoints to also use new authentication implementation
|
|
851
|
-
- `odata_new_parser`: better error message and code for expand on non-existing elements
|
|
852
|
-
|
|
853
|
-
### Removed
|
|
854
|
-
|
|
855
|
-
- Experimental `STREAM` CQN is removed and cannot be used anymore
|
|
856
|
-
|
|
857
|
-
## Version 7.5.3 - 2024-01-23
|
|
858
|
-
|
|
859
|
-
### Fixed
|
|
860
|
-
|
|
861
|
-
- `cds.localize` and `cds build` produce `i18n.json` again with keys from all base languages
|
|
862
|
-
- `cds.compile.to.serviceinfo` now correctly parses SpringBoot config with nested objects, e.g. for `cds.odata-v4.endpoint.path`
|
|
863
|
-
- Recommend to use `chai` 4 for the time being, as `chai` 5 doesn't properly work yet (requires ESM, `chai-as-promised` not working)
|
|
864
|
-
- View resolving for entities using property names that are identical to entity names
|
|
865
|
-
- Direct modifications with `cds.fiori.bypass_draft` if `cds.fiori.draft_compat` is not enabled
|
|
866
|
-
- Draft: Field validation error message does not display the name of the field
|
|
867
|
-
|
|
868
|
-
## Version 7.5.2 - 2024-01-05
|
|
869
|
-
|
|
870
|
-
### Fixed
|
|
871
|
-
|
|
872
|
-
- Service-level ETag handling in legacy OData server
|
|
873
|
-
- Only provide model to ModelProvider if extensibility or feature toggles are active
|
|
874
|
-
- OData server driven paging when using feature flags `cds.env.features.odata_new_parser` and `cds.env.features.okra_skip_query_options`
|
|
875
|
-
|
|
876
|
-
## Version 7.5.1 - 2023-12-21
|
|
877
|
-
|
|
878
|
-
### Fixed
|
|
879
|
-
|
|
880
|
-
- Resolving custom authentication implementation pointer
|
|
881
|
-
|
|
882
|
-
## Version 7.5.0 - 2023-12-14
|
|
883
|
-
|
|
884
|
-
### Added
|
|
885
|
-
|
|
886
|
-
- Support for expressions in where clause of `@restrict` annotation.
|
|
887
|
-
+ Example: `@(restrict : [{ grant : ['*'], where : (NAME = $user) }])`
|
|
888
|
-
- Function `cds.unboxed(srv)` to get the non-outboxed variant of the service
|
|
889
|
-
- Service implementations can now be provided in .mjs modules.
|
|
890
|
-
- Remote services: advanced configurable `CSRF` token fetching HTTP method and the URL.
|
|
891
|
-
For example, in the configuration of your remote services, you can now configure the HTTP method and URL as follows:
|
|
892
|
-
```json
|
|
893
|
-
"cds": {
|
|
894
|
-
"requires": {
|
|
895
|
-
"API_BUSINESS_PARTNER": {
|
|
896
|
-
"kind": "odata",
|
|
897
|
-
"model": "srv/external/API_BUSINESS_PARTNER",
|
|
898
|
-
"csrf": { // this configuration implies `csrf: true`
|
|
899
|
-
"method": "get",
|
|
900
|
-
"url": "..."
|
|
901
|
-
}
|
|
902
|
-
}
|
|
903
|
-
}
|
|
904
|
-
}
|
|
905
|
-
```
|
|
906
|
-
- `cds.log`'s built-in JSON formatter:
|
|
907
|
-
+ Extract custom fields (`cds.env.log.als_custom_fields`) and categories from args (not only error-like first objects)
|
|
908
|
-
+ Example: `LOG.info('foo', { query: 'SELECT * FROM DUMMY' }, 'bar', { categories: ['baz'] })`
|
|
909
|
-
+ `cds.env.log.mask_headers = [...]` allows to specify a list of matchers for which the header value shall be masked (i.e., printed as `***`)
|
|
910
|
-
+ Default: `['/authorization/i', '/cookie/i']`
|
|
911
|
-
- `cds.env.fiori.bypass_draft` feature flag, designed to enable direct modifications via `POST` and `PATCH` of
|
|
912
|
-
active instances in lean draft mode (`cds.env.fiori.lean_draft=true`). For example:
|
|
913
|
-
|
|
914
|
-
```http
|
|
915
|
-
POST /Orders
|
|
916
|
-
{
|
|
917
|
-
"IsActiveEntity": true
|
|
918
|
-
}
|
|
919
|
-
```
|
|
920
|
-
|
|
921
|
-
- Auth kind `ias`: same SAML attr API as auth kind `xsuaa` for easier migration
|
|
922
|
-
|
|
923
|
-
### Changed
|
|
924
|
-
|
|
925
|
-
- Removed and integrated former `ctx-auth` middleware into `cds.auth` middleware
|
|
926
|
-
- `cds.log`:
|
|
927
|
-
+ `cds.env.log.format = 'plain'|'json'` allows to configure which built-in formatter is used. Defaults to `json` in production, `plain` otherwise.
|
|
928
|
-
+ If a built-in JSON formatter is used:
|
|
929
|
-
+ Field `tenant_subdomain` is filled if running on CF and information is available through authentication
|
|
930
|
-
+ Additional CF-related fields are filled if running on CF
|
|
931
|
-
+ Custom fields (`cds.env.log.als_custom_fields`) are filled if bound to an instance of Application Logging Service
|
|
932
|
-
+ Field `categories` is filled if bound to an instance of Application Logging Service
|
|
933
|
-
+ Config `cds.env.log.kibana_custom_fields` changed to `cds.env.log.als_custom_fields` (ALS = Application Logging Service) with compatibility until the next major
|
|
934
|
-
- Package `passport` is no longer required (if `cds.env.requires.middlewares` is not set to `false`)
|
|
935
|
-
- Type definitions for the APIs of this package are now maintained in package [`@cap-js/cds-types`](https://npmjs.com/package/@cap-js/cds-types).
|
|
936
|
-
+ If you used one of the types `CSN`, `Definitions`, `entity` of _@sap/cds/apis/reflect_, use the `Linked` counterparts instead.
|
|
937
|
-
+ If you used the type `CQNQuery` of _@sap/cds/apis/cqn_, use `SELECT` or a union type instead.
|
|
938
|
-
+ This also includes various fixes to Typings for
|
|
939
|
-
+ `req.subject` like `SELECT.from(req.subject)`
|
|
940
|
-
+ `SELECT.columns([...])`
|
|
941
|
-
+ `cds.db`
|
|
942
|
-
+ `cds.util`
|
|
943
|
-
+ `cds.context.features`
|
|
944
|
-
- The number of files logged on `cds serve` is now limited to 30 by default. You can run with `DEBUG=serve` to show all files.
|
|
945
|
-
- `express.static` is only mounted if the target folder (`cds.folders.app`) exists
|
|
946
|
-
- `cds.outbox.Messages` no longer uses aspect `cuid` to reduce model size impact in case `@sap/cds/common` is not used otherwise
|
|
947
|
-
|
|
948
|
-
### Fixed
|
|
949
|
-
|
|
950
|
-
- Messaging: Listen to `*`
|
|
951
|
-
- Drafts of `@readonly` entities cannot be deleted
|
|
952
|
-
- Made `srv.prepend()` robust by not allowing async callbacks and hence not being an async function itself anymore
|
|
953
|
-
- Formatting for stringified number-literal value
|
|
954
|
-
- Secrets are now masked with `DEBUG=cds.service.factory`
|
|
955
|
-
- The timestamp of cds.context is not propagated to new root contexts
|
|
956
|
-
- `cds.localize` uses less memory to create translation bundles
|
|
957
|
-
- `UPSERT` operation failed to fill DateTime/Timestamp fields
|
|
958
|
-
- Use original logic (based on `NODE_ENV`) to load cds plugins from `devDependencies`
|
|
959
|
-
- Property `tenant` also available on express' `req` object with basic and mocked auth
|
|
960
|
-
- Empty `req.data` in before `DELETE` handler in draft
|
|
961
|
-
- Loading `cds-plugins` now offers a hook to add a more flexible plugin loader, e.g., for corrupt `package.json` files.
|
|
962
|
-
- Ignore default values of associations for draft entities
|
|
963
|
-
- OData: client-side errors (4xx) logged as warnings instead of errors
|
|
964
|
-
- IAS authentication: use `tokenInfo.getClientId()` instead of `payload.azp` as it implements a fallback
|
|
965
|
-
- Deep updates with binary keys
|
|
966
|
-
- Allow `null` values in `cds.env` (example package.json excerpt: `{ "cds": { "features": { "foo": null } } }`)
|
|
967
|
-
- Collection-bound actions/functions called via navigation
|
|
968
|
-
|
|
969
|
-
### Removed
|
|
970
|
-
|
|
971
|
-
- Deprecated global configuration feature flag `cds.env.features.fetch_csrf`.
|
|
972
|
-
Instead, please use `csrf` and `csrfInBatch` to configure your remote services.
|
|
973
|
-
These options will allow to configure CSRF-token handling.
|
|
974
|
-
- Compat for deprecated `cds.env.auth.passport`. Use `cds.env.requires.auth` instead.
|
|
975
|
-
|
|
976
|
-
## Version 7.4.2 - 2023-11-30
|
|
977
|
-
|
|
978
|
-
### Fixed
|
|
979
|
-
|
|
980
|
-
- Typing for `DELETE.from(<e>.drafts)`
|
|
981
|
-
- UUID keys must not be generated for associations
|
|
982
|
-
|
|
983
|
-
## Version 7.4.1 - 2023-11-23
|
|
984
|
-
|
|
985
|
-
### Fixed
|
|
986
|
-
|
|
987
|
-
- Add dynamic properties to result when experimental feature `cds.env.features.okra_skip_query_options` is active
|
|
988
|
-
- Allow negative integers in new parser
|
|
989
|
-
- Allow deletion of instances outside the draft tree
|
|
990
|
-
- Tenant lookup in OData metadata requests
|
|
991
|
-
- `cds.parse.csv` and `cds deploy` correctly parse CSV files with Windows file endings (CRLF) and quoted values
|
|
992
|
-
- Typescript Typings
|
|
993
|
-
|
|
994
|
-
## Version 7.4.0 - 2023-11-13
|
|
995
|
-
|
|
996
|
-
### Added
|
|
997
|
-
|
|
998
|
-
- Any service is outboxable via `srv = cds.outboxed(srv)`
|
|
999
|
-
- Draft: support `HasActiveEntity eq false` by read
|
|
1000
|
-
- Check if OData function/action params exist for complex types
|
|
1001
|
-
- Remote services: destination option `jwt` set to `null` instructs that an incoming request's JWT shall not be passed to SAP Cloud SDK, e.g., when it shall use a fresh client credentials flow token
|
|
1002
|
-
+ Example:
|
|
1003
|
-
```json
|
|
1004
|
-
"requires": {
|
|
1005
|
-
"API_BUSINESS_PARTNER": {
|
|
1006
|
-
[...]
|
|
1007
|
-
"destinationOptions": {
|
|
1008
|
-
"jwt": null
|
|
1009
|
-
}
|
|
1010
|
-
}
|
|
1011
|
-
}
|
|
1012
|
-
```
|
|
1013
|
-
- Alpha feature flag `cds.env.fiori.wrap_multiple_errors` to toggle the following behaviour for OData errors meant to be consumed by SAP Fiori Elements:
|
|
1014
|
-
In cases where multiple errors occur and the flag is set to `false`, the first error is presented as the top-level error (replacing the generic "multiple errors" wrapper).
|
|
1015
|
-
The default value is `true`, but `false` will become the default value in cds^8.
|
|
1016
|
-
- On CF, the default keep alive timeout of the server is set to 91s (to exceed the 90s of CF's gorouter)
|
|
1017
|
-
- `cds deploy` now auto-fills the `ID_texts` field (which get created for entities marked with `@fiori.draft.enabled`) in csv and json data files with a stable UUID. This way, it does not need to be manually added to data files. Also, as the value is stable (a hash of the semantic key fields `ID` and `locale`), it works with `UPSERT` statements.
|
|
1018
|
-
|
|
1019
|
-
### Changed
|
|
1020
|
-
|
|
1021
|
-
- Default outbox configuration (overridable via `cds.env.requires.outbox = { ... }`):
|
|
1022
|
-
+ `kind` changed to `persistent-outbox` (was `in-memory-outbox`)
|
|
1023
|
-
+ `parallel` changed to `true` (i.e., messages are not emitted in sequence)
|
|
1024
|
-
- Internal class `OutboxService` is deprecated and will be removed
|
|
1025
|
-
|
|
1026
|
-
### Fixed
|
|
1027
|
-
|
|
1028
|
-
- `req.subject` in lean-draft handlers
|
|
1029
|
-
- `cds.odata.batch_limit` wasn't taken into account
|
|
1030
|
-
- Enterprise-Messaging: Only set tenant information for multitenant apps
|
|
1031
|
-
- Enterprise-Messaging: Race condition in `subscribe` event
|
|
1032
|
-
- Draft: delete of active entity is forbidden, if draft exist
|
|
1033
|
-
- Draft: sorting of draft entities in `list status: all`
|
|
1034
|
-
- Draft: invalid delete draft request now rejects with error
|
|
1035
|
-
- Draft: Enhance Draft Edit functionality with exclusive record lock
|
|
1036
|
-
- Typings for `req.reject/error/info/warn`
|
|
1037
|
-
- Deep delete with mixins on new db layer did not work
|
|
1038
|
-
- Special strings like `'$now'`, `'$user'` and `'$uuid'` expanded automatically
|
|
1039
|
-
- Only services that are served via OData are precompiled during startup
|
|
1040
|
-
- Response status of not existing mocks returned 200 instead of 404
|
|
1041
|
-
- Calculation of @Capabilities in case of complex $apply
|
|
1042
|
-
- `test.data.reset()` did not delete drafts
|
|
1043
|
-
- `resolveView` considers `list` for renamed columns
|
|
1044
|
-
- `cds.schema` now loads lazily
|
|
1045
|
-
- `odata_new_parser`: `$expand=` no longer throws an error with and is simply ignored
|
|
1046
|
-
- `odata_new_parser`: Empty custom query params like `Foo?bar` are ignored
|
|
1047
|
-
- `odata_new_parser`: generated wrong CQN for queries like `$filter=false or ref eq 5`
|
|
1048
|
-
|
|
1049
|
-
## Version 7.3.1 - 2023-10-23
|
|
1050
|
-
|
|
1051
|
-
### Fixed
|
|
1052
|
-
|
|
1053
|
-
- `cds-ts` no longer fails if configured with an ESM loader. It tries loading files w/ `import()` in this case.
|
|
1054
|
-
- `cds deploy` for draft enabled entities
|
|
1055
|
-
|
|
1056
|
-
## Version 7.3.0 - 2023-10-04
|
|
1057
|
-
|
|
1058
|
-
### Added
|
|
1059
|
-
|
|
1060
|
-
- `cds.localized` now caches i18n bundles per locale and per model to speed up repeated usages of the same bundle at runtime, for example, in repeated calls to `cds.compile.for.edmx()`.
|
|
1061
|
-
- Based on `cds.localized` with cached bundles, a new operation `cds.localized.lookup(i18n_key, locale)` is provided.
|
|
1062
|
-
- If env variable `CDS_TEST_ENV_CHECK` is set, `cds.test.in()` detects if `cds.env` was loaded before from a different folder.
|
|
1063
|
-
- `cds.test.log()` allows to capture and analyze any console log output. `cds.test.verbose()` is now deprecated.
|
|
1064
|
-
- Typings for `cds.tx`
|
|
1065
|
-
- Add method `cds.schema.default4(schemaId)` to retrieve json schema based on its id
|
|
1066
|
-
- Support for pseudo role `internal-user` with authentication kind `ias`
|
|
1067
|
-
- CSV files with multiline values, i.e. line breaks, are now supported with `cds deploy`
|
|
1068
|
-
|
|
1069
|
-
### Changed
|
|
1070
|
-
|
|
1071
|
-
- If omitted in the accept header, `ExponentialDecimals` no longer gets defaulted (to `true`), which violated the OData 4.0 specification.
|
|
1072
|
-
This change can _temporarily_ be overridden via `cds.env.odata.defaultExponentialDecimals = 'true/false'`.
|
|
1073
|
-
- Make type signature of `extend.with` more general
|
|
1074
|
-
- `cds.test.data.autoReset()` is deprecated in favor of explicit `cds.test.data.reset()` call, like `beforeEach (test.data.reset)`.
|
|
1075
|
-
- `cds.utils.uuid()` now uses `randomUUID` function of node `crypto` module instead of `uuid` package
|
|
1076
|
-
- `@Capabilities` restrictions defined on entity level are also applied if navigating to the entity. Restrictions defined directly on the navigation now override restrictions defined on the target entity.
|
|
1077
|
-
|
|
1078
|
-
### Fixed
|
|
1079
|
-
|
|
1080
|
-
- Draft: activate managed fields were miscalculated in some cases
|
|
1081
|
-
- Error with `exists` predicate in `@restrict.where` when calling compositions
|
|
1082
|
-
- `IsActiveEntity` in error target for lean draft
|
|
1083
|
-
- Remote Service: OData v2 compliant representation of Edm.Decimal, Edm.Double, and Edm.Int64 in URL
|
|
1084
|
-
- In draft activate managed fields were calculated wrongly in some cases
|
|
1085
|
-
- On draft save, missing entries in `req.headers`
|
|
1086
|
-
|
|
1087
|
-
## Version 7.2.1 - 2023-09-21
|
|
1088
|
-
|
|
1089
|
-
### Fixed
|
|
1090
|
-
|
|
1091
|
-
- HTTP headers argument was not forwarded to remote services when using the `srv.send(...)` API.
|
|
1092
|
-
- Not existing draft upon `SAVE` has own error code.
|
|
1093
|
-
- Links to documentation in Typescript definitions.
|
|
1094
|
-
- Remote service won't check for `credentials.url` in case of messaging.
|
|
1095
|
-
- Lean draft: Implicitly added `limit` in some lean draft read scenarios.
|
|
1096
|
-
- Lean draft: Association keys in lean draft.
|
|
1097
|
-
- Remote service: Preserve namespaces in URLs that do not match the service's namespace.
|
|
1098
|
-
|
|
1099
|
-
## Version 7.2.0 - 2023-09-04
|
|
1100
|
-
|
|
1101
|
-
### Added
|
|
1102
|
-
|
|
1103
|
-
- Typescript definition for:
|
|
1104
|
-
- The `cds.exit()` method.
|
|
1105
|
-
- The `label` option parameter in the `cds.log()` API. For example: `cds.log('log message', { label: 'adapter' }`.
|
|
1106
|
-
- A variant of the `roles` property of the `cds.User` class.
|
|
1107
|
-
- `@restrict` annotations can now prevent the creation of drafts ([see documentation](https://cap.cloud.sap/docs/guides/authorization#restrictions-and-draft-mode))
|
|
1108
|
-
- JSON Schema validation for `cds.requires.multitenancy.jobs` settings.
|
|
1109
|
-
- Managed associations to one with exactly one foreign key can now have a default value.
|
|
1110
|
-
- Experimental feature flag `cds.env.features.okra_skip_query_options`. This feature allows you to bypass the parsing of query options by the legacy OData V4 Server (Okra). Please note that this feature can only be utilized in conjunction with the new OData parser, which is activated by setting the feature flag `cds.env.features.odata_new_parser = true`.
|
|
1111
|
-
- Support for `@requires: 'any'` to make service public, i.e., no authenticated user is required
|
|
1112
|
-
|
|
1113
|
-
### Changed
|
|
1114
|
-
|
|
1115
|
-
- The built-in `java` profile sets `build.target` to `.` by default
|
|
1116
|
-
- Decimals from query options (e.g., `$filter`) are represented as strings in CQN
|
|
1117
|
-
- Improve error message for unsupported transformations with `$apply`
|
|
1118
|
-
- For database dialect H2, specialized, localized views for languages `de` and `fr` are no longer generated.
|
|
1119
|
-
- Authentication kinds `jwt`, `xsuaa`, and `ias` throw an error during bootstrapping if the necessary credentials are
|
|
1120
|
-
unavailable.
|
|
1121
|
-
Previously, a warning was logged, and authentication was skipped.
|
|
1122
|
-
See `cds bind`/ Hybrid Testing in CAPire for how to combine local development and cloud resources.
|
|
1123
|
-
- The Typescript definitions now make use of the default export.
|
|
1124
|
-
|
|
1125
|
-
### Fixed
|
|
1126
|
-
|
|
1127
|
-
- Trace middleware: Adapted usage of `performance.now()` for Node 20.
|
|
1128
|
-
- Draft: Associations to non-draft enabled entities must never point to drafts
|
|
1129
|
-
- Avoided type error in old db post-processing
|
|
1130
|
-
- `<remote-srv>.run('/arbitrary-url')` now defaults to a get request and doesn't add request body
|
|
1131
|
-
- `@cds.query.limit` is cached per projection
|
|
1132
|
-
- Application crash for incorrect usage of REST-style API to run queries
|
|
1133
|
-
- The `@requires` annotation on entity level didn't get applied to bound operations
|
|
1134
|
-
- `cds.test` run with a profile parameter such as `cds.test('run', '--profile', 'integration-tests')` will use the
|
|
1135
|
-
correct profile.
|
|
1136
|
-
- `cds.env.requires.auth.restrict_all_services = false` in combination with `cds.env.requires.middlewares = true` (the default)
|
|
1137
|
-
|
|
1138
|
-
## Version 7.1.2 - 2023-08-11
|
|
1139
|
-
|
|
1140
|
-
### Fixed
|
|
1141
|
-
|
|
1142
|
-
- `req.tenant` is undefined when using the new OData parser
|
|
1143
|
-
- Draft: Replace some occurrences of the `arr.push(...largeArray)` pattern when copying large arrays to prevent maximum
|
|
1144
|
-
call stack size exceeded errors due to large deep update processing when saving the draft
|
|
1145
|
-
- Keys are no longer added to the diff as they could be renamed, leading to SQL errors
|
|
1146
|
-
- Custom-bound actions for draft-enabled entities don't trigger a READ request on application service anymore
|
|
1147
|
-
- `cds.connect.to('db', options)`: add-hoc options for SAP HANA Database Service
|
|
1148
|
-
- Reading key-less singleton with `$select` clause while using the new OData parser `cds.env.features.odata_new_parser`
|
|
1149
|
-
- Avoided using colored logs if process.env.NO_COLOR is set or not logging to a terminal (i.e., `!process.stdout.isTTY || !process.stderr.isTTY`)
|
|
1150
|
-
|
|
1151
|
-
## Version 7.1.1 - 2023-08-01
|
|
1152
|
-
|
|
1153
|
-
### Fixed
|
|
1154
|
-
|
|
1155
|
-
- Lean draft: read actives via service on draft edit
|
|
1156
|
-
- Only log the error in case of an unhandled rejection
|
|
1157
|
-
- Resolve column name for experimental `STREAM` CQN queries that point to views
|
|
1158
|
-
|
|
1159
|
-
## Version 7.1.0 - 2023-07-28
|
|
1160
|
-
|
|
1161
|
-
### Added
|
|
1162
|
-
|
|
1163
|
-
- Enable PDF export via GET to collection with accept header `application/pdf`.
|
|
1164
|
-
Custom handler must return the following:
|
|
1165
|
-
```
|
|
1166
|
-
{
|
|
1167
|
-
value: <instance of Readable>,
|
|
1168
|
-
$mediaContentType: <String>, // > optional, defaults to: application/pdf
|
|
1169
|
-
$mediaContentDispositionFilename: <String>, // > optional
|
|
1170
|
-
$mediaContentDispositionType: <String> // > optional, defaults to 'attachment' if $mediaContentDispositionFilename is set
|
|
1171
|
-
}
|
|
1172
|
-
```
|
|
1173
|
-
- Schema for `cds` entry in `package.json` now has a tooltip and default value
|
|
1174
|
-
- `srv.endpoints`: Array containing the information for all endpoints at which the service is served.
|
|
1175
|
-
Example:
|
|
1176
|
-
```
|
|
1177
|
-
[
|
|
1178
|
-
{ kind: 'odata-v4', path: '/odata/v4/browse' },
|
|
1179
|
-
{ kind: 'rest', path: '/rest/browse' }
|
|
1180
|
-
]
|
|
1181
|
-
```
|
|
1182
|
-
- Service level support for @restrict. Limited to grant: '*' and all filter conditions in `where` are ignored.
|
|
1183
|
-
Example:
|
|
1184
|
-
```
|
|
1185
|
-
@(restrict: [{
|
|
1186
|
-
grant: '*',
|
|
1187
|
-
to: ['authenticated-user']
|
|
1188
|
-
}])
|
|
1189
|
-
```
|
|
1190
|
-
- Support for resolving experimental `STREAM` CQN queries that point to views
|
|
1191
|
-
|
|
1192
|
-
### Fixed
|
|
1193
|
-
|
|
1194
|
-
- Multiple TypeScript fixes/improvements
|
|
1195
|
-
- Proper handling for `expand=*` for OData URL to CQN parser (`cds.env.features.odata_new_parser`)
|
|
1196
|
-
- Corrected the resolution of fully qualified operation names in the REST adapter.
|
|
1197
|
-
- Log level for OData metadata cache was not handled correctly
|
|
1198
|
-
- Protocol paths are normalized to always have a leading slash
|
|
1199
|
-
- `@odata` shortcut for `odata-v4` protocol with custom configuration
|
|
1200
|
-
- Set default protocol to `odata-v4`, independent of the order in `cds.env.protocols`
|
|
1201
|
-
- Now data is correctly logged for `GET` and `DELETE` remote requests
|
|
1202
|
-
- draft: deep update without change should not update the `modifiedAt` field
|
|
1203
|
-
- Lean draft: do not propagate `@Capabilities.NavigationRestrictions.RestrictedProperties`
|
|
1204
|
-
- Commit database transactions only once outbound streaming has ended
|
|
1205
|
-
- Lean draft: deactivate legacy `drafts` getter
|
|
1206
|
-
- Updated typings for `srv.send()`
|
|
1207
|
-
- `$search`: exclude calculated fields/expressions from default search in projection of projections
|
|
1208
|
-
- Immutable properties are always removed from payload during `UPDATE`
|
|
1209
|
-
- `serviceinfo.urlPath` contains the first endpoint of the service (cf. `srv.endpoints`), which is the legacy path if
|
|
1210
|
-
`cds.env.features.serve_on_root === true`
|
|
1211
|
-
|
|
1212
|
-
## Version 7.0.3 - 2023-07-19
|
|
1213
|
-
|
|
1214
|
-
### Fixed
|
|
1215
|
-
|
|
1216
|
-
- Compile for lean draft: do not add draft entity for external entities
|
|
1217
|
-
- Rollback awaited in REST adapter
|
|
1218
|
-
- `service.on('error')` handler invoked only once
|
|
1219
|
-
- `SELECT.one.localized`
|
|
1220
|
-
- `COPYFILE_DISABLE=1` is now set for building `tar` archives by default
|
|
1221
|
-
- Actions of projection target are no longer accessible in linked models
|
|
1222
|
-
- Batch executes model-less mass inputs when on `@sap/hana-client`
|
|
1223
|
-
- Requests to `/<path>/webapp` return 404 for absolute `@path` specifications
|
|
1224
|
-
- `cds compile --to serviceinfo` no longer returns paths w/ Windows `\` path characters
|
|
1225
|
-
|
|
1226
|
-
## Version 7.0.2 - 2023-07-06
|
|
1227
|
-
|
|
1228
|
-
### Fixed
|
|
1229
|
-
|
|
1230
|
-
- Glitch in `cds.deploy` if no change was applied
|
|
1231
|
-
- Detection of `.cdsrc-private.json` during startup
|
|
1232
|
-
- Respect capabilities annotation for draft events
|
|
1233
|
-
- `cds compile --to serviceinfo` returns correct service paths again
|
|
1234
|
-
|
|
1235
|
-
## Version 7.0.1 - 2023-07-03
|
|
1236
|
-
|
|
1237
|
-
### Fixed
|
|
1238
|
-
|
|
1239
|
-
- Feature toggle detection in single-tenant mode
|
|
1240
|
-
- Log output for OData $batch requests
|
|
1241
|
-
- Avoid "catastrophic backtracking" issue in Okra's (OData V4 server) tokenizer
|
|
1242
|
-
- Transaction marked as committed too early
|
|
1243
|
-
|
|
1244
|
-
## Version 7.0.0 - 2023-06-21
|
|
1245
|
-
|
|
1246
|
-
### Added
|
|
1247
|
-
|
|
1248
|
-
- Handling of expand with multiple `*` (e.g. `$expand=*,*`) in new parser. When using `*` in an `$expand`, the new OData
|
|
1249
|
-
parser now removes all unneeded `*`.
|
|
1250
|
-
- Tests run with `cds.test()` now also load `cds-plugins`
|
|
1251
|
-
|
|
1252
|
-
### Changed
|
|
1253
|
-
|
|
1254
|
-
- Result of `READ` events is now always an array. Previously, it could be `null/undefined` (now empty array), a single object (now array with one entry), or array.
|
|
1255
|
-
- OData: `PUT`/`PATCH` requests resulting in a new entity (i.e., the `UPSERT` effectively was an `INSERT`) return status code 201
|
|
1256
|
-
- Draft: Draft activate requests resulting in an `UPDATE` return status code 200
|
|
1257
|
-
- ETags are validated via `WHERE EXISTS` clause attached to query on `GET`, `PUT`/`PATCH`, and `DELETE`
|
|
1258
|
-
- OData: `PUT`/`PATCH` with `if-match` header prevents `UPSERT`, i.e., only an existing entity can be updated by such a request
|
|
1259
|
-
- Runtime support for `@sap/instance-manager` is removed in favor of the `cds-mtxs` Service Manager client.
|
|
1260
|
-
- In multitenant mode, the SAP HANA pool uses the `cds-mtxs` credentials cache
|
|
1261
|
-
- Draft handlers are registered for all entities.
|
|
1262
|
-
- Decimals in client input are validated in runtime's assert framework (previously OData adapter)
|
|
1263
|
-
- `cds build` and `cds deploy --to hana` have moved to `@sap/cds-dk`. Upgrade `@sap/cds-dk` to version 7 to continue using these commands.
|
|
1264
|
-
- Changed the behavior of `SELECT` queries for single entities to return `undefined` instead of `null` when no record is found.
|
|
1265
|
-
- Fiori preview has moved to the new `@sap/cds-fiori` module.
|
|
1266
|
-
- Numbers are now always used as placeholders in SQL, except for `SELECT 1 From...`, `LIMIT`, and the comparison of two numeric values (e.g., `1 eq 1`).
|
|
1267
|
-
- Only new major version 3 of SAP Cloud SDK is from now on supported. Please make sure to upgrade. Version 2 is not maintained anymore.
|
|
1268
|
-
- `@protocol` annotation can serve multiple protocols per service.
|
|
1269
|
-
- Per default, services are served with a protocol-specific prefix (for example, '/odata/v4' for a service using the OData V4 protocol). To also serve without this prefix, as was the case in older `@sap/cds` versions, the flag `cds.env.features.serve_on_root` can be set to `true`. Alternatively, the `@path` annotation can be used to explicitly specify an absolute path (with a leading `/`).
|
|
1270
|
-
- `cds.requires.middlewares` is enabled by default.
|
|
1271
|
-
- The order of CSV files that `cds deploy --to sqlite` uses now reflects the dependency order of cds models. This is needed if `UPSERT` is used to create a logically correct deployment.
|
|
1272
|
-
- `cds.fiori.lean_draft` is activated by default. You can still set it to `false` as a fallback.
|
|
1273
|
-
|
|
1274
|
-
### Fixed
|
|
1275
|
-
|
|
1276
|
-
- UUID typed key properties are no longer automatically filled during UPSERT
|
|
1277
|
-
- OData: When undefined in the payload, requests for actions with not nullable array-type parameters result in a client-side error
|
|
1278
|
-
- Missing `GROUP BY` in request with `$apply` in combination with aggregate on restricted entity
|
|
1279
|
-
- When `@sap/cds` was not installed underneath project root, cds-plugins were not found
|
|
1280
|
-
- Support for multiline texts in `properties` files
|
|
1281
|
-
- Error when reading auth-protected entities with infix filter in expand
|
|
1282
|
-
- Glitch in transaction handling in case of concurrent async before handlers
|
|
1283
|
-
|
|
1284
|
-
### Removed
|
|
1285
|
-
|
|
1286
|
-
- Deprecated `req.run()` function, use `cds.run()` instead.
|
|
1287
|
-
- Support for inofficial feature flag `cds.env.features.bigjs`
|
|
1288
|
-
- Support for inofficial feature flag `cds.features.parameterized_numbers`
|
|
1289
|
-
- Deprecated referential integrity checks at runtime
|
|
1290
|
-
- Support for `cds-mtx`
|
|
1291
|
-
- Support for Node 14
|
|
1292
|
-
- Internal `req.getUriInfo()` and `req.getUrlObject()`
|
|
1293
|
-
- `cds deploy --to hana` is now part of `@sap/cds-dk`.
|
|
1294
|
-
- Deprecated compat mode `cds.env.features.cds_tx_protection = false`
|
|
1295
|
-
- Beta `AuditLogService` and out-of-the-box audit logging. Use the plugin `@cap-js/audit-logging` instead.
|