Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
170 commits
Select commit Hold shift + click to select a range
21b9a29
fix: AMS documentation link in cap-users.md (#2367)
johannes-vogel Feb 10, 2026
2461b3f
tenant-specific deployment parameters (#2379)
ecklie Feb 11, 2026
5cf619b
fixed colors
danjoa Feb 11, 2026
d7645ec
added troubleshooting for 431 (#2373)
mariayord Feb 11, 2026
8917d9b
Hook for internal HANA TMS troubleshooting (#2377)
ecklie Feb 11, 2026
ced81f8
remove variants hint
renejeglinsky Feb 12, 2026
a1fb804
Merge branch 'main' of https://github.com/capire/docs
renejeglinsky Feb 12, 2026
b9dbd65
Tools/cds build: rework w/o toggling (#2391)
renejeglinsky Feb 12, 2026
5c38f2a
Fiori Guide: remove toggle (#2393)
renejeglinsky Feb 13, 2026
ff5cbd7
fix impl variants (#2371)
Akatuoro Feb 13, 2026
de58eb5
Use comma in CSV instead of semicolon in extensibility guide (#2387)
swaldmann Feb 13, 2026
92e9c15
Core concepts: fixed text (#2396)
martindecorte Feb 16, 2026
e0ba936
Update learn-more.md (#2385)
qmacro Feb 16, 2026
79bf0bc
Reintroduce interactive diagrams (#2388)
Akatuoro Feb 16, 2026
0ed9c7d
Fix formatting in bookshop.md for this.after (#2401)
Max-Meinel Feb 16, 2026
7aa637b
Simplify Outbound Authentication (#2400)
beckermarc Feb 17, 2026
8cfb8ed
Update links to examples in cds-test.md (#2405)
renejeglinsky Feb 17, 2026
1a75990
Fix typo in ReviewsService API reference (#2398)
narendran-nv Feb 17, 2026
99797a6
Fix yaml snippet
chgeo Feb 17, 2026
e0ee1b8
editing
renejeglinsky Feb 17, 2026
cc24303
MTXS hana deployment logs (#2390)
ecklie Feb 18, 2026
522ad21
Delete .nvmrc
chgeo Feb 18, 2026
ccd5590
Use latest Node version again
chgeo Feb 18, 2026
555f61e
chore: Update CLI texts (#2407)
github-actions[bot] Feb 18, 2026
3b38991
accessibility check
renejeglinsky Feb 19, 2026
7724d11
Merge branch 'main' of https://github.com/capire/docs
renejeglinsky Feb 19, 2026
8632f71
add protocol fragments (#2394)
SirSimon04 Feb 23, 2026
6e157b5
Fix link to bookstore/package.json in documentation (#2399)
narendran-nv Feb 23, 2026
2811926
[CDS/CXL] Edit CXL guide (#2363)
renejeglinsky Feb 24, 2026
269cf97
chore(deps): update dependency cspell to v9.7.0 (#2412)
renovate[bot] Feb 24, 2026
707a9e9
chore(deps): update dependency @mdit/plugin-dl to v0.23.0 (#2413)
renovate[bot] Feb 24, 2026
7324c8f
added redirect for db hana guide
renejeglinsky Feb 24, 2026
a7a1d1a
Live cql (#2403)
Akatuoro Feb 25, 2026
c4052e3
Added npm/mvn install to cloned repos
danjoa Feb 26, 2026
01a39f7
add redirects
renejeglinsky Feb 26, 2026
5dc479d
chore(deps): update shiki monorepo to v3.23.0 (#2414)
renovate[bot] Feb 26, 2026
75a6a6d
Less version changes from renovate, use variables
chgeo Feb 26, 2026
abd2372
chore(deps): update dependency com.sap.cloud.security.ams.client:cap-…
renovate[bot] Feb 26, 2026
7ae5a07
remove(lint): commented out section in tools/lint (#2418)
joergmann Feb 27, 2026
91cabdd
Adjust `cds version` output to current format
swaldmann Feb 27, 2026
1299005
fix deprecated version in hana limitation link (#2415)
kulliax Feb 27, 2026
7bcc9fe
feat(install): setup for Windows / Linux / WSL (#2392)
joergmann Mar 2, 2026
badc1cd
Fix typo in get-help.md (#2423)
qmacro Mar 2, 2026
01565ee
chore(deps): update eslint (#2397)
renovate[bot] Mar 2, 2026
94bd9f2
chore(deps): update dependency vite-plugin-cds to v0.1.10 (#2421)
renovate[bot] Mar 2, 2026
21c1042
chore(deps): update dependency markdownlint-cli to v0.48.0 (#2425)
renovate[bot] Mar 3, 2026
265e473
chore(deps): update dependency @mdit/plugin-dl to v0.23.1 (#2424)
renovate[bot] Mar 3, 2026
00597c0
Troubleshooting note on HANA root cert change (#2429)
chgeo Mar 3, 2026
86379b1
Removed external repository support (#2426)
rashmiangadi05 Mar 3, 2026
cc830a2
Fix toggles (#2428)
Akatuoro Mar 3, 2026
6af54cd
Remove feature parity hint in Postgres guide (#2430)
swaldmann Mar 3, 2026
2f0c20b
CAP Java: Migration Guide 4 to 5 (#2427)
StefanHenke Mar 3, 2026
aba4ed9
Enhance documentation on message persistence in drafts (#2416)
MattSchur Mar 3, 2026
affe284
chore: assign `public/` to technical code owners
chgeo Mar 4, 2026
2fac839
fix toggle animation (#2434)
Akatuoro Mar 4, 2026
4746a8d
chore(deps): update dependency com.sap.cds:cds4j-api to v4.8.0 (#2437)
renovate[bot] Mar 6, 2026
8ee5fd0
chore: Update CLI texts (#2432)
github-actions[bot] Mar 6, 2026
8f99e57
chore(deps): update dependency com.sap.cds:cds-services-api to v4.8.0…
renovate[bot] Mar 6, 2026
adbffd4
alesi documentation (#2352)
rjayasinghe Mar 9, 2026
eebca40
Add maven build profiles (#2411)
vl-leon Mar 9, 2026
5395e49
feat: Parallel Processing of Atomicity Groups in Node.js Apps (#2436)
sjvans Mar 9, 2026
2ff882d
add section for CAP Java OpenRewrite recipes (#2194)
rjayasinghe Mar 9, 2026
af7f5e0
show cqn when running cql queries (#2438)
Akatuoro Mar 10, 2026
96c0d04
chore(deps): update dependency @sap/cds to v9.8.1 (#2441)
renovate[bot] Mar 10, 2026
4401d4b
chore(deps): update eslint (#2440)
renovate[bot] Mar 10, 2026
5b06012
Alternate stable link
chgeo Mar 10, 2026
e1f941b
chore(deps): update dependency @cap-js/sqlite to v2.2.0 (#2442)
renovate[bot] Mar 10, 2026
c383e25
Document `cds up --overlay` (#2444)
swaldmann Mar 10, 2026
b714eda
Added documentation for hybrid testing with IAS (#2342)
mariayord Mar 11, 2026
4519600
chore(deps): update dependency @sap/cds to v9.8.2 (#2445)
renovate[bot] Mar 11, 2026
919ce34
chore(deps): update dependency sass to v1.98.0 (#2446)
renovate[bot] Mar 11, 2026
66b1245
chore: Update Java Properties (#2447)
github-actions[bot] Mar 11, 2026
f5b4a44
chore: Update CLI texts (#2448)
github-actions[bot] Mar 11, 2026
1e67bfa
Fuzzy Search: remove beta badge (#2402)
renejeglinsky Mar 11, 2026
0b683bc
fix menu title of Core Eventing in CAP (#2408)
sjvans Mar 12, 2026
b036a48
Stress that evens can be recurring
chgeo Mar 12, 2026
35ed485
Merge branch 'cap.cloud.sap' into main
renejeglinsky Mar 16, 2026
eef8d5d
Bump dependencies, ESLint 10
chgeo Mar 16, 2026
5279cb3
Add missing `globals` package`
chgeo Mar 16, 2026
e387188
Fix eslint findings
chgeo Mar 16, 2026
c749d3d
Go back to cds 9.7 for now
chgeo Mar 16, 2026
d37cc80
Bump version to 2026.2.1
chgeo Mar 16, 2026
d9b7418
Bump version to 2026.2.2
renejeglinsky Mar 17, 2026
77b11fb
Simplified get-started setup + cosmetics
chgeo Mar 17, 2026
3ad547d
fixed links
danjoa Mar 18, 2026
4942e5c
Fix small typos (#2464)
vmikhailenko Mar 19, 2026
182eb88
Troubleshoot entry for data file change on HANA
chgeo Mar 19, 2026
d26e033
document post-active switch and behavior (#2450)
rjayasinghe Mar 23, 2026
0d3e33f
Added information regarding de-/serialization of custom data types (#…
t-bonk Mar 23, 2026
a6e1c31
chore: cds 9.8 (#2467)
chgeo Mar 23, 2026
8db66c9
Update migration for Spring Boot 4 (#2455)
StefanHenke Mar 24, 2026
46ef4a0
chore: go back to cds 9.7, issues w/ local dev
chgeo Mar 24, 2026
44fc12a
add tip regarding liquibase license change (#2449)
rjayasinghe Mar 24, 2026
6015c0d
Update Spring Boot 4 migration guide (#2470)
StefanHenke Mar 24, 2026
2a6c3d4
Update Service Layer Testing examples (#2458)
samyuktaprabhu Mar 26, 2026
b7c2978
fix: `cds.model = cds.compile.for.nodejs(csn)` (#2473)
sjvans Mar 30, 2026
7b3188a
fix: add --recurse-submodules flag to git clone command in feature-to…
Naguco Mar 30, 2026
e4f56ef
Change URL to CXL series (#2475)
qmacro Mar 31, 2026
f68f376
Update multitenancy configuration for CAP Java projects (#2476)
renejeglinsky Mar 31, 2026
40fa6a4
fixed test-run locally sections in integration guides
danjoa Mar 31, 2026
cd03029
polishing
danjoa Mar 31, 2026
7235cbe
Split replays and episode notes for CXL series (#2484)
qmacro Apr 1, 2026
335ec61
chore(deps): update dependency @typescript-eslint/parser to v8.58.0 (…
renovate[bot] Apr 2, 2026
afef6d4
chore(deps): update dependency @mdit/plugin-dl to v0.23.2 (#2477)
renovate[bot] Apr 2, 2026
c85e37c
chore(deps): update dependency adm-zip to v0.5.17 (#2483)
renovate[bot] Apr 2, 2026
5bbd170
chore: Update CLI texts (#2463)
github-actions[bot] Apr 2, 2026
b307bef
fix odata redirect
renejeglinsky Apr 7, 2026
059190a
document skip locked (#2466)
dahajnal Apr 7, 2026
66b4518
Document tenant-specific IAS host injection in RequestContext (#2474)
StefanHenke Apr 14, 2026
787b690
Update dependency sass to v1.99.0 (#2485)
renovate[bot] Apr 14, 2026
af8c272
Update dependency cspell to v9.8.0 (#2486)
renovate[bot] Apr 14, 2026
6e94358
chore: Update CLI texts (#2490)
github-actions[bot] Apr 14, 2026
6453a47
Update dependency @typescript-eslint/parser to v8.58.2 (#2492)
renovate[bot] Apr 14, 2026
135dfed
fix: add missing command flag to reference command (#2498)
PDT42 Apr 14, 2026
f47c1d5
Fix Multitenancy link in Postgres.md (#2497)
mperumalswamy Apr 14, 2026
86db564
[java] Add tips and tricks section (#2369)
vmikhailenko Apr 14, 2026
a343bfc
[java] building applications - small typos (#2494)
vl-leon Apr 14, 2026
16502c8
add `@cap-js/process` (#2472)
SirSimon04 Apr 14, 2026
d52f45c
update cds (#2502)
Akatuoro Apr 14, 2026
c79aa94
minor fixes
danjoa Apr 15, 2026
f595006
chore: Update CLI texts (#2503)
github-actions[bot] Apr 15, 2026
eeace0b
Eliminate link warnings in VS Code
danjoa Apr 15, 2026
7a2738e
fix broken links
smahati Apr 15, 2026
3d92814
Revert "fix broken links" ... and fix it trw
danjoa Apr 15, 2026
398d27c
Allow `cdl` as alias for `cds` language
chgeo Apr 15, 2026
e55e719
feat: direct CRUD in both stacks (#2406)
sjvans Apr 15, 2026
b734e36
Fixing outdated dependencies (#2504)
danjoa Apr 16, 2026
a5ba780
Update dependency com.sap.cds:cds-services-api to v4.8.1 (#2509)
renovate[bot] Apr 16, 2026
8e25ae6
Improved <Config>
danjoa Apr 17, 2026
1ed1f55
Allow code fences to be not expanded
chgeo Apr 17, 2026
c475917
Bump version to 2026.4.0
chgeo Apr 20, 2026
997995d
Remove hierarchical tree view image asset
danjoa Apr 20, 2026
034cebe
Deferred need to add Cloud SDK
danjoa Apr 20, 2026
2e7dc64
Apr 26 release
danjoa Apr 20, 2026
78789ff
Added info notes on Vector type
danjoa Apr 20, 2026
0e689f6
polished
danjoa Apr 20, 2026
37f041d
VSCode-checkable link anchor
danjoa Apr 20, 2026
dd51b60
Link to `Node.js > Upgrading @sap/cds` (#2512)
sjvans Apr 20, 2026
431a61b
Minor CDL update to clarify @inner position (#2505)
qmacro Apr 21, 2026
9b3d9f3
Add required @ prefix to common annotation alternatives (#2506)
qmacro Apr 21, 2026
391b7bf
Fix (?) CXL constraint for no-description in constraints.md (#2515)
qmacro Apr 21, 2026
33f4e26
Also add rene as code owner
chgeo Apr 21, 2026
f016c41
Deprecations and removals in CAP Java 5 (#2479)
StefanHenke Apr 21, 2026
c4a88c2
Avoid multi-exposing Elements in views (#2478)
MattSchur Apr 21, 2026
b0a161d
java-composite-messaging-event-patterns (#2520)
t-bonk Apr 21, 2026
b80c99e
Fix positioning of row anchor
chgeo Apr 21, 2026
013565b
Java props: full type on hover. Split List values
chgeo Apr 21, 2026
d719f58
.
danjoa Apr 22, 2026
f11fe1b
feat: guide for Vue.js/React setup (#2459)
swaldmann Apr 22, 2026
ac95e0c
fix styles (#2521)
Akatuoro Apr 22, 2026
be6fc3d
Update dependency com.sap.cds:cds4j-api to v4.9.0 (#2525)
renovate[bot] Apr 22, 2026
6e2e68e
Updates cds.test docs for version 1.0
danjoa Apr 22, 2026
5532358
Fixed link
danjoa Apr 22, 2026
343cf43
cds-test: mention new defaults more
chgeo Apr 23, 2026
a279ebb
Fix link
chgeo Apr 23, 2026
de0e0fb
HANA TMS v2 public (#2529)
chgeo Apr 23, 2026
68e2f4a
Improved cds.test docs once more
danjoa Apr 23, 2026
56b7a96
Remove sections for cds property changes in 4.9 (#2531)
StefanHenke Apr 23, 2026
8a4926b
Fix documenyation about maintaining cds-dk in CAP Java applications (…
mofterdinger Apr 23, 2026
1213f9c
Update dependency @typescript-eslint/parser to v8.59.0 (#2517)
renovate[bot] Apr 23, 2026
2b7121a
better quality image for IAS config
swaldmann Apr 23, 2026
96c10a7
Merge remote-tracking branch 'origin/main'
chgeo Apr 23, 2026
e3ba609
docs(java): update fiori-drafts table for draftNew / post-active sema…
rjayasinghe Apr 23, 2026
958bb80
Java: cds-maven-plugin migration guide 4 -> 5 (#2522)
mofterdinger Apr 23, 2026
9c65225
Update dependency com.sap.cds:cds-services-api to v4.9.0 (#2535)
renovate[bot] Apr 23, 2026
89a6536
Merge remote-tracking branch 'origin/main'
chgeo Apr 23, 2026
3d81cf1
Fixed docs about cds.entities, srv.entitites etc.
danjoa Apr 23, 2026
5635c34
Improved docs on srv.entities, part 2
danjoa Apr 24, 2026
6ff880c
Merge remote-tracking branch 'origin/main'
chgeo Apr 24, 2026
94c6ba8
Restore anchor
chgeo Apr 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
# This files defines code ownership.
# We start with defining ownership globally and later on can get more granular.

# General content
* @renejeglinsky
node.js/ @smahati
java/ @smahati

node.js/ @smahati @renejeglinsky
java/ @smahati @renejeglinsky

# Infra
.github/ @chgeo @swaldmann
Expand Down
4 changes: 2 additions & 2 deletions .vitepress/config.js
Original file line number Diff line number Diff line change
Expand Up @@ -124,8 +124,8 @@ const siteURL = new URL(process.env.SITE_HOSTNAME || 'http://localhost:4173/docs
if (!siteURL.pathname.endsWith('/')) siteURL.pathname += '/'
config.themeConfig.capire = {
versions: {
java_services: '4.8.0',
java_cds4j: '4.8.0',
java_services: '4.9.0',
java_cds4j: '4.9.0',
cloud_sec_ams: '3.8.0'
},
gotoLinks: [],
Expand Down
2 changes: 1 addition & 1 deletion .vitepress/languages/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import scsv from './scsv.tmLanguage.json' with {type:'json'}

import type { LanguageInput } from 'shiki'
export default [
{ ...cds, aliases:['cds','dcl', 'cql'] },
{ ...cds, aliases:['cds','cdl','dcl','cql'] },
{ ...csv, aliases:['csv','csvc'] },
{ ...scsv, aliases:['csvs'] },
{ ...log, aliases:['log','logs'] },
Expand Down
58 changes: 25 additions & 33 deletions .vitepress/theme/components/ConfigInspect.vue
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
>
<!-- :hideTriggers="[]" :shown="true" -->

<a class="cfg vp-doc"><code class="cfg">{{ label }}</code></a>
<a class="cfg vp-doc"><span class="cfg">{{ label }}</span></a>

<template #popper>
<div class="vp-code-group vp-doc" v-if="java">
Expand All @@ -16,32 +16,34 @@
<div class="vp-code-group vp-doc" v-else>
<CodeGroup :groups="[
{ id: 'pkg-rc', label: 'package.json', lang: 'json', group, code: pkgStr },
{ id: 'pkg-priv', label: '~/.cdsrc.json', lang: 'json', group, code: rcJsonStr, private: true },
{ id: 'pkg', label: '.cdsrc.json', lang: 'json', group, code: rcJsonStr },
// { id: 'pkg-priv', label: '~/.cdsrc.json', lang: 'json', group, code: rcJsonStr, private: true },
// { id: 'pkg', label: '.cdsrc.json', lang: 'json', group, code: rcJsonStr },
{ id: 'js', label: '.cdsrc.js', lang: 'js', group, code: rcJsStr },
{ id: 'yml', label: '.cdsrc.yaml', lang: 'yml', group, code: rcYmlStr },
{ id: 'env', label: '.env file', lang: 'properties', group, code: propStr },
{ id: 'shl', label: 'Linux/macOS Shells', lang: 'sh', group, code: 'export '+envStr, transient: true },
{ id: 'shp', label: 'Powershell', lang: 'powershell', group, code: '$Env:'+envStr, transient: true },
{ id: 'shw', label: 'Cmd Shell', lang: 'cmd', group, code: 'set '+envStr, transient: true }
// { id: 'shl', label: 'Linux/macOS Shells', lang: 'sh', group, code: 'export '+envStr, transient: true },
// { id: 'shp', label: 'Powershell', lang: 'powershell', group, code: '$Env:'+envStr, transient: true },
// { id: 'shw', label: 'Cmd Shell', lang: 'cmd', group, code: 'set '+envStr, transient: true }
]" />
</div>
</template>
</VDropdown>
<code class="cfg" v-else>{{ label }}</code> <!-- intermediate fallback -->
<span class="cfg" v-else>{{ label }}</span> <!-- intermediate fallback -->
</template>

<script setup lang="ts">
import { defineComponent, h, onMounted, ref, useSlots } from 'vue'
import FloatingVue from 'floating-vue'
import yaml from 'yaml'

const { java, keyOnly, filesOnly, showPrivate, label:labelProp, keyDelim } = defineProps<{
const { value, java, keyOnly, filesOnly, showPrivate, section, label:labelProp, keyDelim } = defineProps<{
java?: boolean,
keyOnly?: boolean,
filesOnly?: boolean,
showPrivate?: boolean,
section?: string,
label?: string,
value?: string,
keyDelim?: string
}>()

Expand Down Expand Up @@ -84,8 +86,8 @@
const slots = useSlots()
const slotVal = slots.default?.().at(0)?.children?.toString().trim() ?? 'error: provide <Config>your_key:value</Config>'

const [key, val] = slotVal.split(/\s*[:=]\s*(.*)/) // split on first `:` or `=`
const label = labelProp || `${keyOnly ? key: slotVal}`
const [key, val = value] = slotVal.split(/\s*[:=]\s*(.*)/) // split on first `:` or `=`
const label = labelProp || ( keyOnly ? key : slotVal )
const keyDel = keyDelim ?? '.'

const cfgKey = ref()
Expand All @@ -102,28 +104,26 @@

onMounted(() => {
popperVisible.value = true
const fqn = (section ? section + keyDel : '') + key
cfgKey.value = fqn
let value:any = !val ? '...'
: val === 'true' ? true
: val === 'false' ? false
: val === 'null' ? null
: Number(val) || val

cfgKey.value = key
let value:any = val
if (val === 'true') value = true
else if (val === 'false') value = false
else if (val === 'null') value = null
else if (parseInt(val).toString() === val) value = parseInt(val)
else if (parseFloat(val).toString() === val) value = parseFloat(val)
else if (!val) value = '…'

group.value = 'group-'+key
group.value = 'group-'+fqn

let jsonVal
if (typeof value === 'string' && value.trim().match(/^[[{].*[\]}]$/)) { try { jsonVal = JSON.parse(value) } catch {/*ignore*/ } }
const pkg = toJson(key, jsonVal ?? value, keyDel)
const pkg = toJson(fqn, jsonVal ?? value, keyDel)

pkgStr.value = JSON.stringify(pkg, null, 2)
rcJsonStr.value = JSON.stringify(pkg.cds??{}, null, 2)
rcJsStr.value = 'module.exports = ' + rcJsonStr.value.replace(/"(\w*?)":/g, '$1:')
rcYmlStr.value = yaml.stringify(pkg.cds)

let envKey = key.replaceAll('_', '__').replaceAll(keyDel, '_')
let envKey = fqn.replaceAll('_', '__').replaceAll(keyDel, '_')
if (/^[a-z_]+$/.test(envKey)) envKey = envKey.toUpperCase() // only uppercase if not camelCase
envStr.value = `${envKey}=${jsonVal ? JSON.stringify(jsonVal) : value}`
propStr.value = `${envKey}=${jsonVal ? JSON.stringify(jsonVal) : value}`
Expand All @@ -148,23 +148,15 @@ function toJson(key:string, value:string, delim:string): Record<string, any> {
.v-popper--theme-cfgPopper .v-popper__inner {
background-color: var(--vp-code-block-bg) !important;
}
code.cfg::after {
content: " ⛭";
}
</style>

<style scoped>
.v-popper {
display: inline;
}
a.cfg {
color: var(--vp-c-text-1);
text-decoration:none;
}
a.cfg:hover {
text-decoration:none;
}
a.cfg:active {
text-decoration:none;
color: var(--vp-c-brand-1);
font-style: italic;
text-decoration: underline dashed 0.5px;
}
</style>
2 changes: 1 addition & 1 deletion .vitepress/theme/components/cds-playground/LiveCode.vue
Original file line number Diff line number Diff line change
Expand Up @@ -219,7 +219,7 @@ onMounted(() => { metaKey.value = /(Mac|iPhone|iPad)/i.test(navigator?.userAgent

.editor-row .editor {
flex: 1;
min-width: 0;
min-width: 0 !important;
}

.editor {
Expand Down
19 changes: 10 additions & 9 deletions .vitepress/theme/styles.scss
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ html {
--vp-c-brand-soft: rgba(16, 179, 185, 0.16);

&.dark {
--vp-c-text-1: #eed;
--vp-c-brand-1: var(--vp-c-yellow-2);
--vp-c-brand-2: var(--vp-c-yellow-2);
--vp-c-brand-3: var(--vp-c-yellow-3);
Expand Down Expand Up @@ -388,7 +389,7 @@ img, video.bright {
}
}

// reposition indicators to keep within padding
// reposition indicators to keep within padding
.item > .indicator { left: -14px; }
// also enable indicators for level-1 items
&.level-1.is-active > .item > .indicator {
Expand Down Expand Up @@ -434,22 +435,22 @@ footer {

/* expand width on big screens */
@media screen and (min-width: 1600px) {
div[class*='language-']:hover,
div[class*='language-']:focus,
pre.log:hover,
pre.log:focus {
:not(.no-wide) > div[class*='language-']:hover,
:not(.no-wide) > div[class*='language-']:focus,
:not(.no-wide) > pre.log:hover,
:not(.no-wide) > pre.log:focus {
min-width: fit-content;
padding-right: 40px;
z-index: 1; position: relative; // draw over outline
}
table:hover,
table:focus {
:not(.no-wide) > table:hover,
:not(.no-wide) > table:focus {
min-width: fit-content;
}
tr {
:not(.no-wide) > tr {
z-index: 1; position: relative; // draw wide rows over outline
}
[class*='language-'] pre {
:not(.no-wide) > [class*='language-'] pre {
overflow: hidden !important;
}
// expand navbar to cover wide content (see java/development/properties)
Expand Down
Binary file removed advanced/assets/hierarchical-tree-view.png
Binary file not shown.
8 changes: 4 additions & 4 deletions cds/annotations.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,10 @@ uacp: Used as link target from Help Portal at https://help.sap.com/products/BTP/

## General Purpose

| Annotation | Description | Alternatives |
|----------------|-------------|--------------------|
| `@title` | | `Common.Label` |
| `@description` | | `Core.Description` |
| Annotation | Description | Alternatives |
|----------------|-------------|---------------------|
| `@title` | | `@Common.Label` |
| `@description` | | `@Core.Description` |


## Access Control
Expand Down
4 changes: 2 additions & 2 deletions cds/cdl.md
Original file line number Diff line number Diff line change
Expand Up @@ -283,7 +283,7 @@ CDL supports line-end, block comments, and *doc* comments as in Java and JavaScr
/** doc comment */
```

#### Doc Comments {#doc-comment}
#### Doc Comments

A multi-line comment of the form `/** … */` at an [annotation position](#annotation-targets) is considered a *doc comment*:

Expand Down Expand Up @@ -1236,7 +1236,7 @@ entity Foo @(
entity Foo { /* elements */ }
```

For an `@inner` annotation, only the syntax `@(...)` is available.
For annotations at the `@inner` position, only the syntax `@(...)` is available.


#### Using `annotate` Directives
Expand Down
2 changes: 1 addition & 1 deletion cds/compiler/hdbcds-to-hdbtable.md
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ In contrast to the `hdbtable` plugin, the `hdbcds` plugin is able to handle remo

## Multiline Doc Comments

This is only relevant if you have switched on [Doc Comments](../../cds/cdl#doc-comment)
This is only relevant if you have switched on [Doc Comments](../../cds/cdl#doc-comments)
and if you have enabled translation of doc comments to the `COMMENT` feature in the database.

Doc comments can span across multiple lines:
Expand Down
6 changes: 5 additions & 1 deletion cds/types.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ ANSI SQL types, when deployed to a relational database (concrete mappings to spe
| `Timestamp` | _µs_ precision, with up to 7 fractional digits | _TIMESTAMP_ |
| `String` (`length`) | Default *length*: 255; on HANA: 5000 | _NVARCHAR_ |
| `Binary` (`length`) | Default *length*: 255; on HANA: 5000 | _VARBINARY_ |
| `Vector` (`length`) | SAP HANA Cloud QRC 1/2024, or later only | _REAL_VECTOR_ |
| `Vector` (`length`) | for Vector Embeddings [-> see notes below](#vector-embeddings) | ( _DB-specific_ ) |
| `LargeBinary` | Unlimited binary data, usually streamed at runtime | _BLOB_ |
| `LargeString` | Unlimited textual data, usually streamed at runtime | _NCLOB_ |
| `Map` | Mapped to *NCLOB* for HANA. | *JSON* type |
Expand All @@ -40,6 +40,10 @@ ANSI SQL types, when deployed to a relational database (concrete mappings to spe
> <Config> cds.cdsc.defaultStringLength = 255 </Config> and <br/>
> <Config> cds.cdsc.defaultBinaryLength = 255 </Config>.

###### Vector Embeddings
> [!info] Vector Embeddings
> The `Vector` type is used for vector embeddings, which are a way to represent data (like text, images, etc.) as high-dimensional vectors. Requires SAP HANA Cloud QRC 1/2024, or later, [`@sap/cds` v9.9+](/releases/2026/apr26), and [CAP Java v4.9+](/releases/2026/apr26) to use with H2 or SQLite.

> [!tip] Use Attachments instead of LargeBinary
> Consider using _Attachments_, as provided through [the CAP Attachments plugins](../plugins/index#attachments), instead of `LargeBinary` types for user-generated content like documents, images, etc.

Expand Down
8 changes: 1 addition & 7 deletions eslint.config.mjs
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import cds from '@sap/cds/eslint.config.mjs'
import vue from 'eslint-plugin-vue'
import globals from 'globals'

export default [
Expand All @@ -11,20 +10,15 @@ export default [
],
},
...cds.recommended,
...vue.configs['flat/essential'],
{
files: ['*.vue', '**/*.vue', '**/*.js'],
files: ['**/*.js'],
languageOptions: {
parserOptions: {
parser: '@typescript-eslint/parser'
},
globals: {
...globals.browser
}
},
rules: {
'vue/multi-word-component-names': 0,
'vue/no-v-text-v-html-on-component': 0
}
}
]
38 changes: 37 additions & 1 deletion get-started/get-help.md
Original file line number Diff line number Diff line change
Expand Up @@ -529,6 +529,35 @@ This error occurs if all of the following applies:
| _Root Cause_ | The name/prefix of the native SAP HANA object collides with a name/prefix in the CAP CDS model. |
| _Solution_ | Change the name of the native SAP HANA object so that it doesn't start with the name given in the error message and doesn't start with any other prefix that occurs in the CAP CDS model. If you can't change the name of the SAP HANA object, because it already exists, define a synonym for the object. The name of the synonym must follow the naming rule to avoid collisions (root cause). |

#### Deployment fails — _The include_filter definitions ... use key values that are not disjunct_

| | Explanation |
|--------------|----------------------------|
| _Root Cause_ | You have changed from data files like `xxx_texts.csv` to `xxx_texts_de.csv`. |
| _Solution_ | Add entries in `undeploy.json`. |


If you've already deployed your application using translation files _without_ language key like `xxx_texts.csv` and now want to use language-specific translation files like `xxx_texts_de.csv`, you have to **undeploy the existing translation files**.

Add the corresponding file entries, for example
```json
[
...
"src/gen/data/xxx_texts.hdbtabledata",
"src/gen/data/xxx_texts.csv"
]
```
to your _undeploy.json_.

Otherwise, you will get a deployment error similar to this one:

```
The include_filter definitions in the table import files .../xxx_texts.hdbtabledata
and .../xxx_texts_de.hdbtabledata use key values that are not disjunct;
.../xxx_texts.hdbtabledata defines no include_filters which prohibits other imports
from importing into the same table.
```


### Why is removed sample _.csv_ deployed and overwriting existing data? { #hana-csv}

Expand Down Expand Up @@ -660,7 +689,14 @@ See [How to configure your App Router](../guides/extensibility/customization#app

[Find the documentation on `cds login`](../guides/extensibility/customization#cds-login){.learn-more}

<div id="hana-tms-errors" />
### Why does my subscription fail with "Subaccount verification failed"

When using HANA TMS v2, the message "Subaccount verification failed" indicates that you are trying to create a tenant container for a HANA tenant that was created in a different subaccount.

Most probably, you are using the same `hana_tenant_prefix` and `tenant_id` as another application that has been deployed in another subaccount.

See how to [handle HANA tenants with HANA TMS v2](/@external/guides/multitenancy/index.md#handle-sap-hana-tenants) to avoid this situation.


## BTP

Expand Down
Loading
Loading