Skip to content

Commit 10aeacf

Browse files
StefanHenkeagoerlerrjayasingherenejeglinsky
authored
Update property defaults and deprecate old properties (#2495)
Covers all changes for properties that we know of today. For all other properties under discussion, separate BLIs exist. --------- Co-authored-by: Adrian Görler <adrian.goerler@sap.com> Co-authored-by: Robin de Silva Jayasinghe <r.de.silva.jayasinghe@sap.com> Co-authored-by: René Jeglinsky <rene.jeglinsky@sap.com>
1 parent 8309cc0 commit 10aeacf

1 file changed

Lines changed: 41 additions & 17 deletions

File tree

java/migration.md

Lines changed: 41 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -72,47 +72,71 @@ CAP Java 5.0 increased some minimum required versions:
7272
| XSUAA (BTP Security Library) | 4.0.0 |
7373
| Maven | 3.9.14 |
7474

75-
<!-- ### Adjusted Property Defaults
75+
### Adjusted Property Defaults
76+
<div id="adjusted-defaults-4-to-5" />
7677

7778
Some property defaults have been adjusted:
7879

7980
| Property | Old Value | New Value | Explanation |
8081
| --- | --- | --- | --- |
81-
| `abc` | false | true | Any description. |
82+
| [cds.errors.preferServiceException](../developing-applications/properties#cds-errors-preferServiceException) | `false` | `true` | `ServiceException` is now preferred over generic exceptions when mapping errors to HTTP responses. |
83+
| [cacheRefreshInterval](../developing-applications/properties#cds-multiTenancy-serviceManager-cacheRefreshInterval) | `PT20M` (20 min) | `PT60M` (60 min) | The service manager cache is now refreshed less frequently to reduce overhead. |
84+
| [cds.outbox.services.&lt;key&gt;.ordered](../developing-applications/properties#cds-outbox-services-%3Ckey%3E-ordered) | `true` | `false` | Outbox instances now process entries in parallel by default. Set to `true` to restore ordered, single-threaded processing. |
85+
| [enforceTransactional](../developing-applications/properties#cds-persistence-changeSet-enforceTransactional) | `true` | `false` | Transactional enforcement for change sets is now opt-in. |
86+
| `cds.query.deepEntityReadonly` | `false` | `true` | Readonly handling is now enforced for deep entity reads by default. |
87+
| [cds.query.restrictions.enabled](../developing-applications/properties#cds-query-restrictions) | `false` | `true` | |
88+
| [cds.security.authentication.mode](../developing-applications/properties#cds-security-authentication) | `model-strict` | `model-relaxed` | Authentication mode now defaults to `model-relaxed`, which only enforces authentication for endpoints protected via `@requires` or `@restrict`. |
89+
| [cds.sql.hana.search.fuzzy](../developing-applications/properties#cds-sql-hana-search-fuzzy) | `false` | `true` | Fuzzy search is now enabled on HANA by default |
90+
| [cds.sql.toOnePath.mode](../developing-applications/properties#cds-sql-toOnePath-mode) | `always-join` | `optimize` | SQL generation now avoids joins for to-one path expressions when a FK column can be selected directly, improving query performance. |
91+
8292

8393
### Deprecated Properties
94+
<div id="deprecated-properties-4-to-5 " />
8495

8596
The following properties have been deprecated and might be removed in a future major version:
8697

87-
- `abd`
88-
89-
The functionality provided by these properties is enabled by default. This reflects its intended behavior once the properties are deleted in future releases.
98+
| Deprecated Property | Explanation |
99+
| --- | --- |
100+
| `cds.dashboard.*` | The entire `cds.dashboard` configuration namespace is deprecated and may be removed in a future major version. |
101+
| [cds.outbox.inMemory.emitDuringChangeSetContext](../developing-applications/properties#cds-outbox-inMemory-emitDuringChangeSetContext) | The functionality provided by this property is enabled by default and there is no reason to switch it off. |
102+
| [cds.outbox.inMemory.enabled](../developing-applications/properties#cds-outbox-inMemory-enabled) | The functionality provided by this property is enabled by default and there is no reason to switch it off. |
90103

91104
### Removed Properties
105+
<div id="removed-properties-4-to-5 " />
92106

93107
The following table gives an overview about the removed properties:
94108

95109
| Removed Property | Replacement / Explanation |
96110
| --- | --- |
97-
| `abc` | Any description about replacement | -->
111+
| `cds.errors.combined` | Was deprecated since CAP Java 4.0. The property had no effect anymore and has been removed. |
112+
| `cds.mcp.autoConfig` | Replaced by `cds.mcp.autoWired`. |
113+
| `cds.multiTenancy.serviceManager` `.acceptInstancesWithoutTenant` | Removed. No replacement — silent breaking change. |
114+
| `cds.multiTenancy.serviceManager` `.ignoreDuplicateTenantInstances` | Removed. No replacement — silent breaking change. |
115+
| `cds.odataV2.searchMode` | Removed. The runtime now behaves as if `pass-through` was set (the search string is passed through to the data store). The property has no effect anymore. Remove any configured value. |
116+
| `cds.odataV4.searchMode` | Removed. The runtime now behaves as if `pass-through` was set (the search string is passed through to the data store). The property has no effect anymore. Remove any configured value. |
117+
| `cds.sql.collate` | Removed. The property had no documented effect and was never exposed. Remove any configured value. |
118+
| `cds.sql.hana.optimizationMode` | Was deprecated since CAP Java 4.0. SAP HANA's HEX engine is used ever since. |
119+
| `cds.sql.search.mode`| Replaced by `cds.sql.search.localized` with value `view` to change the default. `generic` is not supported anymore. |
120+
| `cds.taskScheduler.enabled` | Replaced by `cds.outbox.persistent.scheduler.enabled`. |
98121

99122
### Removed Java APIs { #removed-java-apis-4-to-5 }
100123

101124
Removed deprecated methods:
102125

103126
| Removed method | Replacement / Explanation |
104127
|--------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------|
105-
| `c.s.c.feature.ucl.services.AssignEventContext.setUclResult(SpiiResult)` | `setResult(SpiiResult)` |
106-
| `c.s.c.feature.ucl.services.AssignEventContext.getUclResult()` | `getResult()` |
107-
| `c.s.c.services.mt.SaaSRegistryDependency.getAppId()` | `getXsappname()` |
108-
| `c.s.c.services.mt.SaaSRegistryDependency.setAppId(String appId)` | `setXsappname(appId)` |
109-
| `c.s.c.services.mt.SaaSRegistryDependency.getAppName()` | `getXsappname()` |
110-
| `c.s.c.services.mt.SaaSRegistryDependency.setAppName(String appName)` | `setXsappname(appName)` |
111-
| `c.s.c.services.ServiceExceptionUtils.getLocalizedMessage (String code, Object[] args, Locale locale)` | `getLocalizedMessage(code, args, locale, true)` (pass `true` for `errorStatusFallback` to keep the previous behavior) |
112-
| `c.s.c.services.ServiceExceptionUtils.getMessageTarget(Path path, CdsElement element)` | `MessageTarget.create(path, element)` |
113-
| `c.s.c.services.ServiceExceptionUtils.getMessageTarget(String target)` | `MessageTarget.create(target)` |
114-
| `c.s.c.services.ServiceExceptionUtils.getMessageTarget(String parameter, Class type, Function path)` | `MessageTarget.create(parameter, type, path)` |
115-
| `c.s.c.services.ServiceExceptionUtils.getMessageTarget(String parameter, Function path)` | `MessageTarget.create(parameter, path)` |
128+
| `c.s.c.feature.ucl.services.AssignEventContext` `.getUclResult()` | `getResult()` |
129+
| `c.s.c.feature.ucl.services.AssignEventContext` `.setUclResult(SpiiResult)` | `setResult(SpiiResult)` |
130+
| `c.s.c.reflect.CdsEntity.isAbstract()` | always `false` |
131+
| `c.s.c.services.mt.SaaSRegistryDependency` `.getAppId()` | `getXsappname()` |
132+
| `c.s.c.services.mt.SaaSRegistryDependency` `.setAppId(String appId)` | `setXsappname(appId)` |
133+
| `c.s.c.services.mt.SaaSRegistryDependency` `.getAppName()` | `getXsappname()` |
134+
| `c.s.c.services.mt.SaaSRegistryDependency` `.setAppName(String appName)` | `setXsappname(appName)` |
135+
| `c.s.c.services.ServiceExceptionUtils` `.getLocalizedMessage (String code, Object[] args, Locale locale)` | `getLocalizedMessage(code, args, locale, true)` (pass `true` for `errorStatusFallback` to keep the previous behavior) |
136+
| `c.s.c.services.ServiceExceptionUtils` `.getMessageTarget(Path path, CdsElement element)` | `MessageTarget.create(path, element)` |
137+
| `c.s.c.services.ServiceExceptionUtils` `.getMessageTarget(String target)` | `MessageTarget.create(target)` |
138+
| `c.s.c.services.ServiceExceptionUtils` `.getMessageTarget(String parameter, Class type, Function path)` | `MessageTarget.create(parameter, type, path)` |
139+
| `c.s.c.services.ServiceExceptionUtils` `.getMessageTarget(String parameter, Function path)` | `MessageTarget.create(parameter, path)` |
116140

117141
### Changes in the `cds-maven-plugin`
118142

0 commit comments

Comments
 (0)