@sap/cds 9.6.3 → 9.6.4

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 CHANGED
@@ -4,6 +4,13 @@
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.6.4 - 2026-01-20
8
+
9
+ ### Fixed
10
+
11
+ - `queue`: Too eager removal of control data from deserialized task
12
+ - Stop overriding existing `cds.requires.[service].credentials` configurations using values from `.cds-services.json`
13
+
7
14
  ## Version 9.6.3 - 2026-01-14
8
15
 
9
16
  ### Fixed
@@ -20,16 +20,21 @@ class Bindings {
20
20
  bind (service) {
21
21
  let required = cds.requires [service]
22
22
  let binding = this.provides [required?.service || service]
23
- if (binding?.endpoints) {
23
+
24
+ if (binding?.endpoints && !required.credentials) {
25
+ // > Re-route requests to the mock service running locally
26
+
24
27
  const server = this.servers [binding.server]
25
28
  const kind = [ required?.kind, 'hcql', 'rest', 'odata' ].find (k => k in binding.endpoints)
26
29
  const path = binding.endpoints [kind]
30
+
27
31
  // in case of cds.requires.Foo = { ... }
28
32
  if (typeof required === 'object') required.credentials = {
29
33
  ...required.credentials,
30
34
  ...binding.credentials,
31
35
  url: server.url + path
32
36
  }
37
+
33
38
  // in case of cds.requires.Foo = true
34
39
  else required = cds.requires[service] = cds.env.requires[service] = {
35
40
  ...cds.requires.kinds [binding.kind],
@@ -38,11 +43,13 @@ class Bindings {
38
43
  url: server.url + path
39
44
  }
40
45
  }
46
+
41
47
  required.kind = kind
42
48
  // REVISIT: temporary fix to inherit kind as well for mocked odata services
43
49
  // otherwise mocking with two services does not work for kind:odata-v2
44
50
  if (kind === 'odata-v2' || kind === 'odata-v4') required.kind = 'odata'
45
51
  }
52
+
46
53
  return required
47
54
  }
48
55
 
@@ -191,7 +191,8 @@ const _processTasks = (target, tenant, _opts = {}) => {
191
191
  const _msg = _safeJSONParse(_task.msg)
192
192
 
193
193
  const context = _msg.context || {}
194
- delete _msg.context
194
+ // REVISIT: controlled context propagation
195
+ // delete _msg.context
195
196
 
196
197
  const userId = _msg[INTERNAL_USER]
197
198
  delete _msg[INTERNAL_USER]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sap/cds",
3
- "version": "9.6.3",
3
+ "version": "9.6.4",
4
4
  "description": "SAP Cloud Application Programming Model - CDS for Node.js",
5
5
  "homepage": "https://cap.cloud.sap/",
6
6
  "keywords": [